Рейтинг:1

Как связать configmap с внешним файлом?

флаг ke

При этом мы можем создать карту конфигурации, связанную с внешним файлом.

kubectl создать configmap база данных-config --from-file=database.properties

Но когда мы отредактируем yaml, он покажет, что туда сбрасывается все содержимое файла.

Можно ли в любом случае просто указать файл в yaml, чтобы я сохранял файл свойств в той же папке, что и yaml configmap, и добавлял в папку все yaml с помощью:

kubectl применить -f целевая_папка\

Пожалуйста, предложите.

Рейтинг:0
флаг in

Какие карта конфигурации является

ConfigMap — это объект API, используемый для хранения неконфиденциальных данных в пары ключ-значение.Поды могут использовать ConfigMap как переменные среды, аргументы командной строки или как файлы конфигурации в томе.

ConfigMap позволяет отделить конфигурацию, зависящую от среды. из ваших образов контейнеров, так что ваши приложения легко портативный.

Другими словами, когда карта конфигурации создается из внешнего файла (например, в вашем случае) или из других значений, сервер API проверит, все ли правильно, а затем сохранит его в и т. д.. Это также объясняет причины, по которым, когда вы редактировать твой карта конфигурации вы видите весь его контекст. Это происходит потому, что карта конфигурации читается из и т. д., а не любые внешние источники.

Это также одна из причин, по которой не рекомендуется хранить большие файлы сохранения в виде карт конфигурации или секретов — это повлияет на производительность кластера kubernetes, поскольку все объекты кластера хранятся внутри и т. д..

настроить

Это один из способов выполнить ваше требование по запуску одной команды при создании/настройке карта конфигурации на основе файла в том же каталоге. Это автономный инструмент для настройки объектов Kubernetes с помощью файла настройки.

Я создал короткий и простой пример, чтобы показать идею:

$ дерево
.
âââ application.properties
âââ настройка.yaml
0 каталогов, 2 файла

$ кошка настройка.yaml 
генераторОпции:
  disableNameSuffixHash: true # этот флаг используется, чтобы избежать создания новой карты конфигурации, вместо этого он будет изменен при изменении контекста файла
configMapGenerator:
- имя: приложение-конфигурация
  файлы:
  - приложение.свойства

$ cat application.properties 
listen.url = локальный: 9010
client.url=some_url:3000

Проверьте это, эта команда только визуализировать configmap, он еще не создаст его:

$ kubectl настроить application.settings/
апиВерсия: v1
данные:
  приложение.свойства: |
    listen.url = локальный: 9010
    client.url=some_url:3000
вид: карта конфигурации
метаданные:
  имя: приложение-конфигурация

Заключительный шаг - применять Это:

$ kubectl применить -k application.settings/
configmap/application-config создан

$ kubectl получить см
ИМЯ ДАННЫЕ ВОЗРАСТ
приложение-конфигурация 1 23 с

Краткое пояснение к команде выше:

Чтобы применить эти ресурсы, запустите kubectl apply с --kustomize или -k. флаг.

Wytrzymały Wiktor avatar
флаг it
Привет @uday. Это [ответит на ваш вопрос] (https://stackoverflow.com/help/someone-answers)?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.