0 XP

Módulo 9

GitOps com ArgoCD

Em GitOps, o repositório é a fonte da verdade e um agente no cluster reconcilia continuamente. Isso muda a operação: deploy é merge, rollback é revert, auditoria é git log e alteração manual é detectada como drift. Você vai instalar o ArgoCD, estruturar o repositório cloudshop-gitops, configurar auto-sync com self-heal e resolver o boss OutOfSync.

2 semanas1500 XPBadge: GitOps Keeper

0/8 itens concluídos

O que você vai saber fazer

  • Explicar GitOps e seus quatro princípios na prática
  • Instalar e operar o ArgoCD
  • Estruturar repositório GitOps por ambiente
  • Configurar auto-sync, prune e self-heal com consciência
  • Diagnosticar OutOfSync e executar rollback por Git

Pré-requisitos

  • • Módulo 8 concluído

Tópicos

Estado desejadoSyncAuto-syncDriftHistóricoRollbackRepositório GitOps

Entrega do módulo

Cluster sincronizado pelo ArgoCD a partir do repositório cloudshop-gitops, com rollback por revert comprovado.

Checklist

  • ☐ Application do ArgoCD apontando para o repositório e caminho corretos
  • ☐ Auto-sync com prune e selfHeal habilitados no ambiente de staging
  • ☐ Alteração manual no cluster revertida automaticamente pelo self-heal
  • ☐ Rollback executado por git revert e refletido no cluster
  • ☐ Segredos fora do Git (External Secrets ou SOPS)

Módulo bloqueado

Aprove o exame do módulo anterior para liberar este conteúdo.

Prática

Laboratórios do módulo

  • ArgoCD sincronizando o CloudShop

    Avançado

    Colocar o cluster sob GitOps e provar o self-heal.

    Ver passo a passo
  • Rollback de produção por git revert

    Avançado

    Reverter uma versão ruim em minutos usando apenas Git.

    Ver passo a passo
  • Segredos fora do Git com External Secrets

    Avançado

    Fazer o cluster buscar a senha do banco no cofre, sem nada sensível no repositório.

    Ver passo a passo

Troubleshooting típico

Quando quebra

Sintoma: Application permanentemente OutOfSync. Investigação: argocd app diff mostra campo que muda sozinho — geralmente valor mutado por webhook/controller ou campo default do cluster. Correção: ignoreDifferences para o campo específico, ou ajustar o manifest para refletir a realidade. Prevenção: nunca editar recursos gerenciados com kubectl edit.

No CloudShop

Colocar o CloudShop sob GitOps: cada merge no repositório de manifests reflete no cluster.

Perguntas de entrevista

  • Quais as vantagens de GitOps sobre deploy por pipeline push?
  • Como você faz rollback em GitOps?
  • Como gerenciar secrets em um repositório GitOps?
Boss do módulo: Deployment Fora de Sincronia