В этом разделе описана доставка приложений с помощью Argo CD в Deckhouse Kubernetes Platform (DKP).

Argo CD — это Open Source-инструмент для непрерывной доставки приложений в Kubernetes, реализующий подход GitOps. Git-репозиторий выступает источником истины для описания приложений, их конфигурации и целевых окружений.

Argo CD отслеживает изменения, показывает расхождения между желаемым и фактическим состоянием ресурсов и при необходимости автоматически или вручную приводит кластер к целевому состоянию.

Основные возможности Argo CD:

  • автоматическое и ручное развёртывание приложений в Kubernetes;
  • визуализация различий между желаемым и фактическим состоянием;
  • отслеживание конфигурации приложений в Git;
  • работа с несколькими кластерами Kubernetes;
  • управление доступом через собственную ролевую модель;
  • откат к ранее зафиксированной конфигурации и аудит действий;
  • работа через веб-интерфейс, CLI и API, включая интеграцию с Git-вебхуками и внешними системами автоматизации.

В DKP Argo CD запускается с помощью модуля operator-argo, основанного на проекте Argo CD Operator. Модуль позволяет декларативно развернуть и обслуживать один или несколько экземпляров Argo CD в кластере DKP без ручной установки и сопровождения компонентов.

Дополнительно модуль обеспечивает:

  • поддержку единого входа (SSO);
  • интеграцию с мониторингом в составе DKP;
  • режим высокой доступности;
  • поддержку автоматического обновления образов через Argo CD Image Updater;
  • контроль доступа к кластерным ресурсам.

Типичный сценарий настройки со стороны администратора:

  1. Включите модуль operator-argo и создайте объект ArgoCD.
  2. Настройте аутентификацию пользователей.
  3. Настройте ролевую модель доступа.
  4. Передайте пользователям доступ к экземпляру Argo CD для доставки приложений (подробнее — в разделе «Использование»).

Устройство модуля operator-argo описано в разделе «Архитектура». Параметры модуля и кастомных ресурсов приведены в документации модуля operator-argo.

Дополнительные ресурсы