0 XP

DEVOPSQUEST

Minha Trilha
Módulo 9 · GitOps com ArgoCD

Argo CD na prática: sync, health e rollback pela interface

Intermediário 30 min+25 XPArgo CDGit

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ões

Application 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: 3m

Por 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. 1. OutOfSync significa:

  2. 2. O que selfHeal faz?

  3. 3. Como desfazer um deploy ruim rapidamente?

Minhas anotações

Salvo automaticamente neste navegador.

AnteriorPróxima