Нужна консультация по схемам управления и развертываниям на основе манифестов

#kubernetes #build #manifest #kubernetes-helm #kustomize

#kubernetes #сборка #манифест #kubernetes-helm #настройка

Вопрос:

В моей текущей работе мы запускаем несколько кластеров k8s и разрешаем нескольким командам запускать службы в кластере.

Каждый репозиторий service / git будет иметь файл kustomize, содержащий список всех исправлений. На этапе CD мы преобразуем эту настройку в манифесты k8s (service, configmap, deployment) для заданной среды / региона и запускаем команды kubectl apply для запуска в нашем kubernetes.

Теперь мы начали изучать диаграммы helm, вместо преобразования Kustomize в манифесты k8s, планируем генерировать значения.файл yaml для общей диаграммы helm и развертывание версии helm с помощью git sha. итак, есть ли какие-либо мысли или советы по этому подходу, есть ли какое-либо преимущество перехода к развертываниям на основе диаграмм на основе helm из манифестов k8s. Также есть ли какие-либо преимущества у helm-диаграммы, когда команды планируют выполнять синие / зеленые или канареечные развертывания?

Цель состоит в том, чтобы:

  1. Есть артефакт
  2. План отката
  3. Тестовые примеры для проверки yaml и проверки работоспособности служб.

Любые предложения будут высоко оценены.

Ответ №1:

Helm может сделать за вас несколько вещей:

  • манифесты шаблона k8s — аналогично тому, что Kustomize в настоящее время выполняет в вашей настройке
  • позаботьтесь об обновлении установок — это включает удаление удаляемых ресурсов
  • следите за изменениями в ваших установках, чтобы вы могли легко выполнить откат
  • позволяет добавлять helmcharts в ваше приложение в качестве зависимости — так что ваша диаграмма приложения будет также включать, например, mysql и redis — все они управляются в одном месте и развертываются вместе
  • определите диаграмму для микросервиса по умолчанию (с мониторингом, настройкой входа и т. Д.) С широкими возможностями конфигурации и используйте ее в большинстве команд вашей компании
  • и т. д

Похоже, что последний пункт вполне соответствует вашим требованиям, поскольку у вас много приложений от нескольких команд.

Я думаю, что helm с многоразовыми диаграммами — отличный следующий шаг от необработанных манифестов k8s.

Также вы можете определить тесты, которые будут выполняться для проверки выпуска.