Вопрос с собеседования · DevOps

Что такое GitOps и чем он отличается от деплоя скриптом из CI?

MiddleCI/CD и GitKubernetes
Ещё спрашивают так:
  • Push против pull модели деплоя
  • Зачем нужны Argo CD и Flux?
Коротко

GitOps: желаемое состояние инфраструктуры и приложений описано в Git, а агент в кластере (Argo CD, Flux) постоянно сравнивает его с фактическим и приводит к нему (pull-модель). В push-модели CI сам выполняет kubectl apply — ему нужны права на кластер, а ручные изменения никто не замечает. GitOps даёт аудит через историю, откат через revert и обнаружение дрейфа.

  • CI собирает образ и меняет тег в репозитории конфигурации; CD-агент выкатывает
  • Учётные данные кластера не покидают кластер
  • Ручное kubectl edit будет откачено агентом (или подсвечено как дрейф)

А ещё Секреты в GitOps — только зашифрованные или через внешнее хранилище

Подробно

Поток:

разработчик → PR в код → CI: тесты, образ orders:sha
            → бот обновляет values.yaml в репозитории конфигурации
            → Argo CD видит изменение → синхронизирует кластер

Плюсы:

  • единственный источник правды, всё через ревью;
  • аудит: кто, что и когда изменил — история Git;
  • откат — git revert;
  • восстановление кластера с нуля из репозитория;
  • меньше доступов наружу.

Минусы и сложности: отдельный репозиторий или каталог конфигурации, шаблонизация (Helm, Kustomize), порядок применения зависимостей, секреты, ощущение «двойной» работы для маленьких проектов.

Что хотят услышать

  • Pull-модель и агент согласования.
  • Отличия от push из CI: права, дрейф, аудит.
  • Практическая схема потока изменений.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✗GitOps требует давать CI полные права на кластер
  • ✗В GitOps ручные изменения в кластере остаются незамеченными
  • ✓Состояние описано в Git, агент в кластере сам подтягивает его и устраняет расхождения
  • ✗GitOps — это запуск kubectl apply из CI после каждого мержа в main

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования