Введение
Argo CD — это очень популярный open-source инструмент GitOps. Для использования Argo CD необходимо понимать следующие основные концепции:
- Application: группа ресурсов Kubernetes, определённых манифестом. Это Custom Resource Definition (CRD). Application
- ApplicationSet: контроллер Kubernetes, поддерживающий CRD ApplicationSet, позволяющий массово создавать Applications на основе одного шаблона. Можно рассматривать его как фабрику приложений, создающую экземпляры на основе параметров. ApplicationSet
- Tool: указывает инструмент управления конфигурацией для источников Application (например, Kustomize, Helm). Tool
- Sync: процесс согласования текущего состояния приложения с желаемым состоянием (например, применение изменений в кластерах Kubernetes). Sync
- Health: показывает рабочее состояние приложения, включая готовность и способность обрабатывать запросы. Health
Содержание
Сводка различий между Application и ApplicationSet
Атрибут | Application | ApplicationSet |
---|
Определение | Развёртывание одного приложения | Шаблон для генерации нескольких экземпляров Application |
Конфигурация | Статические YAML определения | Динамическое создание шаблонов на основе параметров |
Развёртывание | Одно приложение | Несколько похожих приложений |
Сценарии использования | Простые развёртывания в одной среде | Сложные развёртывания в нескольких средах/кластерах с параметрическими экземплярами |
Основные концепции | Git Repo, целевой кластер, стратегии развёртывания | Генераторы, шаблоны, параметры, заполнители |
Роль в Argo CD | Основная единица развёртывания | Расширенный уровень массового управления |
Статусы синхронизации Argo CD
Статус Sync | Описание |
---|
Synced | Текущее состояние приложения полностью соответствует желаемому состоянию. |
OutOfSync | Текущее состояние отличается от желаемого; требуется синхронизация. |
Syncing | Активный процесс синхронизации; текущее состояние приближается к желаемому. |
Ссылки