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.

Pode implementar a aplicação de exemplo de duas formas:

Neste tutorial, implementa uma aplicação de exemplo num cluster Kubernetes diretamente a partir da sua estação de trabalho e gere a aplicação usando o desktop AKS. Sabe como:

  • Atualize um arquivo de manifesto do Kubernetes.
  • Implemente uma aplicação no Kubernetes.
  • Testar a aplicação.
  • Veja a saúde da aplicação, registos, métricas e composição no desktop AKS.

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 cria e atualiza recursos sujeitos a faturação, como serviços LoadBalancer. Use uma identidade com permissões para implementar cargas de trabalho no AKS e ler recursos do cluster.

Este tutorial requer a instalação do desktop AKS.

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. 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 dos contentores substituindo ghcr.io/azure-samples pelo nome do seu servidor de login 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 a aplicação

Implemente e gere a aplicação usando o ambiente de trabalho AKS

O AKS desktop é um portal para programadores focado em aplicações para Azure Kubernetes Service (AKS) que simplifica a implementação e gestão de aplicações sem exigir uma vasta experiência em Kubernetes.

Regista o teu cluster no ambiente de trabalho AKS

  1. Certifica-te de que estás ligado ao desktop do AKS com a mesma conta que tem acesso ao cluster do AKS. Assim que iniciar sessão, selecione Adicionar a partir da subscrição do Azure.
  2. Introduza o nome da sua subscrição Azure se tiver mais do que uma. (Alternativamente, selecione a seta para abrir a lista suspensa e depois selecione a sua subscrição Azure.)
  3. Selecione o seu cluster e depois selecione Registar Cluster.

Continue depois de o estado do cluster aparecer como conectado na aplicação de ambiente de trabalho do AKS.

Um vídeo a demonstrar como adicionar um cluster à aplicação de ambiente de trabalho do AKS.

Criar um Projeto gerido no ambiente de trabalho AKS

  1. No ambiente de trabalho do AKS, vá ao separador Projetos e selecione Criar um Novo Project Gerido.

  2. Configure as seguintes definições do projeto:

    • Princípios básicos:
      • Nome do Projeto: Por exemplo, my-dev-frontend
      • Subscrição: <your-subscription-name>
      • Agrupamento: <your-cluster-name>

    Note

    Quando defines a subscrição do Azure e o cluster do AKS, o AKS desktop verifica se existe suporte necessário para as funcionalidades do cluster e da subscrição.

    • Políticas de Rede: Pode deixar as definições padrão deste início rápido ou atualizá-las conforme necessário.

      • Para expor a aplicação publicamente, altere Ingress para Allow all traffic.
    • Compute Quota: Defina os valores para a aplicação de teste. Captura de ecrã que mostra a definição dos valores para a quota de cálculo.

    • Acesso: Adicionar alguém ou eliminar a entrada eliminando o item de linha.

  3. Em Revisar, verifique as definições do seu Projeto e depois selecione Criar Projeto.

    Captura de ecrã da criação de um novo Projeto no ambiente de trabalho AKS.

Implementar uma aplicação

  1. Forneça um nome de aplicação e depois selecione Criar Aplicação.

    Captura de ecrã da criação de uma nova aplicação no ambiente de trabalho AKS.

  2. Selecione uma fonte para a sua candidatura. Para este exemplo, selecione Kubernetes YAML>Next. Captura de ecrã que mostra a seleção da fonte da aplicação, selecione Kubernetes YAML.

  3. Abra aks-store-quickstart.yaml, copie e cole o respetivo conteúdo no editor e, em seguida, selecione Próximo. Captura de ecrã que mostra o Editor YAML com o YAML copiado e colado.

  4. Revise os recursos criados e depois selecione Implementar e Fechar. Captura de ecrã que mostra o resumo de Revisão e Implementação, selecione Implementar e Fechar.

  5. Os recursos podem demorar alguns minutos a ser implementados. Durante este período, o estado do projeto pode aparecer Degraded enquanto o cluster escala.

  6. Verifique o estado dos recursos da aplicação selecionando Recursos e depois Cargas de Trabalho.

    Captura de ecrã que mostra o separador Recursos para visualizar recursos e as suas alterações. Pode forçar a atualização do ecrã selecionando a opção do menu da janela superior Navegar>Recarregar.

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

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.

AKS Desktop

  1. Obtenha o endereço IP público a partir de Recurso>Rede>Serviço: store-front>IP externo. Captura de ecrã que mostra obter o endereço IP público da aplicação.

  2. Explore a aplicação no ambiente de trabalho do AKS, como visualizar registos e métricas. Para mais informações, consulte a visão geral do ambiente de trabalho do AKS.

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 store-front aparece 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 <pending> para interromper o CTRL-C processo de kubectl 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é ao 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 para o serviço store-front.

  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.

Limpar recursos

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

AKS Desktop

Note

Se quiseres avançar para o próximo passo do tutorial, não apagues o projeto de ambiente de trabalho do AKS.

Se terminar, selecione o ícone Apagar . Na mensagem de confirmação, selecione Também apagar o namespace. Para eliminar o projeto, selecione o ícone do caixote do lixo

Linha de comandos

  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.