Инфраструктура | Рекомендуемый инструмент | Почему |
---|---|---|
Kubernetes | ArgoCD, Flux v2 | Нативная поддержка declarative-модели |
Виртуальные машины | Ansible + AWX | Императивное управление с git-бэкендом |
Bare-metal | Terraform + Atlantis | Планирование изменений через PR |
# ArgoCD Application пример
apiVersion: argoproj.io/v1alpha1
kind: Application
spec:
source:
repoURL: https://github.com/your-repo
targetRevision: HEAD
path: k8s/prod
Плюсы: Автоматический drift detection, self-healing
# АргоCD с мандатными проверками
spec:
syncPolicy:
automated:
selfHeal: false # Ручное подтверждение
prune: false
syncOptions:
- Validate=true
- CreateNamespace=false
Размер | Решение | Архитектура |
---|---|---|
До 10 сервисов | ArgoCD | Single cluster |
10-50 сервисов | Flux + Kustomize | Мульти-репозитории |
50+ сервисов | Crossplane | Глобальное управление |
GitOps Engine
и Cluster API
Критерий | Выбор 1 | Выбор 2 | Выбор 3 |
---|---|---|---|
Стартап | Flux + GitHub Actions | ArgoCD | Terraform Cloud |
Корпорация | Argo CD Enterprise | Crossplane | TF Enterprise |
Гибридная среда | Flux + Terraform | Anthos Config Sync | Azure Arc |