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

Kubernetes fornece uma plataforma distribuída para aplicativos em contêineres. Você compila e implanta seus próprios aplicativos e serviços em um cluster do Kubernetes e deixa o cluster gerenciar a disponibilidade e a conectividade.

Você pode implantar o aplicativo de exemplo de duas maneiras:

Neste tutorial, você implantará um aplicativo de exemplo em um cluster do Kubernetes diretamente da sua estação de trabalho e gerenciará o aplicativo usando a área de trabalho do AKS. Você aprenderá como:

  • Atualize um arquivo de manifesto do Kubernetes.
  • Implantar um aplicativo no Kubernetes.
  • Teste o aplicativo.
  • Exibir a saúde do aplicativo, os logs, as métricas e a composição no AKS desktop.

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 cria e atualiza recursos faturáveis, como serviços LoadBalancer. Use uma identidade com permissões para implantar cargas de trabalho no AKS e ler recursos de cluster.

Este tutorial requer a instalação da área de trabalho do AKS.

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 das imagens no arquivo de manifesto do Kubernetes para incluir o nome do servidor de login do ACR.

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

  2. 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:1.0
    ...
    - name: product-service
      image: <acrName>.azurecr.io/aks-store-demo/product-service:1.0
    ...
    - name: store-front
      image: <acrName>.azurecr.io/aks-store-demo/store-front:1.0
    ...
    

Executar o aplicativo

Implantar e gerenciar o aplicativo usando a área de trabalho do AKS

A área de trabalho do AKS é um portal de desenvolvedores focado em aplicativos para AKS (Serviço de Kubernetes do Azure) que simplifica a implantação e o gerenciamento de aplicativos sem a necessidade de conhecimento profundo do Kubernetes.

Registrar seu cluster com a área de trabalho do AKS

  1. Verifique se você está conectado à área de trabalho do AKS com a mesma conta que tem acesso ao cluster do AKS. Depois de entrar, selecione Adicionar por meio da Assinatura do Azure.
  2. Insira o nome da sua assinatura do Azure se você tiver mais de uma. (Como alternativa, selecione a seta para abrir a lista suspensa e selecione sua assinatura do Azure.)
  3. Selecione seu cluster e selecione Registrar Cluster.

Continue quando o status do cluster aparecer como conectado na área de trabalho do AKS.

Um vídeo demonstrando como adicionar um cluster ao aplicativo da área de trabalho do AKS.

Criar um projeto gerenciado na área de trabalho do AKS

  1. Na área de trabalho do AKS, vá para a guia Projetos e selecione Criar um novo Project Gerenciado.

  2. Defina as seguintes configurações do Projeto:

    • Noções básicas:
      • Nome do projeto: por exemplo, my-dev-frontend
      • Assinatura: <your-subscription-name>
      • Cluster: <your-cluster-name>

    Note

    Quando você define a assinatura Azure e o cluster do AKS, a área de trabalho do AKS verifica se há suporte necessário para o cluster e o recurso de assinatura.

    • Políticas de Rede: você pode deixar as configurações padrão para este início rápido ou atualizá-las conforme necessário.

      • Para expor o aplicativo publicamente, altere Ingress para Allow all traffic.
    • Cota de Computação: defina os valores do aplicativo de teste. Captura de tela que mostra a definição dos valores da cota de computação.

    • Acesso: Adicione alguém ou exclua a entrada excluindo o item de linha.

  3. Em Revisão, verifique as configurações do projeto e, em seguida, selecione Criar Projeto.

    Captura de tela da criação de um novo Projeto na área de trabalho do AKS.

Implantar um aplicativo

  1. Forneça um nome de aplicativo e selecione Criar Aplicativo.

    Captura de tela da criação de um novo aplicativo na área de trabalho do AKS.

  2. Selecione uma origem para seu aplicativo. Para este exemplo, selecione Kubernetes YAML>Next. Captura de tela que mostra a seleção da origem do aplicativo, selecione O YAML do Kubernetes.

  3. Abra aks-store-quickstart.yaml, copie e cole seu conteúdo no editor e selecione Avançar. Captura de tela que mostra o Editor YAML com o YAML copiado e colado.

  4. Examine os recursos criados e selecione Implantar e Fechar. Captura de tela que mostra o resumo de Revisão e Implantação, selecione Implantar e Fechar.

  5. Os recursos podem levar alguns minutos para serem implantados. Durante esse tempo, o status do projeto pode aparecer como Degraded enquanto o cluster é escalado.

  6. Verifique o status dos recursos do aplicativo selecionando Recursos e, em seguida, Cargas de Trabalho.

    Captura de tela que mostra a guia Recursos para exibir recursos e suas alterações. Você pode forçar uma atualização de tela selecionando a opção de menu de janela superior Navegar>Recarregar.

  7. Selecione recursos de carga de trabalho individuais para exibir seus detalhes e eventos.

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.

Área de trabalho do AKS

  1. Obtenha o endereço IP público em Recurso>Rede>Serviço: store-front>IP externo. Captura de tela que mostra a obtenção do endereço IP público para o aplicativo.

  2. Explore o aplicativo na área de trabalho do AKS, como exibir logs e métricas. Para obter mais informações, consulte a visão geral da área de trabalho do AKS.

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 muda de <pending> para um endereço IP público, use CTRL-C para interromper o processo de monitoramento 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 carregar, pode ser um problema de autorização no seu registro de imagens. Para exibir o status de seus contêineres, use o comando kubectl get pods. Se você não conseguir extrair as imagens de contêiner, consulte Autenticar no Registro de Contêiner do Azure a partir do 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 do serviço store-front.

  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.

Área de trabalho do AKS

Note

Se você quiser continuar para a próxima etapa do tutorial, não exclua o projeto da área de trabalho do AKS.

Se terminar, selecione o ícone Excluir . Na mensagem de confirmação, selecione Também excluir o namespace. Para excluir o projeto, selecione o ícone de lixeira

Linha de comando

  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.