Självstudie – Använda PaaS-tjänster med ett AKS-kluster (Azure Kubernetes Service)
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 självstudien, del fem av sju, skapar du ett Azure Service Bus-namnområde och en kö för att testa programmet. 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. Den här filnedladdningen ingick i programmets källkod i en tidigare självstudie. 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.
Den här självstudien kräver Azure CLI version 2.34.1 eller senare. Kör az --version
för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI.
Skapa miljövariabler
Skapa följande miljövariabler som ska användas för kommandona i den här självstudien:
LOC_NAME=eastus 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 i programmet. 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ö.
Skapa ett Azure Service Bus-namnområde med hjälp av
az servicebus namespace create
kommandot .az servicebus namespace create --name $SB_NS --resource-group $RG_NAME --location $LOC_NAME
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_NS
Skapa 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 Send
Hämta autentiseringsuppgifterna för Azure Service Bus för senare användning med hjälp av kommandona
az servicebus namespace show
ochaz 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
Uppdatera Kubernetes-manifestfilen
Konfigurera
kubectl
för att ansluta till klustret med hjälp avaz aks get-credentials
kommandot .az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Öppna
aks-store-quickstart.yaml
-filen i en textredigerare.Ta bort de befintliga
rabbitmq
avsnitten StatefulSet, ConfigMap och Service och ersätt det befintligaorder-service
avsnittet Distribution med följande innehåll: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
Kommentar
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. Vi har lagt till den här 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 och stäng den uppdaterade
aks-store-quickstart.yaml
filen.
Distribuera det uppdaterade programmet
Distribuera det uppdaterade programmet med kommandot
kubectl apply
.kubectl apply -f aks-store-quickstart.yaml
Fö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 unchanged
Testa programmet
Placera en exempelordning
Hämta tjänstens externa IP-adress med hjälp av
store-front
kubectl get service
kommandot .kubectl get service store-front
Navigera till den externa IP-adressen för
store-front
tjä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 orderkön .
- I beställningskön väljer du Service Bus Explorer.
- Välj Granska från början 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 självstudie får du lära dig hur du skalar ett program i AKS.
Azure Kubernetes Service