Compartilhar via


Início Rápido: Implantar um cluster no Serviço de Kubernetes do Azure (AKS) Automático (versão prévia)

Aplica-se a: ✔️ AKS Automático (versão prévia)

O Serviço de Kubernetes do Azure (AKS) Automático (versão prévia) fornece a experiência de Kubernetes gerenciada mais fácil que existe 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.

Neste início rápido, você aprenderá a:

  • Implante um cluster do AKS Automático.
  • Executar 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).

  • 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 Azure para aks-preview na 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 recurso AutomaticSKUPreview na 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

Certifique-se de que sua assinatura tenha uma cota para 24 vCPUs da máquina virtual Standard_DS4_v2 para a região na qual você está implantando o cluster. 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. .png

  • 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ões Microsoft.Compute/virtualMachines/write e Microsoft.Resources/deployments/*. Para ver uma lista de funções e permissões, consulte Funções interna do Azure.

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

Importante

As versões prévias do recurso AKS estão disponíveis em uma base de autoatendimento e aceitação. As visualizações são fornecidas "como estão" e "conforme disponíveis" e estão excluídas dos acordos de nível de serviço e da garantia limitada. As versões prévias do AKS são parcialmente cobertas pelo suporte ao cliente em uma base de melhor esforço. Dessa forma, esses recursos não são destinados ao uso em produção. Para obter mais informações, consulte os seguintes artigos:

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 do recurso

Para usar o AKS Automático na versão prévia, você precisa registrar sinalizadores de recursos para outros recursos obrigatórios. Registre os sinalizadores a seguir 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. Levará alguns minutos para que o status mostre Registrado:

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

Quando o status reflete 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 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 amostra de resultado a seguir se parece com uma 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 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 o controle de acesso baseado em função ( RBAC) do Kubernetes. 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 amostra de saída a seguir mostra como você será 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.

Após você ter feito o login, a amostra de saída a seguir mostra os pools de nós gerenciados criados nas etapas anteriores. Verifique se que 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 cluster do Kubernetes Automático

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

    Captura de tela do ponto de entrada para criar um cluster do AKS Automático 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

    Captura de tela da guia Criar — Noções Básicas para um cluster do AKS Automático no portal do Azure.

    Se os pré-requisitos não forem atendidos e a assinatura exigir o registro dos sinalizadores da versão prévia, um erro será mostrado no campo Assinatura:

    Captura de tela do erro mostrado quando uma assinatura não tem sinalizadores de versão prévia registrados durante a criação de um cluster do AKS Automático no portal do Azure.

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

    Captura de tela da guia Monitoramento ao criar um cluster do AKS Automático no portal do Azure.

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

    Captura de tela da guia Introdução na Folha de Visão Geral, após criar um cluster do AKS Automático no portal do Azure.

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 o controle de acesso baseado em função ( RBAC) 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 amostra de saída a seguir mostra como você será 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.

Após você ter feito o login, a amostra de saída a seguir mostra os pools de nós gerenciados criados nas etapas anteriores. Verifique se que 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ê é 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 amostra de resultado a seguir se parece com uma 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'
  		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, confira a referência Microsoft.ContainerService/managedClusters.

Implante o arquivo Bicep

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

    Importante

    O arquivo Bicep define o parâmetro clusterName como 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.

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

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

    Leva 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 o controle de acesso baseado em função ( RBAC) do Kubernetes. Ao criar um cluster usando Bicep, você precisa atribuir uma das funções integradas — 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 um escopo para o cluster ou para um namespace específico. 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 amostra de saída a seguir mostra como você será 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.

Após você ter feito o login, a amostra de saída a seguir mostra os pools de nós gerenciados criados nas etapas anteriores. Verifique se que 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

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:

Captura de tela da arquitetura de exemplo do Microsoft Azure Store.

  • Frente de loja: Aplicativo Web para clientes visualizarem produtos e fazerem pedidos.
  • Serviço do produto: Mostra informações do produto.
  • Serviço de pedido: Realiza pedidos.
  • Rabbit MQ: Fila de mensagens de 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.

  1. Crie um namespace aks-store-demo onde você irá implantar os recursos do Kubernetes.

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

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

  1. 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-demo
    
  2. Verifique 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 --watch
    

    A saída ADDRESS para o serviço store-front inicialmente aparece vazia:

    NAME          CLASS                                HOSTS   ADDRESS        PORTS   AGE
    store-front   webapprouting.kubernetes.azure.com   *                      80      12m
    
  3. Quando o ADDRESS muda de vazio para um endereço IP público real, use CTRL-C para interromper o processo de inspeção do kubectl.

    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      12m
    
  4. Abra um navegador da web para o endereço IP externo da sua entrada para ver o aplicativo da Microsoft Azure Store em ação.

    Captura de tela do aplicativo de exemplo do AKS Store.

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.