Tutorial – Implantar um aplicativo no AKS (Serviço de Kubernetes do Azure)
Kubernetes fornece uma plataforma distribuída para aplicativos em contêineres. Você compilar 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. Você aprenderá como:
- Atualize um arquivo de manifesto do Kubernetes.
- Execute um aplicativo no Kubernetes.
- Teste o aplicativo.
Dica
Com o AKS será possível usar as seguintes abordagens para o gerenciamento de configuração:
GitOps: permite que as declarações do estado do cluster sejam aplicadas automaticamente ao cluster. Para saber como usar o GitOps para implantar um aplicativo com um cluster do AKS, confira o os pré-requisitos para clusters do Serviço de Kubernetes do Azure no tutorial GitOps com Flux v2.
DevOps: permite criar, testar e implantar com CI (integração contínua) e CD (entrega contínua). Para conferir exemplos de como usar o DevOps para implantar um aplicativo com um cluster do AKS, consulte Criar e implantar no AKS com o Azure Pipelines ou GitHub Actions para implantação no Kubernetes.
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 exige a CLI do Azure versão 2.0.53 ou posterior. Verifique sua versão com az --version
. Para instalar ou atualizar, confira Instalar a CLI do Azure.
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 da imagem no arquivo de manifesto do Kubernetes para incluir o nome do servidor de logon do ACR.
Obtenha o endereço do servidor de logon usando o comando
az acr list
e consulte o servidor de logon.az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
Verifique se você está no diretório aks-store-demo clonado e, em seguida, abra o arquivo de manifesto com um editor de texto, como
vi
.vi aks-store-quickstart.yaml
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: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 ...
Salve e feche o arquivo. Em
vi
, use:wq
.
Executar o aplicativo
Execute o trabalho usando o comando
kubectl apply
, que analisa o arquivo de manifesto e cria os objetos definidos do Kubernetes.kubectl apply -f aks-store-quickstart.yaml
A saída de exemplo 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 exibindo os pods com
kubectl
kubectl get pods
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.
Linha de Comando
Monitore o andamento usando o comando
kubectl get service
com o argumento--watch
.kubectl get service store-front --watch
Inicialmente, o
EXTERNAL-IP
para serviço de store-front aparece como pendente:store-front LoadBalancer 10.0.34.242 <pending> 80:30676/TCP 5s
Quando o endereço
EXTERNAL-IP
for alterado de pendente para um endereço IP público real, useCTRL-C
para interromper o processo de inspeção dokubectl
.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
Para conferir o aplicativo em ação, abra um navegador da Web no endereço IP externo do seu serviço.
Se o aplicativo não for carregado, isso pode indicar um problema de autorização com o registro da imagem. Para exibir o status de seus contêineres, use o comando kubectl get pods
. Se você não conseguir efetuar pull das imagens de contêiner, confira Autenticar com o Registro de Contêiner do Azure no Serviço de 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 do Kubernetes para seu cluster
Selecione
Services and Ingress
emKubernetes Resources
Copie o IP externo mostrado na coluna para o store-front
Cole o IP no navegador e visite a página da loja
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.