Argo CD

Бесплатно
Открытый исходный код

Сайт: argo-cd.readthedocs.io

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

Проект развивался в сообществе с открытым исходным кодом и используется в разных организациях для стандартизации процессов доставки приложений в Kubernetes. Argo CD включает механизмы визуализации состояния приложений, истории изменений и откатов до предыдущих версий, а также интеграции с системами аутентификации и авторизации. Архитектурно решение состоит из контроллера, синхронизационного движка и интерфейсов управления, которые вместе обеспечивают наблюдаемость и управление приложениями в масштабируемых кластерах.

  • GitOps-концепция: хранение желаемого состояния в Git и автоматическая привязка реального состояния к этому источнику истины.
  • Автосинхронизация: выполнение автоматических или ручных синхронизаций манифестов в целевых кластерах Kubernetes.
  • Поддерживаемые форматы: совместимость с YAML-манифестами, Helm-чартами, Kustomize и другими популярными формами описания приложений.
  • Визуализация состояния: представление текущего состояния приложений, компонентов и различий между желаемым и фактическим состоянием.
  • Откаты и история: хранение истории применений и возможность отката к предыдущим ревизиям конфигурации из репозитория.
  • Управление секретами и конфигурацией: интеграция с внешними менеджерами секретов и поддержка безопасного распространения конфигураций.
  • Интеграция с CI/CD: совместная работа с инструментами непрерывной интеграции для автоматического запуска процессов доставки.
  • RBAC и аутентификация: механизмы контроля доступа и интеграция с внешними провайдерами идентификации для управления правами пользователей.
  • Множественные кластеры: управление приложениями в нескольких кластерах Kubernetes из единой точки управления.
  • Наблюдаемость: события синхронизации, логи и метрики для диагностики состояния и устранения проблем.
Подробнее