Tutorial – Implantar um aplicativo no AKS (Serviço de Kubernetes do Azure)

Kubernetes fornece uma plataforma distribuída para aplicativos em contêineres. Você compilar e implanta seus próprios aplicativos e serviços em um cluster Kubernetes e permite que o cluster gerencie a disponibilidade e a conectividade.

Neste tutorial, parte quatro de sete, você implanta um aplicativo de exemplo em um cluster Kubernetes. Você aprenderá como:

  • Atualize um arquivo de manifesto do Kubernetes.
  • Execute um aplicativo no Kubernetes.
  • Teste o aplicativo.

Dica

Com o AKS será possível usar as seguintes abordagens para o gerenciamento de configuração:

Antes de começar

Nos tutoriais anteriores, você colocou um aplicativo em uma imagem de contêiner, carregamos a imagem no Registro de Contêiner do Azure e criamos um cluster do Kubernetes. Para concluir este tutorial, você precisa do arquivo de manifesto do Kubernetes aks-store-quickstart.yaml pré-criado. Esse arquivo foi baixado no código-fonte do aplicativo do Tutorial 1 – preparar o aplicativo para o AKS.

Este tutorial exige a CLI do Azure versão 2.0.53 ou posterior. Verifique sua versão com az --version. Para instalar ou atualizar, confira Instalar a CLI do Azure.

Atualizar o arquivo de manifesto

Nesses tutoriais, a instância de Registro de Contêiner do Azure (ACR) armazena as imagens de contêiner do aplicativo de exemplo. Para implantar o aplicativo, você deve atualizar os nomes da imagem no arquivo de manifesto do Kubernetes para incluir o nome do servidor de logon do ACR.

  1. Obtenha o endereço do servidor de logon usando o comando az acr list e consulte o servidor de logon.

    az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
    
  2. Verifique se você está no diretório aks-store-demo clonado e, em seguida, abra o arquivo de manifesto com um editor de texto, como vi.

    vi aks-store-quickstart.yaml
    
  3. Atualize a propriedade image para os contêineres substituindo ghcr.io/azure-samples pelo nome do servidor de logon do ACR.

    containers:
    ...
    - name: order-service
      image: <acrName>.azurecr.io/aks-store-demo/order-service:latest
    ...
    - name: product-service
      image: <acrName>.azurecr.io/aks-store-demo/product-service:latest
    ...
    - name: store-front
      image: <acrName>.azurecr.io/aks-store-demo/store-front:latest
    ...
    
  4. Salve e feche o arquivo. Em vi, use :wq.

Executar o aplicativo

  1. Execute o trabalho usando o comando kubectl apply, que analisa o arquivo de manifesto e cria os objetos definidos do Kubernetes.

    kubectl apply -f aks-store-quickstart.yaml
    

    A saída de exemplo a seguir mostra os recursos criados com êxito no cluster AKS:

    deployment.apps/rabbitmq 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
    
  2. Verifique se a implantação foi bem-sucedida exibindo os pods com kubectl

    kubectl get pods
    

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.

Linha de Comando

  1. Monitore o andamento usando o comando kubectl get service com o argumento --watch.

    kubectl get service store-front --watch
    

    Inicialmente, o EXTERNAL-IP para serviço de store-front aparece como pendente:

    store-front   LoadBalancer   10.0.34.242   <pending>     80:30676/TCP   5s
    
  2. Quando o endereço EXTERNAL-IP for alterado de pendente 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 IP público válido atribuído ao serviço:

    store-front   LoadBalancer   10.0.34.242   52.179.23.131   80:30676/TCP   67s
    
  3. Para conferir o aplicativo em ação, abra um navegador da Web no endereço IP externo do seu serviço.

    Captura de tela do aplicativo de exemplo do AKS Store.

Se o aplicativo não for carregado, isso pode indicar um problema de autorização com o registro da imagem. Para exibir o status de seus contêineres, use o comando kubectl get pods. Se você não conseguir efetuar pull das imagens de contêiner, confira Autenticar com o Registro de Contêiner do Azure no Serviço de Kubernetes do Azure.

Portal do Azure

Navegue até o portal do Azure para encontrar suas informações de implantação.

  1. Abra seu Grupo de Recursos no portal do Azure

  2. Navegue até o serviço do Kubernetes para seu cluster

  3. Selecione Services and Ingress em Kubernetes Resources

  4. Copie o IP externo mostrado na coluna para o store-front

  5. Cole o IP no navegador e visite a página da loja

    Captura de tela do aplicativo de exemplo do AKS Store.

Próximas etapas

Neste tutorial, você implantou um aplicativo Azure de exemplo em um cluster do Kubernetes no AKS. Você aprendeu a:

  • Atualize um arquivo de manifesto do Kubernetes.
  • Execute um aplicativo no Kubernetes.
  • Teste o aplicativo.

No próximo tutorial, você aprenderá a usar os serviços de PaaS em cargas de trabalho com estado no Kubernetes.