Практикум GitOps — чек-лист
Ответы на вопросы — в шагах 1–4 и итогах. Попробуйте ответить без подглядывания, затем сверьтесь со статьями.
Блок 1 — кластер и Argo CD
-
Чем kind отличается от managed Kubernetes (EKS, GKE, AKS)?
Ориентир: kind — локальный кластер в Docker на ноутбуке; managed — control plane в облаке провайдера, SLA, интеграции.
-
Зачем Argo CD живёт в отдельном namespace
argocd?Ориентир: изоляция control plane GitOps от приложений; отдельные RBAC и lifecycle.
-
Как получить начальный пароль
adminи почему его меняют после lab?Ориентир: Secret
argocd-initial-admin-secret, base64 decode; пароль одноразовый и широкие права. -
Что делает
kubectl port-forward svc/argocd-server?Ориентир: проброс HTTPS UI на localhost:8080 без Ingress.
Блок 2 — Application и sync
-
Что делает ресурс Application в Argo CD?
Ориентир: связывает repoURL + path + revision с destination namespace и syncPolicy.
-
Какой результат даёт
selfHeal: true?Ориентир: при ручном drift Argo CD автоматически sync к Git.
-
Что делает
automated.prune: true?Ориентир: удаляет из кластера ресурсы, убранные из Git.
-
Чем OutOfSync отличается от Degraded?
Ориентир: OutOfSync — diff с Git; Degraded — ресурс не healthy (например CrashLoop).
Блок 3 — релиз и откат
-
Как обновить образ без ручного
kubectl applyна Deployment?Ориентир: изменить
image:в Git, commit, push; Argo CD sync. -
Как откатить релиз правильно в GitOps?
Ориентир:
git revert+ push; Git и кластер остаются согласованными. -
Почему
kubectl rollout undoбез commit опасен в GitOps?Ориентир: создаёт drift; следующий sync или selfHeal может вернуть проблемную версию из Git.
-
Зачем pin образа по digest?
Ориентир: tag можно перезаписать; digest фиксирует содержимое слоя — Supply chain.
Блок 4 — безопасность и prod
-
Почему secrets не кладут в тот же public repo?
Ориентир: история Git сохраняет секреты; нужен Vault, Sealed Secrets или private path — Vault practicum.
-
Когда отключают полную автоматику sync?
Ориентир: production — manual sync, approvals, sync windows.
-
Где почитать теорию GitOps после практикума?
Практические задания (опционально)
- Добавьте в Deployment
resources.requestsи проверьте sync в UI. - Создайте второй commit с неверным tag образа, наблюдайте Degraded, исправьте через revert.
- Настройте GitHub Actions workflow bump из шага 3 и запустите
workflow_dispatch.
Ответы и команды — в шагах 1–4.