🚀 Argo CD: который синхронизирует кластеры с Git

Кратко Argo CD — это инструмент, который превращает Git в единственный источник истины для Kubernetes. Вы описываете желаемое состояние кластера в репозитории, а Argo CD сам следит, чтобы реальность в кластере совпадала с этим описанием. Если кто-то вручную поменял под — Argo CD вернёт всё как было. Если вы обновили образ в репозитории — Argo CD сам применит изменения.

▫️Основные этапы развития: · 2017 г. — В компании Applatix (позже поглощена Intuit) зарождается идея инструмента, который будет автоматически синхронизировать Kubernetes с Git. Рождается прототип Argo CD · 2018 г. — Intuit открывает код Argo CD и передаёт проект в CNCF (Cloud Native Computing Foundation). Начинается массовое принятие сообществом · 2019–2020 гг. — Argo CD становится стандартом для GitOps. Выходят стабильные релизы, появляется мощный UI, интеграция с SSO, webhook’ами · 2020 г. — Argo CD получает статус incubating в CNCF, а позже становится одним из самых популярных CI/CD-инструментов для Kubernetes · 2022–2026 гг. — Экосистема разрастается: Argo Rollouts (канареечные деплои), Argo Workflows, Argo Events. GitOps становится мейнстримом, Argo CD — его главным адептом

▫️Как работает (простыми словами): · Git — Source of Truth — вы храните все манифесты Kubernetes (YAML, Helm-чарты, Kustomize) в Git-репозитории · Argo CD агент — живёт в кластере, постоянно следит за репозиторием и сравнивает желаемое состояние (из Git) с реальным (в кластере) · Синхронизация — если Argo CD видит расхождение, он может: — Просто показать: «отличается, смотри в UI» — Автоматически привести кластер к состоянию из Git (Auto-sync) — Откатить назад при проблемах (Self-healing) · Pull-модель — в отличие от классических CI/CD, где Jenkins сам пушит в кластер, Argo CD работает как контроллер внутри кластера, который сам тянет изменения из Git. Это безопаснее: не надо давать CI-системе доступ к продакшену

▫️Ключевые возможности: · Визуализация — веб-интерфейс показывает все приложения, их статус, синхронизированы ли они с Git, и что именно отличается · Multi-cluster — один Argo CD может управлять сотнями кластеров из одной точки · SSO и RBAC — интеграция с LDAP, GitHub, Okta; тонкая настройка прав · Webhook’и — при пуше в репозиторий Argo CD сразу начинает синхронизацию · Роллбэки — откат к любой предыдущей версии одной кнопкой (просто переключаете тег в Git) · Sync Waves и Hooks — порядок применения ресурсов (сначала БД, потом приложение; запуск миграций перед деплоем)

▫️Почему Argo CD стал стандартом GitOps: · Декларативный подход — вы описываете не только инфраструктуру, но и сам процесс доставки (Argo CD тоже настраивается через YAML) · Self-healing — если кто-то влез в кластер руками и что-то поломал, Argo CD вернёт всё обратно за минуты · Audit trail — вся история изменений в Git. Можно посмотреть, кто, когда и зачем поменял образ · Pull-модель безопаснее push’а — не надо светить секретами CI-системы, кластер сам забирает обновления · Интеграция с чем угодно — Helm, Kustomize, Jsonnet, простые YAML-файлы · Активное сообщество — тысячи звёзд на GitHub, тонны докладов на конференциях

▫️Культурный феномен: · Термин GitOps придумали одновременно ребята из Weaveworks и разработчики Argo CD. Теперь это целая философия управления инфраструктурой · «Git как единый источник правды» — фраза, которую знает каждый уважающий себя DevOps-инженер · Мем: «— У нас прод упал! — А что в Git? — Всё ок. — Значит, просто синхронизируй Argo CD и иди спать» · Символ зрелости инфраструктуры: если у вас нет Argo CD, вы всё ещё ходите по серверам и руками применяете kubectl (смеются все, кроме вас)

▫️Современное положение: · Стандарт де-факто для GitOps в Kubernetes. 70–80% компаний, использующих K8s, применяют Argo CD · Вместе с Flux — два главных игрока (но Argo популярнее за счёт UI и богатого функционала) · Развивается в сторону платформенной инженерии: добавляются функции для разработчиков (self-service), улучшается безопасность (Vault integration, SOPS) · Используется в крупнейших компаниях: Intuit, Adobe, Tesla, Ticketmaster, Airbnb

#argocd #gitops #kubernetes #devops #cicd #cncf

🚀 Argo CD: который синхронизирует кластеры с Git | Сетка — социальная сеть от hh.ru