How to Create and Deploy an AKS Cluster with Bicep

Como criar e implantar um cluster AKS com Bicep

Se você estiver trabalhando com aplicativos em contêineres e quiser escalar facilmente usando o Kubernetes no Azure, o Azure Kubernetes Service (AKS) combinado com o Bicep fornece uma maneira moderna, segura e reproduzível de gerenciar a infraestrutura.

Neste artigo, mostraremos como criar um cluster AKS e um Registro de Contêiner do Azure (ACR) usando o Bicep e como implantar seu aplicativo.


✅ Pré-requisitos

Certifique-se de ter as seguintes ferramentas instaladas:


🏠 1. Prepare o ambiente

Efetue login no Azure e instale o Bicep CLI, se necessário:

 az login
 az bicep install

📁 2. Estrutura do arquivo

 infra/
 ├── main.bicep
 ├── parameters.json (optional)

📄 3. Arquivo main.bicep

Este arquivo define os recursos a serem criados: um ACR, um cluster AKS e uma atribuição de função para que o cluster AKS possa extrair imagens do ACR.

 @description('Resource location')
 param location string = 'westeurope'
 
@description('Nome do grupo de recursos')
 parâmetro resourceGroupName string = 'rg-my-aks'

 @description('Nome do cluster AKS')
 param aksName string = 'myAKSCluster'

 @description('Nome do ACR')
 param acrName string = 'myContainerRegistry'

 recurso acr 'Microsoft.ContainerRegistry/registries@2023-01-01-preview' = {
 nome: acrNome
 localização: localização
 código SKU: {
 nome: 'Básico'
 }
 propriedades: {
 adminUserEnabled: verdadeiro
 }
 }

 recurso aks 'Microsoft.ContainerService/managedClusters@2023-01-01' = {
 nome: aksName
 localização: localização
 identidade: {
 tipo: 'SystemAssigned'
 }
 propriedades: {
 dnsPrefix: '\${aksName}-dns'
 agentPoolProfiles: [
 {
 nome: 'nodepool1'
 contagem: 2
 vmSize: 'Standard_DS2_v2'
 modo: 'Sistema'
 osType: 'Linux'
 tipo: 'VirtualMachineScaleSets'
 }
 ]
 Perfil Linux: {
 Nome de usuário do administrador: 'azureuser'
 ssh: {
 Chaves públicas: [
 {
 keyData: 'ssh-rsa AAAA... sua chave SSH ...'
 }
 ]
 }
 }
 perfil de rede: { 
Plugin de rede: 'azure'
 }
 Perfis de complemento: {}
 enableRBAC: verdadeiro
 aadProfile: {
 gerenciado: verdadeiro
 }
 }
 }

 função de recursoAtribuição 'Microsoft.Authorization/roleAssignments@2020-10-01-preview' = {
 nome: guid(aks.id, 'acrpull')
 escopo: acr
 propriedades: {
 roleDefinitionId: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '7f951dda-4ed3-4680-a7ca-43fe172d538d') // AcrPull
 principalId: aks.identity.principalId
 principalType: 'ServicePrincipal'
 }
 }

🚀 4. Implantar com o Azure CLI

 az deployment sub create \
 --location westeurope \
 --template-file infra/main.bicep \
 --parameters resourceGroupName=rg-my-aks \
 aksName=myAKSCluster \
 acrName=myContainerRegistry

📦 5. Implante seu aplicativo

Após a implantação da infraestrutura:

  1. Crie e envie sua imagem para o ACR:

 docker build -t myapp:v1 . 
tag docker myapp:v1 mycontainerregistry.azurecr.io/myapp:v1
 docker push mycontainerregistry.azurecr.io/myapp:v1
  1. Obtenha as credenciais do cluster AKS:

 az aks get-credentials --resource-group rg-my-aks --name myAKSCluster
  1. Crie manifestos do Kubernetes (deployment.yaml + service.yaml) e aplique-os:

 kubectl apply -f deployment.yaml
 kubectl apply -f service.yaml
  1. Obtenha o endereço IP público:

 kubectl get service

🔧 Automação

Você pode integrar toda essa configuração com o GitHub Actions ou o Azure DevOps para CI/CD completo. Entre em contato se precisar de ajuda para configurar isso.


Com o Bicep, você pode gerenciar a infraestrutura de forma declarativa e segura. Isso é especialmente útil para equipes que buscam consistência nos ambientes de desenvolvimento, preparação e produção.

Fique ligado para a próxima postagem sobre CI/CD com GitHub Actions para AKS!

Voltar para o blogue
  • ChatGPT Uncovered Podcast

    Podcast descoberto do ChatGPT

    Pedro Martins

    Podcast descoberto do ChatGPT Podcast descoberto do ChatGPT Explorando as fronteiras dos modelos de conversação de IA Episódio 1: Compreendendo o ChatGPT Publicado em: 15 de maio de 2023 Seu...

    Podcast descoberto do ChatGPT

    Pedro Martins

    Podcast descoberto do ChatGPT Podcast descoberto do ChatGPT Explorando as fronteiras dos modelos de conversação de IA Episódio 1: Compreendendo o ChatGPT Publicado em: 15 de maio de 2023 Seu...

  • Power Apps In-Depth Podcast

    Podcast detalhado do Power Apps

    Pedro Martins

    Podcast detalhado do Power Apps Podcast detalhado do Power Apps Explorando os recursos do Microsoft Power Apps Episódio 1: Introdução ao Power Apps Publicado em: 20 de abril de 2023...

    Podcast detalhado do Power Apps

    Pedro Martins

    Podcast detalhado do Power Apps Podcast detalhado do Power Apps Explorando os recursos do Microsoft Power Apps Episódio 1: Introdução ao Power Apps Publicado em: 20 de abril de 2023...

  • Exploring Power Pages Podcast

    Explorando o podcast Power Pages

    Pedro Martins

    Explorando o podcast Power Pages Explorando o podcast Power Pages Mergulhando no mundo das Power Pages da Microsoft Episódio 1: Primeiros passos com Power Pages Publicado em: 10 de março...

    Explorando o podcast Power Pages

    Pedro Martins

    Explorando o podcast Power Pages Explorando o podcast Power Pages Mergulhando no mundo das Power Pages da Microsoft Episódio 1: Primeiros passos com Power Pages Publicado em: 10 de março...

1 de 3