Введение

Argo CD — это очень популярный open-source инструмент GitOps. Для использования Argo CD необходимо понимать следующие основные концепции:

  1. Application: группа ресурсов Kubernetes, определённых манифестом. Это Custom Resource Definition (CRD). Application
  2. ApplicationSet: контроллер Kubernetes, поддерживающий CRD ApplicationSet, позволяющий массово создавать Applications на основе одного шаблона. Можно рассматривать его как фабрику приложений, создающую экземпляры на основе параметров. ApplicationSet
  3. Tool: указывает инструмент управления конфигурацией для источников Application (например, Kustomize, Helm). Tool
  4. Sync: процесс согласования текущего состояния приложения с желаемым состоянием (например, применение изменений в кластерах Kubernetes). Sync
  5. Health: показывает рабочее состояние приложения, включая готовность и способность обрабатывать запросы. Health

Содержание

Сводка различий между Application и ApplicationSet

АтрибутApplicationApplicationSet
ОпределениеРазвёртывание одного приложенияШаблон для генерации нескольких экземпляров Application
КонфигурацияСтатические YAML определенияДинамическое создание шаблонов на основе параметров
РазвёртываниеОдно приложениеНесколько похожих приложений
Сценарии использованияПростые развёртывания в одной средеСложные развёртывания в нескольких средах/кластерах с параметрическими экземплярами
Основные концепцииGit Repo, целевой кластер, стратегии развёртыванияГенераторы, шаблоны, параметры, заполнители
Роль в Argo CDОсновная единица развёртыванияРасширенный уровень массового управления

Статусы синхронизации Argo CD

Статус SyncОписание
SyncedТекущее состояние приложения полностью соответствует желаемому состоянию.
OutOfSyncТекущее состояние отличается от желаемого; требуется синхронизация.
SyncingАктивный процесс синхронизации; текущее состояние приближается к желаемому.

Ссылки