Partilhar via


Guia de início rápido: implantar um cluster automático do Serviço Kubernetes do Azure (AKS) (visualização)

Aplica-se a: ✔️ AKS Automatic (pré-visualização)

O Serviço Kubernetes do Azure (AKS) Automático (visualização) 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.

Neste guia de início rápido, você aprende a:

  • Implante um cluster AKS Automático.
  • Execute 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 introdução parte do princípio de que possui conhecimentos básicos dos conceitos do Kubernetes. Para obter mais informações, consulte Conceitos principais do Kubernetes para o Serviço Kubernetes do Azure (AKS).

  • Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.

  • Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor 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 Entrar com a CLI do Azure.

    • Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.

    • Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.

  • Este artigo requer a versão 2.57.0 ou posterior da CLI do Azure. Se você estiver usando o Azure Cloud Shell, a versão mais recente já está instalada lá.

  • Este artigo requer a extensão da CLI do aks-preview Azure versão 3.0.0b13 ou posterior.

  • Se você tiver várias assinaturas do Azure, selecione a ID de assinatura apropriada na qual os recursos devem ser cobrados usando o comando az account set .

  • Registre o AutomaticSKUPreview recurso em sua assinatura do Azure.

  • A identidade que cria o cluster também deve ter as seguintes permissões na assinatura:

    • Microsoft.Authorization/policyAssignments/write
    • Microsoft.Authorization/policyAssignments/read

Importante

