Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pomocí Kubernetes můžete vyvíjet a spouštět aplikace pomocí služeb PaaS, jako je Azure Service Bus.
V tomto kurzu vytvoříte obor názvů a frontu služby Azure Service Bus pro testování aplikace. Naučíte se, jak:
- Vytvořte obor názvů a frontu služby Azure Service Bus.
- Aktualizujte soubor manifestu Kubernetes tak, aby používal frontu služby Azure Service Bus.
- Otestujte aktualizovanou aplikaci tak, že umístíte objednávku.
Než začnete
V předchozích kurzech jste aplikaci zabalili do image kontejneru, nahráli ji do služby Azure Container Registry, vytvořili cluster Kubernetes a nasadili aplikaci. K dokončení tohoto kurzu potřebujete předem vytvořený soubor manifestu Kubernetes aks-store-quickstart.yaml. Tento soubor byl součástí zdrojového kódu aplikace v předchozím kurzu. Ujistěte se, že jste naklonovali úložiště a změnili adresáře do klonovaného úložiště. Pokud jste tyto kroky ještě nedokončili a chcete postupovat podle pokynů, začněte kurzem 1 – Příprava aplikace pro AKS.
Tento kurz vytvoří fakturovatelné Azure Service Bus prostředky. K provedení těchto kroků použijte identitu, která může vytvářet a spravovat prostředky služby Service Bus a aktualizovat úlohy AKS ve skupině prostředků, například Contributor nebo Owner.
Tento kurz vyžaduje instalaci desktopové verze AKS.
Vytvořte proměnné prostředí
Pomocí Azure CLI vytvořte následující proměnné prostředí, které se použijí pro příkazy v tomto kurzu:
LOC_NAME=westus2 RAND=$RANDOM RG_NAME=myResourceGroup AKS_NAME=myAKSCluster SB_NS=sb-store-demo-$RAND
Vytvořte obor názvů a frontu služby Azure Service Bus
V předchozích kurzech jste použili kontejner RabbitMQ k uložení objednávek podaných order-service. V tomto kurzu použijete obor názvů služby Azure Service Bus jako kontejner pro prostředky služby Service Bus v rámci aplikace. K příjmu a odesílání zpráv mezi komponentami aplikace také používáte frontu služby Azure Service Bus. Další informace o službě Azure Service Bus najdete v tématu Vytvoření oboru názvů a fronty služby Azure Service Bus.
V tomto toku order-service odesílá zprávy do fronty orders s použitím autorizačního pravidla sender a klíče, které vytvoříte v této části.
Pomocí Azure CLI vytvořte následující proměnné prostředí, které se použijí pro příkazy v tomto kurzu.
Vytvořte obor názvů služby Azure Service Bus pomocí příkazu
az servicebus namespace create.az servicebus namespace create --name $SB_NS --resource-group $RG_NAME --location $LOC_NAMEPokračujte, jakmile se příkaz úspěšně dokončí a vrátí podrobnosti oboru názvů.
Vytvořte frontu služby Azure Service Bus pomocí příkazu
az servicebus queue create.az servicebus queue create --name orders --resource-group $RG_NAME --namespace-name $SB_NSNež budete pokračovat, ověřte, že fronta existuje:
az servicebus queue show --name orders --resource-group $RG_NAME --namespace-name $SB_NS --query name -o tsvPomocí příkazu vytvořte autorizační pravidlo
az servicebus queue authorization-rule createslužby Azure Service Bus.az servicebus queue authorization-rule create \ --name sender \ --namespace-name $SB_NS \ --resource-group $RG_NAME \ --queue-name orders \ --rights SendZískejte přihlašovací údaje služby Azure Service Bus pro pozdější použití pomocí
az servicebus namespace showpříkazů aaz servicebus queue authorization-rule keys listpříkazů.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 tsvUložte tyto hodnoty pro krok aktualizace manifestu:
-
<REPLACE_WITH_YOUR_ACR_NAME>: název vaší služby Azure Container Registry z předchozích kurzů. -
<REPLACE_WITH_YOUR_SB_NS_HOSTNAME>:$SB_NS.servicebus.windows.net. -
<REPLACE_WITH_YOUR_SB_SENDER_PASSWORD>primaryKey: hodnota z výstupu příkazu.
-
Aktualizace souboru manifestu Kubernetes
Přejděte na Projekty v desktopové verzi AKS a vyberte projekt,
my-dev-frontendkterý jste vytvořili v předchozím kurzu.Vyberte kartu Prostředky, a pak vyberte Úlohy>Nasazení: order-service.
Vyberte Editor.
Odeberte existující
rabbitmqsekce StatefulSet, ConfigMap a Service. Nahraďte existujícíorder-servicečást Nasazení následujícím obsahem. Zkopírujte a vložte obsah: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
Poznámka:
Přidávat citlivé informace, například klíče rozhraní API, přímo do souborů manifestů Kubernetes není bezpečné a mohou být omylem odeslány do repozitářů kódu. Tento příklad ho přidá kvůli jednoduchosti. Pro produkční úlohy použijte spravovanou identitu k ověření pomocí služby Azure Service Bus nebo uložení tajných kódů ve službě Azure Key Vault.
Uložte aktualizaci výběrem možnosti Uložit a použít.
Než budete pokračovat, ověřte v zobrazení workloadů, že aktualizované nasazení
order-servicedosáhlo zdravého stavu.
Nasazení aktualizované aplikace
Pomocí příkazu nasaďte aktualizovanou
kubectl applyaplikaci.kubectl apply -f aks-store-quickstart.yamlNásledující příklad výstupu ukazuje úspěšně aktualizované prostředky:
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 unchangedOvěřte, že je spuštěné aktualizované nasazení.
kubectl get pods
Pokračujte, až budou pody aplikace ve stavu Running.
Testování aplikace
Zadání ukázkové objednávky
Desktopová aplikace AKS
Veřejnou IP adresu zjistíte tak, že přejdete na Prostředek>Síť>Služba: store-front>Externí IP.
Příkazový řádek
Pomocí příkazu získejte externí IP adresu
store-frontslužbykubectl get service.kubectl get service store-frontPokud
EXTERNAL-IPano<pending>, počkejte minutu a spusťte příkaz znovu, dokud se nezobrazí veřejná IP adresa.Pomocí prohlížeče
store-frontpřejděte na externí IP adresuhttp://<external-ip>služby.Objednávku umístěte tak, že vyberete produkt a vyberete Přidat do košíku.
Výběrem košíku zobrazte objednávku a pak vyberte Rezervovat.
Zobrazení pořadí ve frontě služby Azure Service Bus
- Přejděte na portál Azure a otevřete obor názvů Azure Service Bus, který jste vytvořili dříve.
- V části Entity vyberte Fronty a pak vyberte frontu objednávek .
- Ve frontě objednávek vyberte Service Bus Explorer.
- Výběrem možnosti Náhled od začátku zobrazíte objednávku, kterou jste odeslali.
Další kroky
V tomto kurzu jste použili službu Azure Service Bus k aktualizaci a otestování ukázkové aplikace. Naučili jste se:
- Vytvořte obor názvů a frontu služby Azure Service Bus.
- Aktualizujte soubor manifestu Kubernetes tak, aby používal frontu služby Azure Service Bus.
- Otestujte aktualizovanou aplikaci tak, že umístíte objednávku.
V dalším kurzu se naučíte škálovat aplikaci v AKS.