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 clonado aks-store-demo e, em seguida, abra o arquivo de manifesto aks-store-quickstart.yaml com um editor de texto.

  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.

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:

    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
    
  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 do serviço store-front é mostrado como <pending>:

    store-front   LoadBalancer   10.0.34.242   <pending>     80:30676/TCP   5s
    
  2. Quando o endereço EXTERNAL-IP mudar de <pending> para um endereço IP público, use CTRL-C para interromper o processo de observação 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. Exiba o aplicativo em ação abrindo um navegador da Web e navegando para o endereço IP externo do seu serviço: http://<external-ip>.

    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. Navegue até o recurso de seu cluster do AKS.

  2. No menu de serviço, em Recursos do Kubernetes, selecione Serviços e entradas.

  3. Copie o IP Externo mostrado na coluna para o store-front serviço.

  4. Cole o IP no seu navegador para visitar a página da sua loja.

    Captura de tela do aplicativo de exemplo do AKS Store.

Limpar os recursos

Como você validou a funcionalidade do aplicativo, agora pode remover o cluster do aplicativo. Implantaremos o aplicativo novamente no próximo tutorial.

  1. Para interromper e remover os recursos e as instâncias do contêiner, use o comando kubectl delete.

    kubectl delete -f aks-store-quickstart.yaml
    
  2. Verifique se todos os pods de aplicativos foram removidos usando o comando kubectl get pods.

    kubectl get pods
    

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.