Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met Kubernetes kunt u PaaS-services, zoals Azure Service Bus, gebruiken om uw toepassingen te ontwikkelen en uit te voeren.
In deze zelfstudie 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 downloadbestand was inbegrepen bij de broncode van de applicatie in een eerdere tutorial. 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.
In deze zelfstudie maakt u Azure Service Bus-resources waarvoor kosten in rekening worden gebracht. Als u deze stappen wilt uitvoeren, gebruikt u een identiteit waarmee u Service Bus resources kunt maken en beheren en AKS-workloads kunt bijwerken in uw resourcegroep, zoals Inzender of Eigenaar.
Deze tutorial vereist de installatie van AKS desktop.
Omgevingsvariabelen maken
Gebruik de Azure CLI om de volgende omgevingsvariabelen te maken voor de opdrachten in deze zelfstudie:
LOC_NAME=westus2 RAND=$RANDOM RG_NAME=myResourceGroup AKS_NAME=myAKSCluster SB_NS=sb-store-demo-$RAND
Azure Service Bus-naamruimte en -wachtrij maken
In eerdere tutorials heeft u een RabbitMQ-container gebruikt om bestellingen op te slaan die zijn verzonden door de order-service. In deze zelfstudie gebruikt u een Azure Service Bus-naamruimte als container voor het afbakenen van de Service Bus-resources binnen 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.
In deze stroom stuurt order-service berichten naar de orders wachtrij met behulp van de sender autorisatieregel en sleutel die u in deze sectie aanmaakt.
Gebruik de Azure CLI om de volgende omgevingsvariabelen te maken voor de opdrachten in deze zelfstudie.
Maak een Azure Service Bus naamruimte met behulp van de
az servicebus namespace createopdracht.az servicebus namespace create --name $SB_NS --resource-group $RG_NAME --location $LOC_NAMEGa door wanneer de opdracht is voltooid en retourneert de naamruimtedetails.
Maak een Azure Service Bus-wachtrij met behulp van de
az servicebus queue createopdracht.az servicebus queue create --name orders --resource-group $RG_NAME --namespace-name $SB_NSControleer of de wachtrij bestaat voordat u doorgaat:
az servicebus queue show --name orders --resource-group $RG_NAME --namespace-name $SB_NS --query name -o tsvMaak een Azure Service Bus-autorisatieregel met behulp van de
az servicebus queue authorization-rule createopdracht.az servicebus queue authorization-rule create \ --name sender \ --namespace-name $SB_NS \ --resource-group $RG_NAME \ --queue-name orders \ --rights SendHaal de Azure Service Bus-referenties op voor later gebruik met behulp van de
az servicebus namespace showenaz servicebus queue authorization-rule keys listopdrachten.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 tsvSla deze waarden op voor de updatestap van het manifest:
-
<REPLACE_WITH_YOUR_ACR_NAME>: de naam van uw Azure Container Registry uit de eerdere zelfstudies. -
<REPLACE_WITH_YOUR_SB_NS_HOSTNAME>: .$SB_NS.servicebus.windows.net -
<REPLACE_WITH_YOUR_SB_SENDER_PASSWORD>: deprimaryKeywaarde uit de uitvoer van de opdracht.
-
Kubernetes-manifestbestand bijwerken
Ga naar Projecten in het AKS-bureaublad en selecteer het project dat u in de vorige zelfstudie
my-dev-frontendhebt gemaakt.Selecteer het tabblad Resources en selecteer vervolgens Implementatie van workloads>: orderservice.
Selecteer de editor.
Verwijder de bestaande
rabbitmqsecties StatefulSet, ConfigMap en Service. Vervang de bestaandeorder-servicesectie Implementatie door de volgende inhoud. Kopieer en plak de 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 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
Notitie
Het rechtstreeks toevoegen van gevoelige informatie, zoals API-sleutels, aan uw Kubernetes-manifestbestanden is niet veilig en kan per ongeluk worden doorgevoerd in codeopslagplaatsen. In dit voorbeeld wordt het voor het gemak toegevoegd. Gebruik voor productieworkloads Managed Identity om u te verifiëren bij Azure Service Bus of sla uw geheimen op in Azure Key Vault.
Behoud de update door Opslaan en toepassen te selecteren.
Controleer of de bijgewerkte
order-servicedeployment een gezonde status bereikt in de workloadweergave voordat u doorgaat.
De bijgewerkte toepassing implementeren
Implementeer de bijgewerkte toepassing met behulp van de
kubectl applyopdracht.kubectl apply -f aks-store-quickstart.yamlIn de volgende voorbeelduitvoer ziet u de resources die succesvol zijn bijgewerkt:
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 unchangedControleer of de bijgewerkte implementatie wordt uitgevoerd.
kubectl get pods
Ga verder wanneer de applicatiepods de status Running hebben.
De toepassing testen
Een voorbeeldvolgorde plaatsen
AKS-bureaublad
Ga naar Resource>Network>Service: store-front>Extern IP-adres om het openbare IP-adres op te halen.
Opdrachtregel
Haal het externe IP-adres van de
store-frontservice op met behulp van dekubectl get serviceopdracht.kubectl get service store-frontAls
EXTERNAL-IP<pending>is, wacht u een minuut en voer de opdracht opnieuw uit totdat er een openbaar IP-adres wordt weergegeven.Navigeer met behulp
store-frontvan uw browser naar het externe IP-adres van dehttp://<external-ip>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.
- Onder Entiteiten selecteert u Wachtrijen en 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.