Tutorial: Implementar aplicações no AKS ativadas pelo Azure Arc

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

Pode criar e implementar as suas próprias aplicações e serviços num cluster do Kubernetes quando estiver a utilizar Azure Kubernetes Service ativado pelo Azure Arc. O Kubernetes fornece uma plataforma distribuída para aplicações em contentores. Pode permitir que o cluster faça a gestão da disponibilidade e conectividade.

Este tutorial, parte quatro de sete, descreve como pode implementar uma aplicação de exemplo num cluster do Kubernetes no AKS. Vai aprender a:

  • Atualizar um ficheiro de manifesto do Kubernetes
  • Implementar uma aplicação no Kubernetes
  • Testar a aplicação

Tutoriais posteriores descrevem como dimensionar e atualizar esta aplicação.

Este guia de introdução parte do princípio de que possui conhecimentos básicos dos conceitos do Kubernetes.

Antes de começar

Tutoriais anteriores descreveram como empacotar uma aplicação numa imagem de contentor e, em seguida, carregar a imagem para o Azure Container Registry e criar um cluster do Kubernetes.

Para concluir este tutorial, precisa do ficheiro de manifesto do Kubernetes kubernetes azure-vote-all-in-one-redis.yaml pré-criado . Este ficheiro foi transferido com o código de origem da aplicação num tutorial anterior. Verifique se clonou o repositório e se alterou os diretórios para o repositório clonado. Se ainda não efetuou estes passos, comece com o Tutorial 1 – Criar imagens de contentor.

Este tutorial requer a versão 2.0.53 ou posterior da CLI do Azure. Executar az --version para localizar a versão. Se precisar de instalar ou atualizar a CLI do Azure, veja Instalar a CLI do Azure.

Atualizar o ficheiro de manifesto

Nestes tutoriais, uma instância Azure Container Registry armazena a imagem de contentor da aplicação de exemplo. Para implementar a aplicação, tem de atualizar o nome da imagem no ficheiro de manifesto do Kubernetes para incluir o nome do servidor de início de sessão do registo de contentor.

Obtenha o Azure Container Registry nome do servidor de início de sessão com o comando az acr list, da seguinte forma:

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

O ficheiro de manifesto de exemplo do repositório do GitHub que clonou no primeiro tutorial utiliza o nome do servidor de início de sessão da microsoft. Certifique-se de que está no diretório azure-voting-app-redis clonado e, em seguida, abra o ficheiro de manifesto com um editor de texto, como o Bloco de Notas:

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

Substitua microsoft pelo Azure Container Registry nome do servidor de início de sessão. O nome da imagem encontra-se na linha 60 do ficheiro de manifesto. O seguinte exemplo mostra o nome da imagem predefinida:

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

Forneça o seu próprio Azure Container Registry nome do servidor de início de sessão para que o ficheiro de manifesto se pareça com o seguinte exemplo:

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

Guarde e feche o ficheiro.

Implementar a aplicação

Para implementar a sua aplicação, utilize o comando kubectl apply. Este comando analisa o ficheiro de manifesto e cria os objetos de Kubernetes definidos. Especifique o ficheiro de manifesto de exemplo, conforme mostrado no exemplo a seguir:

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

O resultado de exemplo seguinte 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 a aplicação

Quando a aplicação é executada, o serviço Kubernetes expõe o front-end da aplicação à Internet. Este processo pode demorar alguns minutos a concluir.

Para monitorizar o progresso, utilize o comando kubectl get service com o --watch argumento :

kubectl get service azure-vote-front --watch

Inicialmente, o EXTERNAL-IP do serviço azure-vote-front é apresentado como pendente:

azure-vote-front   LoadBalancer   10.0.34.242   <pending>     80:30676/TCP   5s

Quando o endereço EXTERNAL-IP mudar de pendente para um endereço IP público real, utilize CTRL-C para parar o kubectl processo de watch. O resultado de exemplo seguinte 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 a aplicação em ação, abra um browser para o endereço IP externo do seu serviço:

Captura de ecrã a mostrar a imagem de contentor Aplicação de Voto do Azure em execução num cluster do AKS aberta num browser local

Se a aplicação não tiver sido carregada, poderá dever-se a um problema de autorização com o registo de imagens. Para ver o estado dos seus contentores, utilize o comando kubectl get pods. Se não for possível extrair as imagens do contentor, consulte Autenticar com Azure Container Registry de Azure Kubernetes Service.

Passos seguintes

Neste tutorial, implementou uma aplicação de voto do Azure de exemplo num cluster do Kubernetes no AKS ativado pelo Arc. Aprendeu a:

  • Atualizar um ficheiro de manifesto do Kubernetes
  • Executar uma aplicação no Kubernetes
  • Testar a aplicação

Avance para o próximo tutorial para saber como dimensionar uma aplicação Kubernetes e a infraestrutura de Kubernetes subjacente.