Модуль управления развертыванием прикладных сервисов (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) и нажмите Управлять.
Скриншот

Если модуль не отображается, перейдите на страницу Доступные чарты. На вкладке shturval найдите чарт shturval-rollouts и нажмите Установить.
В случае, если вы включаете Модуль управления развертыванием прикладных сервисов shturval-rollouts после создания кластера, убедитесь, что включены и находятся в режиме автообновления:
- CRD модуля управления развертыванием прикладных сервисов (shturval-rollouts-crds);
- Модуль управления внешними подключениями (shturval-ingress-controller).