advanced

Argo CD

Используйте GitOps reconciliation для deploy Kubernetes-манифестов из Git с отслеживанием drift, sync status и истории rollback.

Argo CD — GitOps-контроллер для Kubernetes. Желаемое состояние в Git; контроллер сводит кластеры к нему; drift, sync health и rollback становятся видимыми операциями.

					apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: web
spec:
  source:
    repoURL: https://github.com/org/k8s-manifests
    path: apps/web
  destination:
    server: https://kubernetes.default.svc
    namespace: production
  syncPolicy:
    automated:
      prune: true
				

CI собирает и пушит образы; Argo CD деплоит манифесты с digest или тегами образов. Sync waves упорядочивают зависимости; health checks gate для promotion.

На интервью: pull-based GitOps vs push deploy, обнаружение drift, разделение build CI и deploy reconciliation, секреты в кластерах.

Типовые ошибки: плохие манифесты в Git всё равно ломают production; ручной `kubectl` drift против GitOps; смешение pipeline сборки образов и deployment controller.

Компромисс — декларативное состояние кластера против операционной кривой Kubernetes.

Чеклист:

  • Желаемое состояние в Git.
  • Следите за sync и health приложений.
  • Отделите сборку образов от reconciliation манифестов.
  • Секреты вне plain Git при необходимости.