Получить доступ

Что такое 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 — только зашифрованные или через внешнее хранилище

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Поток:

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

Плюсы:

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

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

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

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

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

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем