Tutorial: Implantar aplicativos no AKS habilitados pelo Azure Arc

Aplica-se a: AKS no Azure Stack HCI 22H2, AKS no Windows Server

Você pode criar e implantar seus próprios aplicativos e serviços em um cluster do Kubernetes quando estiver usando Serviço de Kubernetes do Azure habilitado pelo Azure Arc. O Kubernetes fornece uma plataforma distribuída para aplicativos em contêineres. Você pode permitir que o cluster gerencie a disponibilidade e a conectividade.

Este tutorial, parte quatro de sete, descreve como você pode implantar um aplicativo de exemplo em um cluster do Kubernetes no AKS. Você aprenderá a:

  • Atualizar um arquivo de manifesto do Kubernetes
  • Implantar um aplicativo no Kubernetes
  • Testar o aplicativo

Tutoriais posteriores descrevem como dimensionar e atualizar este aplicativo.

Este guia de início rápido pressupõe uma compreensão básica dos conceitos do Kubernetes.

Antes de começar

Tutoriais anteriores descreveram como empacotar um aplicativo em uma imagem de contêiner e, em seguida, carregar a imagem no Registro de Contêiner do Azure e criar um cluster do Kubernetes.

Para concluir este tutorial, você precisa do arquivo de manifesto do Kubernetes azure-vote-all-in-one-redis.yaml criado previamente. Esse arquivo foi baixado com o código-fonte do aplicativo em um tutorial anterior. Verifique se você clonou o repositório e se alterou os diretórios para o repositório clonado. Se você ainda não tiver feito essas etapas, comece com o Tutorial 1 – Criar imagens de contêiner.

Este tutorial exige a CLI do Azure versão 2.0.53 ou posterior. Execute az --version para encontrar a versão. Se você precisar instalar ou atualizar a CLI do Azure, confira Instalar a CLI do Azure.

Atualizar o arquivo de manifesto

Nestes tutoriais, uma instância de Registro de Contêiner do Azure armazena a imagem de contêiner para o aplicativo de exemplo. Para implantar o aplicativo, você deve atualizar o nome da imagem no arquivo de manifesto do Kubernetes para incluir o nome do servidor de logon do registro de contêiner.

Obtenha o Registro de Contêiner do Azure nome do servidor de logon usando o comando az acr list, da seguinte maneira:

az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table

O arquivo de manifesto de exemplo do repositório GitHub clonado no primeiro tutorial usa o nome do servidor de logon da Microsoft. Verifique se você está no diretório azure-voting-app-redis clonado e abra o arquivo de manifesto com um editor de texto, como o Bloco de Notas:

notepad azure-vote-all-in-one-redis.yaml

Substitua microsoft pelo nome do servidor de logon do Registro de Contêiner do Azure. O nome da imagem pode ser encontrado na linha 60 do arquivo de manifesto. O seguinte exemplo mostra o nome da imagem padrão:

containers:
- name: azure-vote-front
  image: mcr.microsoft.com/azuredocs/azure-vote-front:v1

Forneça seu próprio Registro de Contêiner do Azure nome do servidor de logon para que o arquivo de manifesto se pareça com o exemplo a seguir:

containers:
- name: azure-vote-front
  image: <acrName>.azurecr.io/azure-vote-front:v1

Salve e feche o arquivo.

Implantar o aplicativo

Para implantar o aplicativo, use o comando kubectl apply. Esse comando analisa o arquivo de manifesto e cria objetos Kubernetes definidos. Especifique o arquivo de manifesto de exemplo, conforme mostrado no exemplo a seguir:

kubectl apply -f azure-vote-all-in-one-redis.yaml

A saída de exemplo a seguir mostra os recursos criados com êxito no cluster do Kubernetes:

$ kubectl apply -f azure-vote-all-in-one-redis.yaml

deployment "azure-vote-back" created
service "azure-vote-back" created
deployment "azure-vote-front" created
service "azure-vote-front" created

Testar o aplicativo

Quando o aplicativo é executado, o serviço kubernetes expõe o front-end do aplicativo para a Internet. A conclusão desse processo pode levar alguns minutos.

Para monitorar o progresso, use o comando kubectl get service com o --watch argumento :

kubectl get service azure-vote-front --watch

Inicialmente, o EXTERNAL-IP para o serviço azure-vote-front é mostrado como pendente:

azure-vote-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, use CTRL-C para interromper o kubectl processo de watch. A seguinte saída de exemplo mostra um endereço IP público válido atribuído ao serviço:

azure-vote-front   LoadBalancer   10.0.34.242   52.179.23.131   80:30676/TCP   67s

Para ver o aplicativo em ação, abra um navegador da Web no endereço IP externo do sue serviço:

Captura de tela que mostra a imagem de contêiner do Aplicativo de Votação do Azure em execução em um cluster do AKS aberto em um navegador da Web local

Se o aplicativo não foi carregado, isso poderá ser devido a 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 as imagens de contêiner não puderem ser puxadas, confira Autenticar com o Registro de Contêiner do Azure no Serviço de Kubernetes do Azure.

Próximas etapas

Neste tutorial, você implantou um aplicativo de votação do Azure de exemplo em um cluster do Kubernetes no AKS habilitado pelo Arc. Você aprendeu a:

  • Atualizar um arquivo de manifesto do Kubernetes
  • Executar um aplicativo no Kubernetes
  • Testar o aplicativo

Avance para o próximo tutorial para aprender como dimensionar um aplicativo Kubernetes e a infraestrutura do Kubernetes subjacente.