GitOps – способ эксплуатации, при котором единственным источником истины о желаемом состоянии инфраструктуры и приложений является Git-репозиторий с декларативными описаниями (например, манифестами Kubernetes). Специальный агент в кластере сравнивает фактическое состояние с описанным и автоматически устраняет расхождения. Термин предложила компания Weaveworks в 2017 году.
Принципы
- Декларативное описание системы.
- Версионирование и неизменяемая история в Git.
- Автоматическое применение одобренных изменений.
- Постоянная сверка и исправление дрейфа.
Преимущества
- Изменения проходят через запросы на слияние с ревью.
- Простой откат – возврат коммита.
- Аудит: кто и когда изменил конфигурацию.
- Одинаковые среды за счёт одного описания.
Инструменты
Argo CD и Flux – распространённые GitOps-контроллеры для Kubernetes; также российские платформы управления Kubernetes с поддержкой GitOps.