Blog

Domine a plataforma e otimize seus gastos!

Implementando GitOps com Flux no Azure Kubernetes Service (AKS)

Implementando GitOps com Flux no Azure Kubernetes Service (AKS)
May 29, 2025

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:

  1. Declarar a configuração desejada do ambiente (infra, apps, policies) em um repositório Git
  2. Um agente (ex: Flux) roda no cluster e aplica automaticamente as mudanças detectadas
  3. 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

  1. Habilite logs no AKS com Log Analytics
  2. Use flux logs para depurar o comportamento dos controladores
  3. 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!

Podemos te ajudar com uma revisão 100% gratuita do seu ambiente cloud.

Agendar a revisão gratuita do meu ambiente

Share this post

Inscreva-se para novas postagens

Inscreva-se