Передача объекта списка в раздел данных ConfigMap

#kubernetes #yaml #kubernetes-helm

#kubernetes #yaml #kubernetes-рулевой

Вопрос:

Я хочу передать объект списка в раздел данных ConfigMap в файле приложения YAML.

У меня есть следующий список в файле свойств:

 abc.management.provider[0].url=https://example.com
 abc.management.provider[0].username=John
 abc.management.provider[1].url=https://example2.com
 abc.management.provider[1].username=Targerian
  

Файл YAML:

 data:
    abc_management:
      provider:
        - url: "https://example.com"
          username: "John"
        - url: "https://example2.com"
          username: "Targerian"
  

Я получаю эту ошибку: ConfigMap в версии «v1″ не может быть обработан как ConfigMap: v1.ConfigMap: Data: ReadString: expects » или n,.

что мне делать?

Ответ №1:

что мне делать?

В основном это зависит от того, как ваше приложение считывает конфигурацию.

Если это работает для вас, вы можете создать ConfigMap непосредственно с помощью файла свойств:

 kubectl create configmap app-config --from-file=app.properties
  

Ответ №2:

Я думаю, что этот вопрос указывает на то, какова природа объекта ConfigMap. Под капотом кажется, что ConfigMap s явно не обрабатывают списки, поэтому, в конце концов, это зависит только от того, как вы читаете это содержимое.

Поле данных предназначено для хранения последовательностей байтов UTF-8…

Каждый ключ в поле data или binaryData должен состоять из буквенно-цифровых символов, -, _ или .. Ключи, хранящиеся в data, не должны перекрываться с ключами в поле binaryData.

https://kubernetes.io/docs/concepts/configuration/configmap/#configmap-object