Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Med Kubernetes kan du använda PaaS-tjänster, till exempel Azure Service Bus, för att utveckla och köra dina program.
I den här handledningen skapar du ett Azure Service Bus-namnområde och en kö för att testa din applikation. Du lär dig att:
- Skapa ett Azure Service Bus-namnområde och en kö.
- Uppdatera Kubernetes-manifestfilen så att den använder Azure Service Bus-kön.
- Testa det uppdaterade programmet genom att göra en beställning.
Innan du börjar
I tidigare självstudier paketerade du ett program i en containeravbildning, laddade upp avbildningen till Azure Container Registry, skapade ett Kubernetes-kluster och distribuerade ett program. I den här självstudien behöver du Kubernetes-manifestfilen aks-store-quickstart.yaml som skapats i förväg. Denna nedladdning av filen ingick i applikationens källkod i en tidigare handledning. Kontrollera att du klonade lagringsplatsen och ändrade kataloger till den klonade lagringsplatsen. Om du inte har slutfört de här stegen och vill följa med börjar du med Självstudie 1 – Förbereda programmet för AKS.
I den här självstudien skapar du fakturerbara Azure Service Bus-resurser. För att slutföra de här stegen använder du en identitet som kan skapa och hantera Service Bus resurser och uppdatera AKS-arbetsbelastningar i resursgruppen, till exempel Deltagare eller Ägare.
Den här självstudien kräver installation av AKS Desktop.
Skapa miljövariabler
Använd Azure CLI för att skapa följande miljövariabler som ska användas för kommandona i den här självstudien:
LOC_NAME=westus2 RAND=$RANDOM RG_NAME=myResourceGroup AKS_NAME=myAKSCluster SB_NS=sb-store-demo-$RAND
Skapa Azure Service Bus-namnområde och kö
I tidigare självstudier använde du en RabbitMQ-container för att lagra beställningar som skickats av order-service. I den här självstudien använder du ett Azure Service Bus-namnområde för att tillhandahålla en omfångscontainer för Service Bus-resurserna inom applikationen. Du använder också en Azure Service Bus-kö för att skicka och ta emot meddelanden mellan programkomponenterna. Mer information om Azure Service Bus finns i Skapa ett Azure Service Bus-namnområde och en kö.
I det här flödet order-service skickar du meddelanden till orders kön med hjälp av auktoriseringsregeln sender och nyckeln som du skapar i det här avsnittet.
Använd Azure CLI för att skapa följande miljövariabler som ska användas för kommandona i den här självstudien.
Skapa ett Azure Service Bus-namnområde med kommandot
az servicebus namespace create.az servicebus namespace create --name $SB_NS --resource-group $RG_NAME --location $LOC_NAMEFortsätt när kommandot har slutförts och returnerar namnområdesinformationen.
Skapa en Azure Service Bus-kö med kommandot
az servicebus queue create.az servicebus queue create --name orders --resource-group $RG_NAME --namespace-name $SB_NSKontrollera att kön finns innan du fortsätter:
az servicebus queue show --name orders --resource-group $RG_NAME --namespace-name $SB_NS --query name -o tsvSkapa en Azure Service Bus-auktoriseringsregel med kommandot
az servicebus queue authorization-rule create.az servicebus queue authorization-rule create \ --name sender \ --namespace-name $SB_NS \ --resource-group $RG_NAME \ --queue-name orders \ --rights SendHämta autentiseringsuppgifterna för Azure Service Bus för senare användning med hjälp av kommandona
az servicebus namespace showochaz 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 tsvSpara dessa värden för manifestuppdateringssteget:
-
<REPLACE_WITH_YOUR_ACR_NAME>: namnet på ditt Azure Container Registry från de tidigare självstudierna. -
<REPLACE_WITH_YOUR_SB_NS_HOSTNAME>:$SB_NS.servicebus.windows.net. -
<REPLACE_WITH_YOUR_SB_SENDER_PASSWORD>: värdetprimaryKeyfrån kommandots utdata.
-
Uppdatera Kubernetes-manifestfilen
Gå till Projekt i AKS Desktop och välj den som du skapade i föregående självstudie,
my-dev-frontend.Välj fliken Resurser och välj sedan Distribution av arbetsbelastningar>: order-service.
Välj Redigeraren.
Ta bort de befintliga
rabbitmqavsnitten StatefulSet, ConfigMap och Service. Ersätt det befintligaorder-serviceavsnittet Distribution med följande innehåll. Kopiera och klistra in innehållet: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 startupProbe: httpGet: path: /health port: 3000 failureThreshold: 5 initialDelaySeconds: 20 periodSeconds: 10 readinessProbe: httpGet: path: /health port: 3000 failureThreshold: 3 initialDelaySeconds: 3 periodSeconds: 5 livenessProbe: httpGet: path: /health port: 3000 failureThreshold: 5 initialDelaySeconds: 3 periodSeconds: 3
Anteckning
Att direkt lägga till känslig information, till exempel API-nycklar, till dina Kubernetes-manifestfiler är inte säkert och kan av misstag checkas in på kodlagringsplatser. Det här exemplet lägger till det för enkelhetens skull. För produktionsarbetsbelastningar använder du Hanterad identitet för att autentisera med Azure Service Bus eller lagra dina hemligheter i Azure Key Vault.
Spara uppdateringen genom att välja Spara och tillämpa.
Kontrollera att den uppdaterade
order-servicedriftsättningen når ett stabilt tillstånd i arbetsbelastningsvyn innan du fortsätter.
Distribuera det uppdaterade programmet
Distribuera den uppdaterade applikationen med kommandot
kubectl apply.kubectl apply -f aks-store-quickstart.yamlFöljande exempelutdata visar de resurser som har uppdaterats:
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 unchangedKontrollera att den uppdaterade distributionen körs.
kubectl get pods
Fortsätt när applikationspoddarna är i tillståndet Running.
Testa programmet
Lägg en provbeställning
AKS Desktop
Hämta den offentliga IP-adressen genom att gå till Resurs>Nätverk>Tjänst: store-front>Extern IP.
Kommandorad
Hämta tjänstens externa IP-adress med hjälp av
store-frontkubectl get servicekommandot .kubectl get service store-frontOm
EXTERNAL-IPär<pending>väntar du en minut och kör kommandot igen tills en offentlig IP-adress visas.Navigera till den externa IP-adressen för
store-fronttjänsten i webbläsaren med hjälp avhttp://<external-ip>.Gör en beställning genom att välja en produkt och välja Lägg till i kundvagn.
Välj Kundvagn för att visa din beställning och välj sedan Checka ut.
Visa ordningen i Azure Service Bus-kön
- Gå till Azure Portal och öppna Azure Service Bus-namnområdet som du skapade tidigare.
- Under Entiteter väljer du Köer och sedan order.
- I beställningskön väljer du Service Bus Explorer.
- Välj Titta från start för att visa den beställning som du skickade.
Nästa steg
I den här självstudien använde du Azure Service Bus för att uppdatera och testa exempelprogrammet. Du har lärt dig att:
- Skapa ett Azure Service Bus-namnområde och en kö.
- Uppdatera Kubernetes-manifestfilen så att den använder Azure Service Bus-kön.
- Testa det uppdaterade programmet genom att göra en beställning.
I nästa handledning får du lära dig hur du skalar ett program i AKS.