Partilhar via


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 aks-store-quickstart.yaml com um editor de texto.

  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.

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:

    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 visualizando os pods com o kubectl get pods comando.

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

    store-front   LoadBalancer   10.0.34.242   <pending>     80:30676/TCP   5s
    
  2. Quando o EXTERNAL-IP endereço mudar de um endereço IP público, use CTRL-C para interromper o kubectl processo de <pending> 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 e navegando até o endereço IP externo do seu serviço: http://<external-ip>.

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

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

  3. Copie o IP externo mostrado na coluna do store-front serviço.

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

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

Clean up resources (Limpar recursos)

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

  1. Pare e remova as instâncias e os recursos do contêiner usando o kubectl delete comando.

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

    kubectl get pods
    

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.