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 при необходимости.