Zelfstudie: PaaS-services gebruiken met een AKS-cluster (Azure Kubernetes Service)
Met Kubernetes kunt u PaaS-services, zoals Azure Service Bus, gebruiken om uw toepassingen te ontwikkelen en uit te voeren.
In deze zelfstudie, deel vijf van zeven, maakt u een Azure Service Bus-naamruimte en -wachtrij om uw toepassing te testen. U leert het volgende:
- Maak een Azure Service Bus-naamruimte en -wachtrij.
- Werk het Kubernetes-manifestbestand bij om de Azure Service Bus-wachtrij te gebruiken.
- Test de bijgewerkte toepassing door een bestelling te plaatsen.
Voordat u begint
In eerdere zelfstudies hebt u een toepassing verpakt in een containerinstallatiekopie, de installatiekopie geüpload naar Azure Container Registry, een Kubernetes-cluster gemaakt en een toepassing geïmplementeerd. Om deze zelfstudie te voltooien hebt u het vooraf gemaakte Kubernetes-manifestbestand aks-store-quickstart.yaml
nodig. Dit downloaden van bestanden is opgenomen in de broncode van de toepassing in een vorige zelfstudie. Zorg ervoor dat u de opslagplaats hebt gekloond en mappen hebt gewijzigd in de gekloonde opslagplaats. Als u deze stappen nog niet hebt voltooid en u deze wilt volgen, begint u met zelfstudie 1: De toepassing voorbereiden voor AKS.
Voor deze zelfstudie is Azure CLI versie 2.34.1 of hoger vereist. Voer az --version
uit om de versie te bekijken. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren.
Omgevingsvariabelen maken
Maak de volgende omgevingsvariabelen voor de opdrachten in deze zelfstudie:
LOC_NAME=eastus RAND=$RANDOM RG_NAME=myResourceGroup AKS_NAME=myAKSCluster SB_NS=sb-store-demo-$RAND
Azure Service Bus-naamruimte en -wachtrij maken
In eerdere zelfstudies hebt u een RabbitMQ-container gebruikt om bestellingen op te slaan die door de order-service
. In deze zelfstudie gebruikt u een Azure Service Bus-naamruimte om een bereikcontainer op te geven voor de Service Bus-resources in de toepassing. U gebruikt ook een Azure Service Bus-wachtrij om berichten tussen de toepassingsonderdelen te verzenden en te ontvangen. Zie Een Azure Service Bus-naamruimte en -wachtrij maken voor meer informatie over Azure Service Bus.
Maak een Azure Service Bus-naamruimte met behulp van de
az servicebus namespace create
opdracht.az servicebus namespace create --name $SB_NS --resource-group $RG_NAME --location $LOC_NAME
Maak een Azure Service Bus-wachtrij met behulp van de
az servicebus queue create
opdracht.az servicebus queue create --name orders --resource-group $RG_NAME --namespace-name $SB_NS
Maak een Azure Service Bus-autorisatieregel met behulp van de
az servicebus queue authorization-rule create
opdracht.az servicebus queue authorization-rule create \ --name sender \ --namespace-name $SB_NS \ --resource-group $RG_NAME \ --queue-name orders \ --rights Send
Haal de Azure Service Bus-referenties op voor later gebruik met behulp van de
az servicebus namespace show
enaz servicebus queue authorization-rule keys list
opdrachten.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
Kubernetes-manifestbestand bijwerken
Configureer
kubectl
deze om verbinding te maken met uw cluster met behulp van deaz aks get-credentials
opdracht.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Open het bestand
aks-store-quickstart.yaml
in een teksteditor.Verwijder de bestaande
rabbitmq
secties StatefulSet, ConfigMap en Service en vervang de bestaandeorder-service
implementatiesectie door de volgende inhoud: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
Notitie
Het rechtstreeks toevoegen van gevoelige informatie, zoals API-sleutels, aan uw Kubernetes-manifestbestanden is niet beveiligd en kan per ongeluk worden doorgevoerd in codeopslagplaatsen. We hebben het hier toegevoegd om het eenvoudig te maken. Voor productieworkloads gebruikt u Managed Identity om te verifiëren met Azure Service Bus of uw geheimen op te slaan in Azure Key Vault.
Sla het bijgewerkte
aks-store-quickstart.yaml
bestand op en sluit het.
De bijgewerkte toepassing implementeren
Implementeer de bijgewerkte toepassing met behulp van de
kubectl apply
opdracht.kubectl apply -f aks-store-quickstart.yaml
In de volgende voorbeelduitvoer ziet u de bijgewerkte resources:
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
De toepassing testen
Een voorbeeldvolgorde plaatsen
Haal het externe IP-adres van de
store-front
service op met behulp van dekubectl get service
opdracht.kubectl get service store-front
Navigeer met behulp
http://<external-ip>
van uw browser naar het externe IP-adres van destore-front
service.Plaats een bestelling door een product te kiezen en Toevoegen aan winkelwagen te selecteren.
Selecteer Winkelwagen om uw bestelling weer te geven en selecteer vervolgens Uitchecken.
De volgorde in de Azure Service Bus-wachtrij weergeven
- Navigeer naar Azure Portal en open de Azure Service Bus-naamruimte die u eerder hebt gemaakt.
- Selecteer wachtrijen onder Entiteiten en selecteer vervolgens de wachtrij orders.
- Selecteer Service Bus Explorer in de wachtrij met orders.
- Selecteer Bekijken vanaf het begin om de bestelling weer te geven die u hebt verzonden.
Volgende stappen
In deze zelfstudie hebt u Azure Service Bus gebruikt om de voorbeeldtoepassing bij te werken en te testen. U hebt geleerd hoe u:
- Maak een Azure Service Bus-naamruimte en -wachtrij.
- Werk het Kubernetes-manifestbestand bij om de Azure Service Bus-wachtrij te gebruiken.
- Test de bijgewerkte toepassing door een bestelling te plaatsen.
In de volgende zelfstudie leert u hoe u een toepassing in AKS kunt schalen.
Azure Kubernetes Service