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 tutorial pressupõe uma compreensão básica 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 - Create 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:
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.