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"