Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a: ✔️ AKS Automatic
O Serviço Kubernetes do Azure (AKS) Automatic fornece a experiência Kubernetes gerenciada mais fácil para desenvolvedores, engenheiros de DevOps e engenheiros de plataforma. Ideal para aplicações modernas e de IA, o AKS Automatic automatiza a configuração e as operações do cluster AKS e incorpora as configurações de melhores práticas. Usuários de qualquer nível de habilidade podem se beneficiar da segurança, desempenho e confiabilidade do AKS Automatic para suas aplicações. O AKS Automatic inclui também um SLA de prontidão para pods que garante que 99,9% das operações de prontidão para pods concluirão em 5 minutos, garantindo uma infraestrutura fiável e auto-reparadora para as suas aplicações.
Neste guia de início rápido, você aprende a:
- Implante um cluster AKS automático.
- Corra uma aplicação de exemplo com vários contêineres e um conjunto de microsserviços e interfaces web simulando um cenário de retalho.
Antes de começar
- Este guia de introdução pressupõe que possui conhecimentos básicos de conceitos de Kubernetes. Para obter mais informações, consulte Conceitos principais do Kubernetes para o Serviço Kubernetes do Azure (AKS).
- O AKS Automatic habilitará a Política do Azure em seu cluster AKS, mas você deve pré-registrar o
Microsoft.PolicyInsightsprovedor de recursos em sua assinatura para uma experiência mais suave. Consulte Provedores e tipos de recursos do Azure para obter mais informações.
Use o ambiente Bash na Azure Cloud Shell. Para obter mais informações, consulte Introdução ao Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se você estiver executando no Windows ou macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.
Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre extensões, consulte Usar e gerenciar extensões com a CLI do Azure.
Execute az version para descobrir 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 você tiver várias assinaturas do Azure, selecione a ID de assinatura apropriada na qual os recursos devem ser cobrados usando o
az account setcomando.
- Para implantar um arquivo Bicep, você precisa gravar o acesso nos recursos criados e o acesso a todas as operações no tipo de
Microsoft.Resources/deploymentsrecurso. Por exemplo, para criar uma máquina virtual, precisa de permissõesMicrosoft.Compute/virtualMachines/writeeMicrosoft.Resources/deployments/*. Para obter uma lista de funções e permissões, veja Funções incorporadas do Azure.
Limitações
- O pool de nós do sistema de clusters automáticos do AKS requer implantação em regiões do Azure que suportem pelo menos três zonas de disponibilidade, disco de sistema operacional efêmero e sistema operacional Linux do Azure.
- Você só pode criar clusters AKS Automatic em regiões onde a Integração de VNet do Servidor de API está geralmente disponível (GA).
Importante
AKS Automatic tenta selecionar dinamicamente um tamanho de máquina virtual para o grupo 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 em que você está implantando o cluster: 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 exibir cotas para famílias de VMs específicas e enviar solicitações de aumento de cota por meio do portal do Azure.
Se você tiver dúvidas adicionais, saiba mais através dos 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 seguinte cria um grupo de recursos com o nome myResourceGroup na localização 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 se assemelha à 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 AKS Automático
Para criar um cluster AKS Automatic, use o az aks create comando. O exemplo a seguir cria um cluster chamado myAKSAutomaticCluster com a integração do Managed Prometheus e do Container Insights habilitada.
az aks create \
--resource-group myResourceGroup \
--name myAKSAutomaticCluster \
--sku automatic
Após alguns minutos, o comando conclui e retorna informações formatadas em JSON sobre o cluster.
Conectar-se ao cluster
Para gerenciar um cluster Kubernetes, use o cliente de linha de comando Kubernetes, kubectl.
kubectl já está instalado se você usar o Azure Cloud Shell. Para instalar kubectl localmente, execute o az aks install-cli comando. Os clusters automáticos AKS são configurados com o Microsoft Entra ID para controle de acesso baseado em função (RBAC) do Kubernetes.
Observação
Quando você cria um cluster usando a CLI do Azure, seu usuário recebe funções internas para Azure Kubernetes Service RBAC Cluster Admin.
Configure kubectl para se conectar ao cluster do Kubernetes usando o az aks get-credentials comando. Este comando baixa credenciais e configura a CLI do Kubernetes para usá-las.
az aks get-credentials --resource-group myResourceGroup --name myAKSAutomaticCluster
Verifique a conexão ao seu cluster utilizando o comando kubectl get. Este comando retorna uma lista dos nós do cluster.
kubectl get nodes
A saída de exemplo a seguir mostra como você é solicitado a fazer login.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
Depois de fazer login, a saída de exemplo a seguir mostra os pools de nós do sistema gerenciado. Verifique se 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 Kubernetes automático
Para criar um cluster AKS Automático, procure Serviços Kubernetes e selecione Cluster Kubernetes Automático nas opções suspensas.
Na guia Noções básicas , preencha todos os campos obrigatórios (Assinatura, Grupo de recursos, Nome do cluster Kubernetes e Região) necessários para começar:
Na guia Monitoramento , escolha suas configurações de monitoramento no Azure Monitor, Managed Prometheus, Grafana Dashboards, Container Network Observability (ACNS) e/ou configure alertas. Habilite o Managed Grafana (opcional), adicione tags (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 a partir do GitHub e configure um pipeline de implantação automatizado.
Conectar-se ao cluster
Para gerenciar um cluster Kubernetes, use o cliente de linha de comando Kubernetes, kubectl.
kubectl já está instalado se você usar o Azure Cloud Shell. Para instalar kubectl localmente, execute o comando az aks install-cli . Os clusters automáticos AKS são configurados com o Microsoft Entra ID para controle de acesso baseado em função (RBAC) do Kubernetes. Quando você cria um cluster usando o portal do Azure, seu usuário recebe funções internas para Azure Kubernetes Service RBAC Cluster Admin.
Configure kubectl para se conectar ao cluster do Kubernetes usando o az aks get-credentials comando. Este comando baixa credenciais e configura a CLI do Kubernetes para usá-las.
az aks get-credentials --resource-group myResourceGroup --name myAKSAutomaticCluster
Verifique a conexão ao seu cluster utilizando o comando kubectl get. Este comando retorna uma lista dos nós do cluster.
kubectl get nodes
A saída de exemplo a seguir mostra como você é solicitado a fazer login.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
Depois de fazer login, a saída de exemplo a seguir mostra os pools de nós do sistema gerenciado. Verifique se 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ê será solicitado a especificar um local. Esse local é o local de armazenamento dos metadados do grupo de recursos e onde os recursos são executados no Azure se você não especificar outra região durante a criação do recurso.
O exemplo seguinte cria um grupo de recursos com o nome myResourceGroup na localização 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 se assemelha à criação bem-sucedida do grupo de recursos:
{
"id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
"location": "eastus",
"managedBy": null,
"name": "myResourceGroup",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
Revise o arquivo Bicep
Este ficheiro Bicep define um cluster AKS Automate. Durante a visualização, é necessário 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, consulte a referência Microsoft.ContainerService/managedClusters .
Desdobrar o arquivo Bicep
Salve o arquivo Bicep como main.bicep em seu computador local.
Importante
O arquivo Bicep define o parâmetro
clusterNamepara a string myAKSAutomaticCluster. Se você quiser usar um nome de cluster diferente, atualize a cadeia de caracteres para o nome do cluster preferido antes de salvar o arquivo no computador.Implante o arquivo Bicep usando a CLI do Azure.
az deployment group create --resource-group myResourceGroup --template-file main.bicepA criação do cluster do AKS demora alguns minutos. 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 Kubernetes, use o cliente de linha de comando Kubernetes, kubectl.
kubectl já está instalado se você usar o Azure Cloud Shell. Para instalar kubectl localmente, execute o comando az aks install-cli . Os clusters automáticos AKS são configurados com o Microsoft Entra ID para controle de acesso baseado em função (RBAC) do Kubernetes.
Importante
Ao criar um cluster usando o 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, por exemplo, usando az role assignment create --role "Azure Kubernetes Service RBAC Cluster Admin" --scope <AKS cluster resource id> --assignee user@contoso.com. Certifique-se também de que os seus utilizadores tenham a Azure Kubernetes Service Cluster User função interna para poder executar az aks get-credentials e, em seguida, obtenham o kubeconfig do cluster AKS usando o comando az aks get-credentials.
Configure kubectl para se conectar ao cluster do Kubernetes usando o az aks get-credentials comando. Este comando baixa credenciais e configura a CLI do Kubernetes para usá-las.
az aks get-credentials --resource-group myResourceGroup --name
Verifique a conexão ao seu cluster utilizando o comando kubectl get. Este comando retorna uma lista dos nós do cluster.
kubectl get nodes
A saída de exemplo a seguir mostra como você é solicitado a fazer login.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
Depois de fazer login, a saída de exemplo a seguir mostra os pools de nós do sistema gerenciado. Verifique se 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
Para implantar o aplicativo, use um arquivo de manifesto para criar todos os objetos necessários para executar o aplicativo AKS Store. Um arquivo de manifesto do Kubernetes define o estado desejado de um cluster, como quais imagens de contêiner devem ser executadas. O manifesto inclui as seguintes implantações e serviços do Kubernetes:
- Vitrine: aplicativo Web para que os clientes visualizem produtos e façam pedidos.
- Serviço do produto: Mostra as informações do produto.
- Serviço de pedidos: Faz pedidos.
- Rabbit MQ: Fila de mensagens para uma fila de pedidos.
Observação
Não recomendamos a execução de contêineres com monitoração de estado, como o Rabbit MQ, sem armazenamento persistente para produção. Eles são usados aqui para simplificar, mas recomendamos o uso de serviços gerenciados, como o Azure Cosmos DB ou o Azure Service Bus.
Crie um namespace
aks-store-demopara implantar os recursos do Kubernetes.kubectl create ns aks-store-demoImplante o aplicativo usando o
kubectl applycomando noaks-store-demonamespace. 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 saída de exemplo 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 a aplicação
Quando o aplicativo é executado, um serviço Kubernetes expõe o front-end do aplicativo à Internet. Este processo pode demorar alguns minutos a concluir.
Verifique o status dos pods implantados usando o comando kubectl get pods . Certifique-se de que todos os pods estão
Runningantes de prosseguir. Se esta for a primeira tarefa que você implanta, pode levar alguns minutos para que o provisionamento automático de nós crie um cluster de nós para executar os pods.kubectl get pods -n aks-store-demoVerifique se há um endereço IP público para a aplicação front-end de loja. Monitore o progresso utilizando o comando kubectl get service com o argumento
--watch.kubectl get ingress store-front -n aks-store-demo --watchA saída ADDRESS para o
store-frontserviço inicialmente mostra vazio:NAME CLASS HOSTS ADDRESS PORTS AGE store-front webapprouting.kubernetes.azure.com * 80 12mQuando o ENDEREÇO mudar de um estado em branco para um endereço IP público real, use
CTRL-Cpara parar o processo dekubectlmonitorização.A saída de exemplo a seguir mostra um endereço 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 e aceda ao endereço IP externo do seu ingresso para ver o Azure Store em ação.
Eliminar o cluster
Se você não planeja passar pelo tutorial do AKS, limpe 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 AKS foi criado com uma identidade gerenciada atribuída ao sistema, que é a opção de identidade padrão usada neste início rápido. A plataforma gerencia essa identidade, portanto, você não precisa removê-la manualmente.
Próximos passos
Neste início rápido, você implantou um cluster Kubernetes usando o AKS Automatic e, em seguida, implantou um aplicativo simples de vários contêineres nele. Este aplicativo de exemplo é apenas para fins de demonstração e não representa todas as práticas recomendadas para aplicativos Kubernetes. Para obter orientação sobre como criar soluções completas com o AKS para produção, consulte Orientação de solução AKS.
Para saber mais sobre o AKS Automatic, continue para a introdução.