Instalando os primeiros projetos
Primeira Aplicação
Vamos criar uma aplicação de exemplo para testar o ArgoCD.
Via Web UI
- Acesse a UI do ArgoCD
- Login com
admin+ senha - Clique em "+ NEW APP"
- Preencha:
- Application Name:
guestbook - Project:
default - Sync Policy:
Manual(para começar) - Repository URL:
https://github.com/argoproj/argocd-example-apps.git - Revision:
HEAD - Path:
guestbook - Cluster URL:
https://kubernetes.default.svc - Namespace:
default
- Application Name:
- Clique em CREATE
- Clique em SYNC → SYNCHRONIZE para fazer o deploy
Via CLI
# Criar aplicação
argocd app create guestbook \
--repo https://github.com/argoproj/argocd-example-apps.git \
--path guestbook \
--dest-server https://kubernetes.default.svc \
--dest-namespace default
# Ver status
argocd app get guestbook
# Sincronizar (deploy)
argocd app sync guestbook
# Ver logs
argocd app logs guestbook
# Listar todas as apps
argocd app list
Via YAML (GitOps Way)
# guestbook-app.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: guestbook
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/argoproj/argocd-example-apps.git
targetRevision: HEAD
path: guestbook
destination:
server: https://kubernetes.default.svc
namespace: default
syncPolicy:
automated:
prune: true # Remove recursos deletados do Git
selfHeal: true # Corrige drift automaticamente
syncOptions:
- CreateNamespace=true
kubectl apply -f guestbook-app.yaml
Verificar Aplicação
# Via kubectl
kubectl get applications -n argocd
kubectl get application guestbook -n argocd -o yaml
# Via ArgoCD CLI
argocd app get guestbook
# Ver recursos criados pela app
kubectl get all -n default -l app.kubernetes.io/instance=guestbook
Testar Self-Healing
# Escalar manualmente (criar drift)
kubectl scale deployment guestbook-ui -n default --replicas=5
# ArgoCD detecta drift
argocd app get guestbook
# Se selfHeal está ativo, ArgoCD reverte automaticamente para 1 réplica
# Aguarde 3 minutos ou force sync:
argocd app sync guestbook