Verifique se sua assinatura tem cota para 24 vCPUs da máquina virtual Standard_DS4_v2 para a região em que você está implantando o cluster. 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. .png

  • 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/deployments recurso. Por exemplo, para criar uma máquina virtual, você precisa de Microsoft.Compute/virtualMachines/write permissões Microsoft.Resources/deployments/* . Para obter uma lista de funções e permissões, veja Funções incorporadas do Azure.

Instalar a extensão aks-preview da CLI do Azure

Importante

Os recursos de visualização do AKS estão disponíveis em uma base de autosserviço e opt-in. As visualizações prévias são fornecidas "como estão" e "conforme disponíveis" e são excluídas dos contratos de nível de serviço e da garantia limitada. As visualizações do AKS são parcialmente cobertas pelo suporte ao cliente com base no melhor esforço. Como tal, estas funcionalidades não se destinam a utilização em produção. Para obter mais informações, consulte os seguintes artigos de suporte:

Para instalar a extensão aks-preview, execute o seguinte comando:

az extension add --name aks-preview

Execute o seguinte comando para atualizar para a versão mais recente da extensão lançada:

az extension update --name aks-preview

Registrar os sinalizadores de recursos

Para usar o AKS Automatic na visualização, você deve registrar sinalizadores de recursos para outros recursos necessários. Registre os seguintes sinalizadores usando o comando az feature register .

az feature register --namespace Microsoft.ContainerService --name EnableAPIServerVnetIntegrationPreview
az feature register --namespace Microsoft.ContainerService --name NRGLockdownPreview
az feature register --namespace Microsoft.ContainerService --name SafeguardsPreview
az feature register --namespace Microsoft.ContainerService --name NodeAutoProvisioningPreview
az feature register --namespace Microsoft.ContainerService --name DisableSSHPreview
az feature register --namespace Microsoft.ContainerService --name AutomaticSKUPreview

Verifique o status do registro usando o comando az feature show . Leva alguns minutos para que o status mostre Registrado:

az feature show --namespace Microsoft.ContainerService --name AutomaticSKUPreview

Quando o status refletir Registrado, atualize o registro do provedor de recursos Microsoft.ContainerService usando o comando az provider register :

az provider register --namespace Microsoft.ContainerService

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 Automatic

Para criar um cluster AKS Automatic, use o comando az aks create . 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 \
    --generate-ssh-keys

Após alguns minutos, o comando conclui e retorna informações formatadas em JSON sobre o cluster.

Ligar 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 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 comando az aks get-credentials . 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 com seu cluster usando o comando kubectl get . Este comando retorna uma lista dos nós do cluster.

kubectl get nodes

A saída de exemplo a seguir mostrará 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 logon, a saída de exemplo a seguir mostra os pools de nós gerenciados criados nas etapas anteriores. Verifique se o status do nó é Pronto.

NAME                                STATUS   ROLES   AGE     VERSION
aks-default-f8vj2                   Ready    agent   2m26s   v1.28.5
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

  1. Para criar um cluster AKS Automático, procure Serviços Kubernetes e selecione Cluster Kubernetes Automático nas opções suspensas.

    A captura de tela do ponto de entrada para criar um cluster AKS Automatic no portal do Azure.

  2. Na guia Noções básicas, preencha todos os campos obrigatórios necessários para começar: Assinatura, Grupo de recursos, Nome do cluster e Região

    A captura de ecrã do separador Criar - Noções básicas para um cluster AKS Automatic no portal do Azure.

    Se os pré-requisitos não forem atendidos e a assinatura exigir o registro dos sinalizadores de visualização, haverá um erro exibido no campo Assinatura:

    A captura de ecrã do erro apresentado quando uma subscrição não tem sinalizadores de pré-visualização registados durante a criação de um cluster AKS Automatic no portal do Azure.

  3. Na guia Monitoramento, escolha suas configurações de monitoramento no Azure Monitor, Managed Prometheus, Managed Grafana e/ou configure alertas. Adicione tags (opcional) e prossiga para criar o cluster.

    A captura de tela da guia Monitoramento ao criar um cluster AKS Automatic no portal do Azure.

  4. Comece a configurar seu primeiro aplicativo a partir do GitHub e configure um pipeline de implantação automatizado.

    A captura de tela da guia Introdução na folha Visão geral depois de criar um cluster AKS Automatic no portal do Azure.

Ligar 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 comando az aks get-credentials . 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 com seu cluster usando o comando kubectl get . Este comando retorna uma lista dos nós do cluster.

kubectl get nodes

A saída de exemplo a seguir mostrará 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 logon, a saída de exemplo a seguir mostra os pools de nós gerenciados criados nas etapas anteriores. Verifique se o status do nó é Pronto.

NAME                                STATUS   ROLES   AGE     VERSION
aks-default-f8vj2                   Ready    agent   2m26s   v1.28.5
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, você precisa 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'
  		tier: 'Standard'
  }
  properties: {
    agentPoolProfiles: [
      {
        name: 'systempool'
        count: 3
        vmSize: 'Standard_DS4_v2'
        osType: 'Linux'
        mode: 'System'
      }
    ]
  }
  identity: {
    type: 'SystemAssigned'
  }
}

Para obter mais informações sobre o recurso definido no arquivo Bicep, consulte a referência Microsoft.ContainerService/managedClusters.

Implantar o arquivo Bicep

  1. Salve o arquivo Bicep como main.bicep em seu computador local.

    Importante

    O arquivo Bicep define o clusterName param para 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.

  2. Implante o arquivo Bicep usando a CLI do Azure.

    az deployment group create --resource-group myResourceGroup --template-file main.bicep
    

    A 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.

Ligar 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. 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 usuários, com escopo para o cluster ou um namespace específico. Certifique-se também de que seus usuários tenham a Azure Kubernetes Service Cluster User função interna para poder executar az aks get-credentialse, em seguida, obtenha o kubeconfig do cluster AKS usando o az aks get-credentials comando.

Configure kubectl para se conectar ao cluster do Kubernetes usando o comando az aks get-credentials . 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 com seu cluster usando o comando kubectl get . Este comando retorna uma lista dos nós do cluster.

kubectl get nodes

A saída de exemplo a seguir mostrará 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 logon, a saída de exemplo a seguir mostra os pools de nós gerenciados criados nas etapas anteriores. Verifique se o status do nó é Pronto.

NAME                                STATUS   ROLES   AGE     VERSION
aks-default-f8vj2                   Ready    agent   2m26s   v1.28.5
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

Implementar a aplicação

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:

Captura de ecrã da arquitetura de exemplo da Loja Azure.

  • 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.

Nota

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.

  1. Crie um namespace aks-store-demo para implantar os recursos do Kubernetes.

    kubectl create ns aks-store-demo
    
  2. Implante o aplicativo usando o comando kubectl apply no aks-store-demo namespace. 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.yaml
    

    A 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.

  1. Verifique o status dos pods implantados usando o comando kubectl get pods . Certifique-se de que todos os pods estão Running antes de prosseguir. Se essa for a primeira carga de trabalho implantada, pode levar alguns minutos para que o provisionamento automático do nó crie um pool de nós para executar os pods.

    kubectl get pods -n aks-store-demo
    
  2. Verifique se há um endereço IP público para o aplicativo de vitrine. Monitore o progresso usando o comando kubectl get service com o --watch argumento.

    kubectl get ingress store-front -n aks-store-demo --watch
    

    A saída ADDRESS para o store-front serviço inicialmente mostra vazio:

    NAME          CLASS                                HOSTS   ADDRESS        PORTS   AGE
    store-front   webapprouting.kubernetes.azure.com   *                      80      12m
    
  3. Quando o ENDEREÇO mudar de um endereço IP público em branco para um endereço IP público real, use CTRL-C para parar o processo de kubectl observaçã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      12m
    
  4. Abra um navegador da Web para o endereço IP externo de sua entrada para ver o aplicativo da Loja Azure em ação.

    Captura de ecrã da aplicação de exemplo AKS Store.

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

Nota

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.