 
        Gerenciando imagens de máquinas com Azure Compute Gallery: consistência e automação de VMs
Introdução
Manter consistência na criação de máquinas virtuais (VMs) e clusters do Azure Kubernetes Service (AKS) é um desafio comum em ambientes corporativos. O Azure Compute Gallery (ACG) é a solução recomendada pela Microsoft para padronizar, distribuir e versionar imagens de sistema operacional e aplicações em escala.
Neste artigo, você vai aprender como usar o ACG para padronizar ambientes de máquinas virtuais, como replicar imagens entre regiões e como aplicar práticas de governança com infraestrutura como código.
O que é Azure Compute Gallery?
O Azure Compute Gallery (antigo Shared Image Gallery) é um serviço gerenciado que permite:
- Versionamento e controle de mudanças
- Compartilhamento com múltiplas subscriptions e tenants
- Replicação regional de imagens
- Uso consistente em VMs e VM Scale Sets
Estrutura do ACG

- Image definition: o “nome” da imagem (ex: ubuntu-dev)
- Image version: versões específicas com data e região
- Target region: para replicação de imagem
Exemplo prático: criando uma imagem e usando no deploy
1. Criar uma imagem personalizada
Use o Azure CLI para capturar uma imagem de uma VM:
az vm deallocate --resource-group rg --name vm-base
az vm generalize --resource-group rg --name vm-base
az image create \
  --resource-group rg \
  --name image-base \
  --source vm-base2. Criar a Azure Compute Gallery
az sig create --resource-group rg --gallery-name devGallery3. Criar uma definição de imagem
az sig image-definition create \
  --resource-group rg \
  --gallery-name devGallery \
  --gallery-image-definition ubuntu-dev \
  --publisher mycompany \
  --offer devlinux \
  --sku 20_04-lts \
  --os-type Linux4. Criar uma versão da imagem
az sig image-version create \
  --resource-group rg \
  --gallery-name devGallery \
  --gallery-image-definition ubuntu-dev \
  --gallery-image-version 1.0.0 \
  --target-regions eastus westeurope \
  --managed-image image-baseUsando em uma VM
az vm create \
  --resource-group rg \
  --name vm-from-gallery \
  --image "/subscriptions/.../resourceGroups/rg/providers/Microsoft.Compute/galleries/devGallery/images/ubuntu-dev/versions/1.0.0" \
  --admin-username azureuser \
  --generate-ssh-keysSobre imagens personalizadas em AKS
Atualmente, o Azure Kubernetes Service (AKS) não permite o uso de imagens personalizadas de sistema operacional (BYO image) nos node pools.
Em vez disso, use as abordagens suportadas abaixo para customização:
1. Custom Node Configuration
Permite configurar parâmetros como swap, kubelet, max pods, entre outros.
🔗 Custom node configuration – AKS
2. DaemonSets para bootstrap
Use DaemonSets para instalar agentes, certificados ou configurações automaticamente em todos os nós.
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: install-monitor-agent
spec:
  selector:
    matchLabels:
      name: install-monitor-agent
  template:
    metadata:
      labels:
        name: install-monitor-agent
    spec:
      containers:
      - name: setup
        image: myregistry/init-agent:latest
        volumeMounts:
        - mountPath: /host/etc
          name: etc-volume
        securityContext:
          privileged: true
      volumes:
      - name: etc-volume
        hostPath:
          path: /etc
Boas práticas com Azure Compute Gallery
| Prática | Benefício | 
|---|---|
| Versões bem definidas e nomeadas | Rastreabilidade e rollback fácil | 
| Replicação geográfica de imagens | Deploy rápido e resiliente | 
| Integração com pipelines DevOps | Automação de imagens golden | 
| Imagens validadas e endurecidas | Segurança e conformidade | 
Monitoramento e controle
- Use Azure Policy para forçar uso de imagens da galeria
- Use Azure Monitor e Activity Logs para rastrear uso e alterações
Referências oficiais
- Azure Compute Gallery overview
- Create and use shared images
- Custom node configuration in AKS
- Limitations of custom images in AKS
Conclusão
O Azure Compute Gallery é uma ferramenta poderosa para padronizar e escalar ambientes em nuvem com segurança e eficiência.
Usar imagens versionadas, validadas e replicadas reduz erros operacionais, acelera o provisionamento e garante consistência em todo o ciclo de vida da infraestrutura.
 
                             
       
       
          