Tutorial - Usar serviços PaaS com um cluster do Serviço Kubernetes do Azure (AKS)
Com o Kubernetes, você pode usar serviços PaaS, como o Azure Service Bus, para desenvolver e executar seus aplicativos.
Neste tutorial, parte cinco de sete, você cria um namespace e uma fila do Barramento de Serviço do Azure para testar seu aplicativo. Sabe como:
- Crie um namespace e uma fila do Barramento de Serviço do Azure.
- Atualize o arquivo de manifesto do Kubernetes para usar a fila do Barramento de Serviço do Azure.
- Teste o aplicativo atualizado fazendo um pedido.
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, criou um cluster Kubernetes e implantou um aplicativo. Para concluir este tutorial, precisa do ficheiro de manifesto previamente criado do Kubernetes aks-store-quickstart.yaml
. Este download de arquivo foi incluído com o código-fonte do aplicativo em um tutorial anterior. Certifique-se de clonar o repositório e alterar os diretórios para o repositório clonado. Se você não concluiu essas etapas e quer acompanhar, comece com o Tutorial 1 - Preparar a inscrição para o AKS.
Este tutorial requer a CLI do Azure versão 2.34.1 ou posterior. Executar az --version
para localizar a versão. Se precisar de instalar ou atualizar, veja Install Azure CLI (Instalar o Azure CLI).
Criar variáveis de ambiente
Crie as seguintes variáveis de ambiente para usar para os comandos neste tutorial:
LOC_NAME=eastus RAND=$RANDOM RG_NAME=myResourceGroup AKS_NAME=myAKSCluster SB_NS=sb-store-demo-$RAND
Criar namespace e fila do Barramento de Serviço do Azure
Em tutoriais anteriores, você usou um contêiner RabbitMQ para armazenar pedidos enviados pelo order-service
. Neste tutorial, você usa um namespace do Barramento de Serviço do Azure para fornecer um contêiner de escopo para os recursos do Barramento de Serviço dentro do aplicativo. Você também usa uma fila de barramento do Serviço do Azure para enviar e receber mensagens entre os componentes do aplicativo. Para obter mais informações sobre o Barramento de Serviço do Azure, consulte Criar um namespace e fila do Barramento de Serviço do Azure.
Crie um namespace do Barramento de Serviço do Azure usando o
az servicebus namespace create
comando.az servicebus namespace create --name $SB_NS --resource-group $RG_NAME --location $LOC_NAME
Crie uma fila do Barramento de Serviço do Azure usando o
az servicebus queue create
comando.az servicebus queue create --name orders --resource-group $RG_NAME --namespace-name $SB_NS
Crie uma regra de autorização do Barramento de Serviço do Azure usando o
az servicebus queue authorization-rule create
comando.az servicebus queue authorization-rule create \ --name sender \ --namespace-name $SB_NS \ --resource-group $RG_NAME \ --queue-name orders \ --rights Send
Obtenha as credenciais do Barramento de Serviço do Azure para uso posterior usando os
az servicebus namespace show
comandos eaz servicebus queue authorization-rule keys list
.az servicebus namespace show --name $SB_NS --resource-group $RG_NAME --query name -o tsv az servicebus queue authorization-rule keys list --namespace-name $SB_NS --resource-group $RG_NAME --queue-name orders --name sender --query primaryKey -o tsv
Atualizar arquivo de manifesto do Kubernetes
Configure
kubectl
para se conectar ao cluster usando oaz aks get-credentials
comando.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Abra o
aks-store-quickstart.yaml
ficheiro num editor de texto.Remova as seções StatefulSet, ConfigMap e Service existentes
rabbitmq
e substitua a seção Deployment existenteorder-service
pelo seguinte conteúdo:apiVersion: apps/v1 kind: Deployment metadata: name: order-service spec: replicas: 1 selector: matchLabels: app: order-service template: metadata: labels: app: order-service spec: nodeSelector: "kubernetes.io/os": linux containers: - name: order-service image: <REPLACE_WITH_YOUR_ACR_NAME>.azurecr.io/aks-store-demo/order-service:latest ports: - containerPort: 3000 env: - name: ORDER_QUEUE_HOSTNAME value: "<REPLACE_WITH_YOUR_SB_NS_HOSTNAME>" # Example: sb-store-demo-123456.servicebus.windows.net - name: ORDER_QUEUE_PORT value: "5671" - name: ORDER_QUEUE_TRANSPORT value: "tls" - name: ORDER_QUEUE_USERNAME value: "sender" - name: ORDER_QUEUE_PASSWORD value: "<REPLACE_WITH_YOUR_SB_SENDER_PASSWORD>" - name: ORDER_QUEUE_NAME value: "orders" - name: FASTIFY_ADDRESS value: "0.0.0.0" resources: requests: cpu: 1m memory: 50Mi limits: cpu: 75m memory: 128Mi
Nota
Adicionar diretamente informações confidenciais, como chaves de API, aos seus arquivos de manifesto do Kubernetes não é seguro e pode ser acidentalmente confirmado em repositórios de código. Nós o adicionamos aqui para simplificar. Para cargas de trabalho de produção, use a Identidade Gerenciada para autenticar com o Barramento de Serviço do Azure ou armazenar seus segredos no Cofre da Chave do Azure.
Salve e feche o arquivo atualizado
aks-store-quickstart.yaml
.
Implementar a aplicação atualizada
Implante o aplicativo atualizado usando o
kubectl apply
comando.kubectl apply -f aks-store-quickstart.yaml
A saída de exemplo a seguir mostra os recursos atualizados com êxito:
deployment.apps/order-service configured service/order-service unchanged deployment.apps/product-service unchanged service/product-service unchanged deployment.apps/store-front configured service/store-front unchanged
Testar a aplicação
Fazer uma encomenda de amostras
Obtenha o endereço IP externo do
store-front
serviço usando okubectl get service
comando.kubectl get service store-front
Navegue até o endereço IP externo do
store-front
serviço em seu navegador usandohttp://<external-ip>
o .Faça um pedido escolhendo um produto e selecionando Adicionar ao carrinho.
Selecione Carrinho para ver a sua encomenda e, em seguida, selecione Finalizar Compra.
Exibir o pedido na fila do Barramento de Serviço do Azure
- Navegue até o portal do Azure e abra o namespace do Barramento de Serviço do Azure criado anteriormente.
- Em Entidades, selecione Filas e, em seguida, selecione a fila de pedidos.
- Na fila de pedidos , selecione Service Bus Explorer.
- Selecione Espreitar desde o início para ver a encomenda que enviou.
Próximos passos
Neste tutorial, você usou o Barramento de Serviço do Azure para atualizar e testar o aplicativo de exemplo. Aprendeu a:
- Crie um namespace e uma fila do Barramento de Serviço do Azure.
- Atualize o arquivo de manifesto do Kubernetes para usar a fila do Barramento de Serviço do Azure.
- Teste o aplicativo atualizado fazendo um pedido.
No próximo tutorial, você aprenderá como dimensionar um aplicativo no AKS.
Azure Kubernetes Service