← Voltar ao blog

GitOps com Argo CD: por onde começar

GitOps é um modelo operacional em que o Git é a fonte única de verdade para a infraestrutura e para as aplicações. Em vez de alguém correr kubectl apply à mão, um agente dentro do cluster compara continuamente o estado desejado (no repositório) com o estado real e corrige qualquer diferença.

Os quatro princípios

  1. Declarativo: o sistema é descrito pelo estado desejado, não por passos.
  2. Versionado e imutável: todo o estado vive no Git, com histórico completo.
  3. Obtido automaticamente: agentes aprovados puxam o estado do repositório.
  4. Reconciliado continuamente: desvios são detetados e corrigidos.

Instalar o Argo CD

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

A primeira Application

Uma Application liga um caminho de um repositório Git a um namespace do cluster:

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: minha-app
  namespace: argocd
spec:
  project: default
  source:
    repoURL: https://github.com/empresa/k8s-manifests.git
    targetRevision: main
    path: apps/minha-app/overlays/prod
  destination:
    server: https://kubernetes.default.svc
    namespace: minha-app
  syncPolicy:
    automated:
      prune: true
      selfHeal: true
    syncOptions:
      - CreateNamespace=true

Dica: com selfHeal: true, alterações manuais no cluster são revertidas automaticamente. Ative-o só quando a equipa já trabalhar exclusivamente via pull request.

Próximos passos

Precisa de ajuda com isto?

Fale connosco para um orçamento ou uma análise da sua infraestrutura.

Falar com a OXICORE