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

O Kubernetes dispõe de uma plataforma distribuída para aplicações em contentores. Você cria 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. Sabe como:

  • Atualize um arquivo de manifesto do Kubernetes.
  • Execute um aplicativo no Kubernetes.
  • Testar a aplicação.

Gorjeta

Com o AKS, você pode usar as seguintes abordagens para gerenciamento de configuração:

Antes de começar

Em tutoriais anteriores, você empacotou um aplicativo em uma imagem de contêiner, carregou a imagem no Registro de Contêiner do Azure e criou um cluster Kubernetes. Para concluir este tutorial, você precisa do arquivo de manifesto do Kubernetes pré-criado aks-store-quickstart.yaml . Este arquivo foi baixado no código-fonte do aplicativo do Tutorial 1 - Preparar aplicativo para AKS.

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

Atualizar o ficheiro de manifesto

Nestes tutoriais, sua instância do Azure Container Registry (ACR) armazena as imagens de contêiner para o aplicativo de exemplo. Para implantar o aplicativo, você deve atualizar os nomes das imagens no arquivo de manifesto do Kubernetes para incluir o nome do servidor de login do ACR.

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

    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 com um editor de texto, como vi.

    vi aks-store-quickstart.yaml
    
  3. Atualize a image propriedade dos contêineres substituindo-ghcr.io/azure-samples pelo nome do servidor de login 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. Guarde e feche o ficheiro. Em vi, use :wq.

Executar a aplicação

  1. Implante o aplicativo usando o kubectl apply comando, que analisa o arquivo de manifesto e cria os objetos Kubernetes definidos.

    kubectl apply -f aks-store-quickstart.yaml
    

    O exemplo de saída 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 visualizando os pods com kubectl

    kubectl get pods
    

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.

Linha de Comandos

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

    kubectl get service store-front --watch
    

    Inicialmente, o EXTERNAL-IP para o serviço de vitrine mostra como pendente:

    store-front   LoadBalancer   10.0.34.242   <pending>     80:30676/TCP   5s
    
  2. Quando o EXTERNAL-IP endereço mudar de pendente para um endereço IP público real, use CTRL-C para interromper o kubectl processo de monitoramento.

    A saída de exemplo a seguir 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. Veja o aplicativo em ação abrindo um navegador da Web para o endereço IP externo do seu serviço.

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

Se o aplicativo não carregar, pode ser um problema de autorização com seu registro de imagem. Para ver o estado dos seus contentores, utilize o comando kubectl get pods. Se não for possível extrair as imagens de contêiner, consulte Autenticar com o Registro de Contêiner do Azure do Serviço 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 Kubernetes para seu cluster

  3. Selecione Services and Ingress em Kubernetes Resources

  4. Copie o IP externo mostrado na coluna para a vitrine

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

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

Próximos passos

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

  • Atualize um arquivo de manifesto do Kubernetes.
  • Execute um aplicativo no Kubernetes.
  • Testar a aplicação.

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