
Argo CD na prática: sync, health e rollback pela interface
Objetivos desta aula
- Ler os estados de sync e health de uma Application
- Sincronizar manualmente e entender o auto-sync
- Fazer rollback para um commit anterior pelo Argo CD
- Usar prune e selfHeal com consciência
Você já instalou o Argo CD e criou uma Application. Agora vamos operar o dia a dia: entender o que a tela mostra, sincronizar com segurança e desfazer deploys ruins.
Cada Application tem dois estados independentes. Sync: o cluster está igual ao Git? Synced (igual) ou OutOfSync (diferente). Health: os recursos estão saudáveis? Healthy, Progressing (subindo) ou Degraded (com problema).
Com auto-sync ligado, qualquer commit na branch observada é aplicado sozinho. Com sync manual, você aperta Sync quando quiser — comum em produção, onde alguém precisa aprovar.
A opção prune apaga do cluster o que foi removido do Git; selfHeal corrige alterações feitas à mão no cluster (kubectl) voltando ao estado do Git. Entenda antes de ligar: prune apaga recursos de verdade.
Rollback: na aba History and Rollback da Application, cada sync anterior vira um botão de rollback. O Argo reaplica o manifesto daquela revisão — sem precisar reverter commits no Git na hora do incêndio.
Pela linha de comando: argocd app get api, argocd app sync api, argocd app rollback api. Útil quando a interface não abre ou para automatizar.
Quando algo fica Degraded, clique no recurso na árvore da Application: o Argo mostra os eventos do Kubernetes e até os logs do Pod, sem sair da tela.
Boas práticas: produção com sync manual ou janelas de sync, auto-sync em staging, e notificações (Slack/e-mail) para syncs falhos.
Na prática
Operando pela CLI
bash
argocd login argocd.exemplo.com
argocd app list
argocd app get api # sync + health + histórico
argocd app sync api # aplica o que está no Git
argocd app rollback api # volta à revisão anterior
argocd app history api # lista as revisõesApplication com auto-sync seguro
yaml
spec:
syncPolicy:
automated:
prune: true # remove o que saiu do Git
selfHeal: true # desfaz mudanças manuais no cluster
syncOptions:
- CreateNamespace=true
retry:
limit: 3
backoff:
duration: 5s
maxDuration: 3mPor que isso importa
Saber operar sync e rollback no Argo CD transforma incidentes de deploy em correções de minutos.
Erro comum
Ligar prune sem entender: recursos criados fora do Git (ou removidos por engano) são apagados do cluster.
Dica de produção
Mantenha selfHeal ligado em produção para que ‘correções rápidas’ manuais não virem drift silencioso.
Pergunta de entrevista
Qual a diferença entre os estados OutOfSync e Degraded no Argo CD?
Glossário
- Synced
- Cluster idêntico ao que está no Git.
- OutOfSync
- Há diferença entre Git e cluster.
- prune
- Apaga do cluster recursos removidos do Git.
- selfHeal
- Reverte alterações manuais feitas no cluster.
Conexão com o CloudShop
Um deploy ruim no CloudShop é desfeito em 30 segundos pelo rollback do Argo CD.
Quiz da aula
1. OutOfSync significa:
2. O que selfHeal faz?
3. Como desfazer um deploy ruim rapidamente?
Minhas anotações
Salvo automaticamente neste navegador.
