Kurz – Použití služeb PaaS s clusterem Azure Kubernetes Service (AKS)

Pomocí Kubernetes můžete vyvíjet a spouštět aplikace pomocí služeb PaaS, jako je Azure Service Bus.

V tomto kurzu, který je 5. částí sedmidílné části, vytvoříte obor názvů a frontu služby Azure Service Bus pro testování vaší aplikace. Získáte informace pro:

  • 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 vyžaduje Azure CLI verze 2.34.1 nebo novější. Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.

Vytvoření proměnných prostředí

  • Vytvořte následující proměnné prostředí, které se použijí pro příkazy v tomto kurzu:

    LOC_NAME=eastus
    RAND=$RANDOM
    RG_NAME=myResourceGroup
    AKS_NAME=myAKSCluster
    SB_NS=sb-store-demo-$RAND
    

Vytvoření oboru názvů a fronty služby Azure Service Bus

V předchozíchkurzch order-service V tomto kurzu použijete obor názvů služby Azure Service Bus k poskytnutí kontejneru oborů pro prostředky služby Service Bus v rámci aplikace. K odesílání a příjmu 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.

  1. Pomocí příkazu vytvořte obor názvů az servicebus namespace create služby Azure Service Bus.

    az servicebus namespace create -n $SB_NS -g $RG_NAME -l $LOC_NAME
    
  2. Pomocí příkazu vytvořte frontu az servicebus queue create služby Azure Service Bus.

    az servicebus queue create -n orders -g $RG_NAME --namespace-name $SB_NS -g $RG_NAME
    
  3. Pomocí příkazu vytvořte autorizační pravidlo az servicebus queue authorization-rule create služby Azure Service Bus.

    az servicebus queue authorization-rule create \
        --name sender \
        --namespace-name $SB_NS \
        --resource-group $RG_NAME \
        --queue-name orders \
        --rights Send
    
  4. Získejte přihlašovací údaje služby Azure Service Bus pro pozdější použití pomocí az servicebus namespace show příkazů a az servicebus queue authorization-rule keys list pří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 tsv
    

Aktualizace souboru manifestu Kubernetes

  1. Nakonfigurujte kubectl připojení ke clusteru az aks get-credentials pomocí příkazu.

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    
  2. aks-store-quickstart.yaml Otevřete soubor v textovém editoru.

  3. Odeberte existující rabbitmq oddíly StatefulSet, ConfigMap a Service a nahraďte existující order-service oddíl Nasazení následujícím obsahem:

    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
    

    Poznámka:

    Přímé přidávání citlivých informací, jako jsou klíče rozhraní API, do souborů manifestu Kubernetes není bezpečné a může se omylem potvrdit do úložišť kódu. Přidali jsme ho sem 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.

  4. Uložte a zavřete aktualizovaný aks-store-quickstart.yaml soubor.

Nasazení aktualizované aplikace

  • Nasaďte aktualizovanou kubectl apply aplikaci pomocí příkazu.

    kubectl apply -f aks-store-quickstart.yaml
    

    Ná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 unchanged
    

Testování aplikace

Zadání ukázkové objednávky

  1. Pomocí příkazu získejte externí IP adresu store-front služby kubectl get service .

    kubectl get service store-front
    
  2. V prohlížeči přejděte na externí IP adresu store-front služby.

  3. Objednávku umístěte tak, že vyberete produkt a vyberete Přidat do košíku.

  4. Výběrem košíku zobrazte objednávku a pak vyberte Rezervovat.

Zobrazení pořadí ve frontě služby Azure Service Bus

  1. Přejděte na web Azure Portal a otevřete obor názvů služby Azure Service Bus, který jste vytvořili dříve.
  2. V části Entity vyberte Fronty a pak vyberte frontu objednávek .
  3. Ve frontě objednávek vyberte Service Bus Explorer.
  4. 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.