Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: ✔️ AKS Automático
Serviço de Kubernetes do Azure (AKS) Automático oferece a experiência de Kubernetes gerenciado mais simples para desenvolvedores, engenheiros de DevOps e engenheiros de plataforma. Ideal para aplicativos modernos e de IA, o AKS Automático automatiza a instalação e as operações de clusters do AKS e incorpora as boas práticas de configurações. Usuários de todos os níveis de habilidade podem se beneficiar da segurança, do desempenho e da confiabilidade do AKS Automático para seus aplicativos. O AKS Automático também inclui um SLA de preparação de pods que garante 99,9% de operações de preparação de pods concluídas em até 5 minutos, garantindo uma infraestrutura confiável e de autorrecuperação para seus aplicativos.
Neste início rápido, você aprenderá a:
- Implante um cluster do AKS Automático.
- Executa um aplicativo de vários contêineres de exemplo com um grupo de microsserviços e front-ends da Web simulando um cenário de varejo.
Antes de começar
- Este guia de início rápido pressupõe uma compreensão básica dos conceitos do Kubernetes. Para obter mais informações, confira Principais conceitos do Kubernetes para o AKS (Serviço de Kubernetes do Azure).
- O AKS Automatic habilitará o Azure Policy em seu cluster do AKS, mas você deve registrar previamente o
Microsoft.PolicyInsightsprovedor de recursos em sua assinatura para uma experiência mais suave. Consulte os provedores e tipos de recursos do Azure para obter mais informações.
Utilize o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Introdução ao Azure Cloud Shell.
Se você preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se você estiver executando no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se você estiver usando uma instalação local, entre na CLI do Azure usando o comando az login . Para concluir o processo de autenticação, siga as etapas exibidas em seu terminal. Para obter outras opções de entrada, consulte Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar e gerenciar extensões com a CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para atualizar para a versão mais recente, execute az upgrade.
- Este artigo requer a versão 2.77.0 ou posterior da CLI do Azure. Se você estiver usando o Azure Cloud Shell, a versão mais recente já está instalada lá.
- Se tiver várias assinaturas do Azure, selecione a ID da assinatura adequada para cobrança dos recursos usando o comando
az account set.
- Para implantar um arquivo Bicep, você precisa ter acesso de gravação aos recursos que você criar e acesso a todas as operações no tipo de recurso
Microsoft.Resources/deployments. Por exemplo, para criar uma máquina virtual, você precisa das permissõesMicrosoft.Compute/virtualMachines/writeeMicrosoft.Resources/deployments/*. Para ver uma lista de funções e permissões, consulte Funções interna do Azure.
Limitações
- O nodepool do sistema de clusters automáticos do AKS requer implantação em regiões do Azure que oferecem suporte a pelo menos três zonas de disponibilidade, disco de SO efêmero e o sistema operacional Linux do Azure.
- Você só pode criar clusters do AKS Automático em regiões onde a Integração de VNet do servidor de API esteja em disponibilidade geral (GA).
Importante
O AKS Automático tenta selecionar dinamicamente um tamanho de máquina virtual para o pool de nós system com base na capacidade disponível na assinatura. Verifique se sua assinatura tem cota para 16 vCPUs de qualquer um dos seguintes tamanhos na região onde o cluster será implantado: Standard_D4lds_v5, Standard_D4ads_v5, Standard_D4ds_v5, Standard_D4d_v5, Standard_D4d_v4, Standard_DS3_v2, Standard_DS12_v2, Standard_D4alds_v6, Standard_D4lds_v6 ou Standard_D4alds_v5. Você pode ver as cotas para famílias de VM específicas e enviar solicitações de aumento de cota por meio do portal do Azure.
Se você tiver perguntas adicionais, saiba mais sobre os documentos de solução de problemas.
Criar um grupo de recursos
Um grupo de recursos do Azure é um grupo lógico no qual os recursos do Azure são implantados e gerenciados.
O exemplo a seguir cria um grupo de recursos chamado myResourceGroup no local eastus.
Crie um grupo de recursos usando o comando az group create.
az group create --name myResourceGroup --location eastus
A saída de exemplo a seguir é semelhante à criação bem-sucedida do grupo de recursos:
{
"id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
"location": "eastus",
"managedBy": null,
"name": "myResourceGroup",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
Criar um cluster do AKS Automático
Para criar um cluster do AKS Automático, use o comando az aks create. O exemplo a seguir cria um cluster chamado myAKSAutomaticCluster com a integração do Prometheus Gerenciado e dos Insights de Contêiner habilitada.
az aks create \
--resource-group myResourceGroup \
--name myAKSAutomaticCluster \
--sku automatic
Após alguns minutos, o comando será concluído e retornará informações no formato JSON sobre o cluster.
Conectar-se ao cluster
Para gerenciar um cluster do Kubernetes, use o cliente de linha de comando do Kubernetes, kubectl.
kubectl já está instalado se você usa o Azure Cloud Shell. Para instalar kubectl localmente, execute o comando az aks install-cli. Os clusters do AKS Automático são configurados com o Microsoft Entra ID para RBAC (controle de acesso baseado em função) do Kubernetes.
Observação
Quando você cria um cluster usando a CLI do Azure, funções integradas são atribuídas ao seu usuário para Azure Kubernetes Service RBAC Cluster Admin.
Configure o kubectl para se conectar ao cluster do Kubernetes usando o comando az aks get-credentials. Este comando baixa as credenciais e configura a CLI do Kubernetes para usá-las.
az aks get-credentials --resource-group myResourceGroup --name myAKSAutomaticCluster
Verifique a conexão com o cluster usando o comando kubectl get. Esse comando retorna uma lista dos nós de cluster.
kubectl get nodes
A saída de exemplo a seguir mostra como é solicitado o logon.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
Após fazer logon, a saída de exemplo a seguir mostra os pools de nós do sistema gerenciado. Verifique se que o status do nó é Pronto.
NAME STATUS ROLES AGE VERSION
aks-nodepool1-13213685-vmss000000 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000001 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000002 Ready agent 2m26s v1.28.5
Criar cluster do Kubernetes Automático
Para criar um cluster do AKS Automático, pesquise Serviços do Kubernetes e selecione Cluster do AKS Automático nas opções da lista suspensa.
Na guia Básico, preencha todos os campos obrigatórios (Assinatura, Grupo de recursos, Nome do cluster do Kubernetes e Região) necessários para começar:
Na guia Monitoramento , escolha as configurações de monitoramento do Azure Monitor, do Prometheus Gerenciado, dos Painéis do Grafana, da ACNS (Observabilidade de Rede de Contêiner) e/ou configure alertas. Habilite o Grafana Gerenciado (opcional), adicione rótulos (opcional) e prossiga para criar o cluster.
Na guia Avançado , atualize suas configurações de rede (opcional), identidade gerenciada (opcional), segurança e namespaces gerenciados (opcional) e prossiga para criar o cluster.
Comece a configurar seu primeiro aplicativo do GitHub e configure um pipeline de implantação automatizado.
Conectar-se ao cluster
Para gerenciar um cluster do Kubernetes, use o cliente de linha de comando do Kubernetes, kubectl.
kubectl já está instalado se você usa o Azure Cloud Shell. Para instalar o kubectl localmente, use o comando az aks install-cli. Os clusters do AKS Automático são configurados com o Microsoft Entra ID para RBAC (controle de acesso baseado em função) do Kubernetes. Quando você cria um cluster usando o portal do Azure, funções integradas são atribuídas ao seu usuário para Azure Kubernetes Service RBAC Cluster Admin.
Configure o kubectl para se conectar ao cluster do Kubernetes usando o comando az aks get-credentials. Este comando baixa as credenciais e configura a CLI do Kubernetes para usá-las.
az aks get-credentials --resource-group myResourceGroup --name myAKSAutomaticCluster
Verifique a conexão com o cluster usando o comando kubectl get. Esse comando retorna uma lista dos nós de cluster.
kubectl get nodes
A saída de exemplo a seguir mostra como é solicitado o logon.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
Após fazer logon, a saída de exemplo a seguir mostra os pools de nós do sistema gerenciado. Verifique se que o status do nó é Pronto.
NAME STATUS ROLES AGE VERSION
aks-nodepool1-13213685-vmss000000 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000001 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000002 Ready agent 2m26s v1.28.5
Criar um grupo de recursos
Um grupo de recursos do Azure é um grupo lógico no qual os recursos do Azure são implantados e gerenciados. Ao criar um grupo de recursos, você é solicitado a especificar um local. Essa é a localização na qual os metadados do grupo de recursos são armazenados e na qual os recursos são executados no Azure, caso você não especifique outra região durante a criação de recursos.
O exemplo a seguir cria um grupo de recursos chamado myResourceGroup no local eastus.
Crie um grupo de recursos usando o comando az group create.
az group create --name myResourceGroup --location eastus
A saída de exemplo a seguir é semelhante à criação bem-sucedida do grupo de recursos:
{
"id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
"location": "eastus",
"managedBy": null,
"name": "myResourceGroup",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
Examinar o arquivo Bicep
Esse arquivo Bicep define um cluster do AKS Automático. Durante a versão prévia, você precisará especificar o perfil do pool de agentes do pool de nós do sistema.
@description('The name of the managed cluster resource.')
param clusterName string = 'myAKSAutomaticCluster'
@description('The location of the managed cluster resource.')
param location string = resourceGroup().location
resource aks 'Microsoft.ContainerService/managedClusters@2024-03-02-preview' = {
name: clusterName
location: location
sku: {
name: 'Automatic'
}
properties: {
agentPoolProfiles: [
{
name: 'systempool'
mode: 'System'
count: 3
}
]
}
identity: {
type: 'SystemAssigned'
}
}
Para obter mais informações sobre o recurso definido no arquivo Bicep, confira a referência Microsoft.ContainerService/managedClusters.
Implantar o arquivo Bicep
Salve o arquivo Bicep como main.bicep em seu computador local.
Importante
O arquivo Bicep define o parâmetro
clusterNamecomo a cadeia de caracteres myAKSAutomaticClusterr. Se você quiser usar um nome de cluster diferente, certifique-se de atualizar a cadeia de caracteres para o nome do cluster preferido antes de salvar o arquivo em seu computador.Implante o arquivo Bicep usando a CLI do Azure.
az deployment group create --resource-group myResourceGroup --template-file main.bicepLeva alguns minutos para o cluster do AKS ser criado. Aguarde até que o cluster seja implantado com êxito antes de passar para a próxima etapa.
Conectar-se ao cluster
Para gerenciar um cluster do Kubernetes, use o cliente de linha de comando do Kubernetes, kubectl.
kubectl já está instalado se você usa o Azure Cloud Shell. Para instalar o kubectl localmente, use o comando az aks install-cli. Os clusters do AKS Automático são configurados com o Microsoft Entra ID para RBAC (controle de acesso baseado em função) do Kubernetes.
Importante
Ao criar um cluster usando Bicep, você precisa atribuir uma das funções internas, como Azure Kubernetes Service RBAC Reader, Azure Kubernetes Service RBAC Writer, Azure Kubernetes Service RBAC Admin ou Azure Kubernetes Service RBAC Cluster Admin aos seus usuários, com escopo para o cluster ou um namespace específico, exemplo usando az role assignment create --role "Azure Kubernetes Service RBAC Cluster Admin" --scope <AKS cluster resource id> --assignee user@contoso.com. Além disso, certifique-se de que seus usuários tenham uma função integrada de Azure Kubernetes Service Cluster User para poderem executar az aks get-credentials e, a seguir, obter o kubeconfig do seu cluster do AKS usando o comando az aks get-credentials.
Configure o kubectl para se conectar ao cluster do Kubernetes usando o comando az aks get-credentials. Este comando baixa as credenciais e configura a CLI do Kubernetes para usá-las.
az aks get-credentials --resource-group myResourceGroup --name
Verifique a conexão com o cluster usando o comando kubectl get. Esse comando retorna uma lista dos nós de cluster.
kubectl get nodes
A saída de exemplo a seguir mostra como é solicitado o logon.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
Após fazer logon, a saída de exemplo a seguir mostra os pools de nós do sistema gerenciado. Verifique se que o status do nó é Pronto.
NAME STATUS ROLES AGE VERSION
aks-nodepool1-13213685-vmss000000 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000001 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000002 Ready agent 2m26s v1.28.5
Implantar o aplicativo
A fim de implantar o aplicativo, use um arquivo de manifesto para criar todos os objetos necessários para executar o Aplicativo da Loja do AKS. Um arquivo de manifesto do Kubernetes define o estado desejado de um cluster, por exemplo, as imagens de contêiner a serem executadas. O manifesto inclui as seguintes implantações e serviços do Kubernetes:
- Vitrine Web: aplicativo Web para clientes visualizarem produtos e fazerem pedidos.
- Serviço de produto: mostra informações do produto.
- Serviço de pedido: realiza pedidos.
- Rabbit MQ: fila de mensagens para uma fila de pedidos.
Observação
Não é recomendável executar contêineres com estado, como o Rabbit MQ, sem armazenamento persistente para produção. Esses são usados aqui para simplificar, mas recomendamos o uso de serviços gerenciados, como o Azure Cosmos DB ou o Barramento de Serviço do Azure.
Crie um namespace
aks-store-demoonde você irá implantar os recursos do Kubernetes.kubectl create ns aks-store-demoImplante o aplicativo usando o comando
kubectl applyno namespaceaks-store-demo. O arquivo YAML que define a implantação está no GitHub.kubectl apply -n aks-store-demo -f https://raw.githubusercontent.com/Azure-Samples/aks-store-demo/main/aks-store-ingress-quickstart.yamlA amostra de saída a seguir mostra as implantações e os serviços:
statefulset.apps/rabbitmq created configmap/rabbitmq-enabled-plugins created service/rabbitmq created deployment.apps/order-service created service/order-service created deployment.apps/product-service created service/product-service created deployment.apps/store-front created service/store-front created ingress/store-front created
Testar o aplicativo
Quando o aplicativo é executado, um serviço de Kubernetes expõe o front-end do aplicativo à Internet. A conclusão desse processo pode levar alguns minutos.
Verifique o status dos pods implantados usando o comando kubectl get pods. Garanta que todos os pods estejam
Running, antes de continuar. Se essa for a primeira carga de trabalho que você está implantando, pode levar alguns minutos para que o provisionamento automático de nó crie um pool de nós para executar os pods.kubectl get pods -n aks-store-demoVerifique se há um endereço IP público para o aplicativo de store-front. Monitore o andamento usando o comando kubectl get service com o argumento
--watch.kubectl get ingress store-front -n aks-store-demo --watchA saída ADDRESS para o serviço
store-frontinicialmente aparece vazia:NAME CLASS HOSTS ADDRESS PORTS AGE store-front webapprouting.kubernetes.azure.com * 80 12mQuando o ADDRESS muda de vazio para um endereço IP público real, use
CTRL-Cpara interromper o processo de inspeção dokubectl.A seguinte saída de exemplo mostra um endereço de IP público válido atribuído ao serviço:
NAME CLASS HOSTS ADDRESS PORTS AGE store-front webapprouting.kubernetes.azure.com * 4.255.22.196 80 12mAbra um navegador da web para o endereço IP externo da sua entrada para ver o aplicativo do Azure Store em ação.
Excluir o cluster
Se você não planeja seguir o tutorial do AKS, limpe os recursos desnecessários para evitar cobranças do Azure. Execute o comando az group delete para remover o grupo de recursos, o serviço de contêiner e todos os recursos relacionados.
az group delete --name myResourceGroup --yes --no-wait
Observação
O cluster do AKS foi criado com uma identidade gerenciada atribuída pelo sistema, que é a opção de identidade padrão usada neste início rápido. A plataforma gerencia essa identidade, para que você não precise removê-la manualmente.
Próximas etapas
Nesse início rápido, você implantou um cluster do Kubernetes usando o AKS Automático e, a seguir, implantou nele um aplicativo simples com vários contêineres. Esse aplicativo de exemplo é apenas para fins de demonstração e não representa todas as melhores práticas para aplicativos do Kubernetes. Para obter diretrizes sobre como criar soluções completas com o AKS para produção, consulte Diretrizes sobre a solução AKS.
Para saber mais sobre o AKS Automático, prossiga para a introdução.