Команда kustomize configmap: что она делает? - PullRequest
0 голосов
/ 05 июля 2019

Я новичок в kubernetes и следую некоторым учебникам здесь и там. Я изо всех сил пытаюсь понять различные компоненты и инструменты, и один из них - это настройка. Я видел разные примеры пользовательских настроек и не понимаю ни одного из них (даже после поиска в сети). Можете ли вы объяснить мне функцию следующей kustomize команды:

kustomize edit add configmap mnist-map-training --from-literal=trainSteps=200

1 Ответ

2 голосов
/ 05 июля 2019

Kubernetes - это инструмент, который в основном управляет докерными контейнерами.Мы создаем развертывания, сервисы, входы, используя yaml, и они формируют компоненты кластера.Однако предположим, что команда разработала файлы yaml конфигурации кластера kubernetes для среды разработки.Например, среда интеграции, файлы yaml немного отличаются.Это отличается, даже больше для производственной среды.Итак, очевидное и простое решение - сохранить три копии файлов yaml.Но это может не сработать в долгосрочной перспективе.Изменение, примененное к одной среде, может потребоваться применить к другим средам.Пропуск изменений может вызвать проблемы.

Kustomize - это инструмент для решения этой проблемы.Вы создаете базовую копию (согласно нашему примеру, давайте предположим, что это среда разработки) конфигурационных файлов kubernetes yaml вместе с файлом kustomization.Файл настройки в целом описывает ресурсы (файлы yaml), файлы конфигурации, секреты для создания.Затем diff для создания конфигурации кластера kubernetes в интегрированных и производственных средах создается как overlays .Вы можете использовать эту ссылку для полной справки, хотя это не последняя версия, это может помочь.Кроме того, в github также есть документация.

Теперь относительно этой команды

kustomize edit add configmap mnist-map-training --from-literal=trainSteps=200

Эта команда редактирует файл kustomize в текущем каталоге, чтобы создатьфрагмент кода:

configMapGenerator:
- name: mnist-map-training
  literals:
  - trainSteps=200

Когда команда kustomize build запущена, это создает конфигурационный файл yaml следующим образом:

apiVersion: v1
kind: ConfigMap
metadata:
  name: mnist-map-training
data:
  trainSteps: "200"
...