Выбор ответа Junior GitOps и ArgoCD спрашивают часто обновлено

GitOps: pull против push

Вопрос

Чем GitOps-деплой (pull-модель) отличается от деплоя, где CI сам выполняет kubectl apply?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Агент в кластере сам забирает состояние из git, CI не нужен доступ к кластеру. В pull-модели CI собирает образ и меняет тег в git, а ArgoCD или Flux в кластере применяют изменение и следят за дрейфом.

Варианты ответа

  1. В GitOps не нужен CI: образы собирает сам ArgoCD из Dockerfile в репозитории
  2. Агент в кластере сам забирает состояние из git, CI не нужен доступ к кластеруправильный ответ
  3. Pull-модель быстрее, потому что применяет манифесты без обращения к git
  4. В GitOps манифесты хранятся в etcd, а git лишь копия для истории

Разбор

В pull-модели CI собирает образ и меняет тег в git, а ArgoCD или Flux в кластере применяют изменение и следят за дрейфом. Кластер не нужно открывать для CI, kubeconfig с правами админа не лежит в пайплайне. Сборка образов остаётся в CI. Git и есть источник истины, etcd хранит текущее состояние кластера, а не желаемое.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.