В этом разделе описана доставка приложений с помощью 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;
- контроль доступа к кластерным ресурсам.
Типичный сценарий настройки со стороны администратора:
- Включите модуль
operator-argoи создайте объект ArgoCD. - Настройте аутентификацию пользователей.
- Настройте ролевую модель доступа.
- Передайте пользователям доступ к экземпляру Argo CD для доставки приложений (подробнее — в разделе «Использование»).
Устройство модуля operator-argo описано в разделе «Архитектура».
Параметры модуля и кастомных ресурсов приведены в документации модуля operator-argo.