Blog
Domine a plataforma e otimize seus gastos!
Implementando GitOps com Flux no Azure Kubernetes Service (AKS)

Automatizando a entrega contínua com segurança, controle e rastreabilidade
Introdução
Em ambientes Kubernetes, garantir consistência, auditabilidade e velocidade na entrega de aplicações é um desafio constante.
O modelo tradicional de CI/CD, baseado em pipelines que “empurram” deploys para o cluster, não é ideal para ambientes com múltiplos times, ambientes ou clusters.
Entra em cena o GitOps: uma abordagem declarativa onde o Git é a única fonte da verdade, e a reconciliação é feita por agentes como o Flux, de dentro do cluster.
Neste artigo, vamos ver como implementar GitOps usando Flux v2 no Azure Kubernetes Service (AKS), com foco em:
- Segurança
- Autonomia de times
- Controle de mudanças
- Multiambiente
- Observabilidade
O que é GitOps?
GitOps é a prática de:
- Declarar a configuração desejada do ambiente (infra, apps, policies) em um repositório Git
- Um agente (ex: Flux) roda no cluster e aplica automaticamente as mudanças detectadas
- Toda mudança passa por merge request, revisão e auditoria no Git
Benefícios:
- Controle de versão nativo
- Rollback fácil via
git revert
- Rastreamento de autoria
- Integração com segurança e compliance
Arquitetura com Flux e AKS
- Kustomize Controller: aplica as definições (deployments, services etc)
- Helm Controller (opcional): para charts Helm
- Image Automation Controller: atualização automática baseada em tags
Git Source

- Git Source: repositório Git monitorado
- Kustomize Controller: aplica as definições (deployments, services etc)
- Helm Controller (opcional): para charts Helm
- Image Automation Controller: atualização automática baseada em tags
Pré-requisitos
- Azure CLI
- AKS ativo com
kubectl
configurado - GitHub repo público ou privado
- flux CLI instalado
- Permissão para instalar extensões no AKS
Instalando Flux no AKS
# Conectar-se ao cluster
az aks get-credentials --resource-group rg-aks --name meu-cluster
# Inicializar o Flux no cluster
flux install
Estrutura do repositório GitOps
gitops-config/
├── clusters/
│ └── prod/
│ └── kustomization.yaml
├── apps/
│ └── nginx/
│ ├── deployment.yaml
│ ├── service.yaml
│ └── kustomization.yaml
Criar Git source e aplicar Kustomization
# Adicionar o repositório Git
flux create source git gitops-repo \
--url=https://github.com/suaorg/gitops-config \
--branch=main \
--interval=1m
# Criar o recurso Kustomization
flux create kustomization nginx-app \
--target-namespace=default \
--source=gitops-repo \
--path="./apps/nginx" \
--prune=true \
--interval=2m
O Flux agora vai monitorar o repositório Git e aplicar automaticamente qualquer mudança feita.
Segurança com Secret Store e RBAC
Use Sealed Secrets, External Secrets ou Azure Key Vault Provider com CSI Driver para proteger dados sensíveis.
Exemplo: usar Key Vault com AKS
az aks enable-addons \
--addons azure-keyvault-secrets-provider \
--name meu-cluster \
--resource-group rg-aks
Observabilidade e auditoria
- Habilite logs no AKS com Log Analytics
- Use
flux logs
para depurar o comportamento dos controladores - Todas as mudanças ficam rastreadas via Git (
git log
, PRs, tags)
Boas práticas com GitOps no Azure
- Um repositório por ambiente (ex:
gitops-prod
,gitops-dev
) - Use Kustomize overlays para diferenciar configurações
- Trave quem pode alterar
main
via Branch Protection Rules - Use Flux Notifications para alertas via Teams ou Slack
- Integre com pipelines para validar antes do merge (YAML linter, Kubeval etc)
Referências oficiais
Conclusão
GitOps com Flux no AKS oferece uma forma moderna, segura e auditável de entregar aplicações em produção.
A infraestrutura e os apps se tornam versionáveis, previsíveis e consistentes — reduzindo erros manuais e aumentando a governança.
Comece com um pequeno repositório e escale sua automação com confiança!