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:
GitOps: Permite que as declarações do estado do cluster se apliquem automaticamente ao cluster. Para saber como usar o GitOps para implantar um aplicativo com um cluster AKS, consulte os pré-requisitos para clusters do Serviço Kubernetes do Azure no tutorial GitOps com Flux v2 .
DevOps: Permite criar, testar e implantar com integração contínua (CI) e entrega contínua (CD). Para ver exemplos de como usar o DevOps para implantar um aplicativo com um cluster AKS, consulte Criar e implantar no AKS com o Azure Pipelines ou Ações do GitHub para implantação no Kubernetes.
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.
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
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
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 ...
Guarde e feche o ficheiro. Em
vi
, use:wq
.
Executar a aplicação
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
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
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
Quando o
EXTERNAL-IP
endereço mudar de pendente para um endereço IP público real, useCTRL-C
para interromper okubectl
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
Veja o aplicativo em ação abrindo um navegador da Web para o endereço IP externo do seu serviço.
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.
Abra seu Grupo de Recursos no portal do Azure
Navegue até o serviço Kubernetes para seu cluster
Selecione
Services and Ingress
emKubernetes Resources
Copie o IP externo mostrado na coluna para a vitrine
Cole o IP no seu navegador e visite a página da sua loja
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.
Azure Kubernetes Service
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários