Модуль управления развертыванием прикладных сервисов (Argo Rollouts)

Argo Rollouts - контроллер Kubernetes, предоставляющий дополнительные стратегии развертывания приложений в кластерах Kubernetes. Argo Rollouts использует кастомный ресурс Rollout, заменяющий Deployment, когда необходимы:

  • расширенная функциональность развертывания;
  • прогрессивная доставка приложения: процесс выпуска поэтапного и контролируемого обновления приложений.

Стандартное поведение Deployments в Kubernetes реализовывает стратегии развертывания типа Recreate или RollingUpdate. Стратегии не решают вопросы:

  • возможности контролирования трафика между версиями;
  • легкого откатывания при ошибках;
  • простоя трафика;
  • пошагового выкатывания новых версий для части пользователей.

Эти проблемы возможно решить с помощью стратегий развертывания Argo Rollouts:

  • Blue-Green: одновременная работа старой версии приложения и развертывание новой версии. Пока разворачивается новая версия весь входящий трафик направляется в рабочее приложение. Когда новое приложение развернуто, трафик перенаправляется на него.
  • Canary: одновременная работа нескольких версий приложения. Входящий трафик одновременно может быть распределен между новой и старой версиями приложения.

Для реализации стратегий развертывания Argo Rollouts поддерживает:

  • интеграцию с Ingress-контроллерами для маршрутизации трафика;
  • интеграцию с поставщиками метрик для Blue-Green и Canary анализа;
  • автоматический откат обновления.

Контроллер Argo Rollouts управляет созданием, масштабированием и удалением ReplicaSets.

С дополнительной информацией можно ознакомиться на официальном сайте.

Установка

Модуль управления развертыванием прикладных сервисов (Argo Rollouts) не является критически важным сервисом для работы платформы “Штурвал”. По умолчанию модуль устанавливается в кластер управления и клиентские кластеры в отключенном состоянии.

Для настройки Argo Rollouts в графическом интерфейсе кластера платформы “Штурвал” перейдите в раздел Сервисы и репозитории и откройте страницу Установленные сервисы.

Найдите Модуль управления развертыванием прикладных сервисов (shturval-rollouts) и нажмите Управлять.

Скриншот

argorollout1 argorollout

Если модуль не отображается, перейдите на страницу Доступные чарты. На вкладке shturval найдите чарт shturval-rollouts и нажмите Установить.

В случае, если вы включаете Модуль управления развертыванием прикладных сервисов shturval-rollouts после создания кластера, убедитесь, что включены и находятся в режиме автообновления:

  • CRD модуля управления развертыванием прикладных сервисов (shturval-rollouts-crds);
  • Модуль управления внешними подключениями (shturval-ingress-controller).
×