Skip to content

Tarefas Comuns

Referência rápida para operações frequentes do dia a dia.

Deploy de Nova Versão

HML (Automático)

O merge de PR na branch development atualiza automaticamente todos os tenants HML:

  1. PR mergeado → build + tag (8.0.0-DEV)
  2. Pipeline atualiza image.tag em todos os values.yaml do HML
  3. ArgoCD sincroniza automaticamente

NOX (Manual)

  1. Editar values.yaml dos tenants desejados no ads-tenants-config: yaml image: tag: v8.0.0@sha256:abc123...
  2. Commit e push para main

Obter a tag + digest

A tag com digest está disponível no comentário do PR de merge no repositório da aplicação.

Rollback de Versão

Via ads-tenants-config

  1. Editar values.yaml revertendo para a tag anterior: yaml image: tag: v7.9.0@sha256:def456...
  2. Commit e push → ArgoCD aplica automaticamente

Via ArgoCD UI

  1. Acesse o ArgoCD → selecione a Application
  2. Clique em History and Rollback
  3. Selecione a revisão desejada → Rollback

Rollback via ArgoCD é temporário

O auto-sync vai reverter para o estado do Git eventualmente. Para rollback permanente, altere o values.yaml.

Verificar Status de Aplicações

```bash

Todas as applications em erro

kubectl get applications -n argocd | grep -v Healthy

Status de um tenant específico

kubectl get applications -n argocd | grep {tenant}

Pods com problemas

kubectl get pods -n {namespace} --field-selector=status.phase!=Running,status.phase!=Succeeded

Logs de um pod

kubectl logs -n {namespace} deploy/{app-name} --tail=100

Eventos recentes

kubectl get events -n {namespace} --sort-by='.lastTimestamp' | tail -20 ```

Escalar Aplicação

Temporariamente (revertido pelo ArgoCD)

bash kubectl scale deploy/{app-name} -n {namespace} --replicas=3

Permanentemente (via Helm values)

Editar values.yaml no ads-tenants-config:

yaml replicaCount: 3

Ou configurar HPA no chart:

yaml hpa: enabled: true minReplicas: 2 maxReplicas: 5 targetCPUUtilizationPercentage: 70

Reiniciar Aplicação

```bash

Restart via rollout

kubectl rollout restart deploy/{app-name} -n {namespace}

Verificar status

kubectl rollout status deploy/{app-name} -n {namespace} ```

O Reloader reinicia automaticamente quando ConfigMaps ou Secrets mudam.

Atualizar Secret no Vault

  1. Acesse Vault UI ou CLI: bash vault kv put secret/{ENV}/tenants/{namespace}/{app}/config \ DB_PASSWORD=nova_senha \ API_KEY=nova_chave

  2. O ESO detecta a mudança e atualiza o K8s Secret

  3. O Reloader reinicia o deployment automaticamente

Adicionar Novo Tenant

Use os workflows de dispatch manual:

  1. Banco compartilhado: Execute "01 Tenant → Criar Nova APP Config"
  2. Banco dedicado: Execute "00 Tenant → Criar Novo Dedicado" primeiro, depois o 01

Referência completa: Gerenciamento de Tenants

Verificar Drift de Infraestrutura

O drift detection roda diariamente às 4:00 UTC automaticamente.

Para verificar manualmente:

```bash

Via Makefile

make plan {env}

Stacks específicas

make plan {env}:{tag} ```

Se o plan mostrar alterações inesperadas, investigar antes de aplicar.

Atualizar Componente de Infraestrutura

  1. Editar versão no config HCL: config/{env}/oke-extras/config.hcl # cert-manager, ingress, etc. config/{env}/oke/cluster.hcl # Kubernetes config/tools/argocd/config.hcl # ArgoCD config/tools/vault/config.hcl # Vault

  2. Criar PR → preview automático

  3. Merge → deploy automático

Consultar Logs e Métricas

Ferramenta URL Uso
SigNoz (cluster TOOLS) Traces, métricas, logs
Sentry (cluster TOOLS) Erros e exceptions
SonarQube (cluster TOOLS) Qualidade de código
ArgoCD (cluster TOOLS) Status de deploys
Kiali (clusters HML/NOX) Service mesh (Istio)

Para troubleshooting do mesh, publicação DNS e autenticação do Kiali, use a seção Networking & Service Mesh.

Operações com Makefile (Infra)

```bash

Plan de todas as stacks do ambiente

make plan hml

Plan de stacks específicas

make plan tools:argo

Apply (com confirmação)

make apply hml

Verificar outputs

make output tools:vault

Listar recursos no state

make state list hml:oke ```