Команда kustomize configmap: что она делает?

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

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

1 ответ

Решение

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

Kustomize - это инструмент для решения этой проблемы. Вы создаете базовую копию (как в нашем примере, давайте предположим, что это среда разработки) конфигурационных файлов kubernetes yaml вместе с файлом kustomization. Файл настройки в целом описывает ресурсы (файлы yaml), файлы конфигурации, секреты для создания. Затем diff для создания конфигурации кластера kubernetes в интеграционных и производственных средах создается как оверлеи. Вы можете использовать эту ссылку для полной справки, хотя она не самая последняя, ​​это может помочь. Кроме того, в 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"
Другие вопросы по тегам