Megosztás a következőn keresztül:


Oktatóanyag – PaaS-szolgáltatások használata Azure Kubernetes Service-fürttel (AKS)

A Kubernetes segítségével PaaS-szolgáltatásokat, például az Azure Service Bust használhatja az alkalmazások fejlesztéséhez és futtatásához.

Ebben az oktatóanyagban, a hét rész ötödik részében létrehoz egy Azure Service Bus-névteret és egy üzenetsort az alkalmazás teszteléséhez. Az alábbiak végrehajtásának módját ismerheti meg:

  • Azure Service Bus-névtér és üzenetsor létrehozása.
  • Frissítse a Kubernetes-jegyzékfájlt az Azure Service Bus-üzenetsor használatára.
  • A frissített alkalmazás tesztelése megrendeléssel.

Mielőtt elkezdené

A korábbi oktatóanyagokban egy alkalmazást egy tárolórendszerképbe csomagolt, feltöltötte a lemezképet az Azure Container Registrybe, létrehozott egy Kubernetes-fürtöt, és üzembe helyezett egy alkalmazást. Az oktatóanyag teljesítéséhez szüksége lesz az előzőleg létrehozott aks-store-quickstart.yaml Kubernetes-jegyzékfájlra. Ez a fájlletöltés egy korábbi oktatóanyagban szerepelt az alkalmazás forráskódjában. Győződjön meg arról, hogy klónozta az adattárat, és módosította a könyvtárakat a klónozott adattárba. Ha még nem végezte el ezeket a lépéseket, és követni szeretné a lépéseket, kezdje az 1. oktatóanyaggal – Alkalmazás előkészítése az AKS-hez.

Ehhez az oktatóanyaghoz az Azure CLI 2.34.1-es vagy újabb verziója szükséges. A verzió azonosításához futtassa a következőt: az --version. Ha telepíteni vagy frissíteni szeretne: Az Azure CLI telepítése.

Környezeti változók létrehozása

  • Hozza létre az alábbi környezeti változókat az oktatóanyag parancsaihoz:

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

Azure Service Bus-névtér és üzenetsor létrehozása

A korábbi oktatóanyagokban egy RabbitMQ-tárolót használt a rendszer által order-serviceküldött megrendelések tárolására. Ebben az oktatóanyagban egy Azure Service Bus-névtér használatával biztosít egy hatókörtárolót a Service Bus-erőforrásokhoz az alkalmazásban. Egy Azure Service Bus-üzenetsor használatával üzeneteket is küldhet és fogadhat az alkalmazás összetevői között. További információ az Azure Service Busról: Azure Service Bus-névtér és üzenetsor létrehozása.

  1. Hozzon létre egy Azure Service Bus-névteret a az servicebus namespace create paranccsal.

    az servicebus namespace create --name $SB_NS --resource-group $RG_NAME --location $LOC_NAME
    
  2. Hozzon létre egy Azure Service Bus-üzenetsort a az servicebus queue create paranccsal.

    az servicebus queue create --name orders --resource-group $RG_NAME --namespace-name $SB_NS
    
  3. Hozzon létre egy Azure Service Bus engedélyezési szabályt a az servicebus queue authorization-rule create paranccsal.

    az servicebus queue authorization-rule create \
        --name sender \
        --namespace-name $SB_NS \
        --resource-group $RG_NAME \
        --queue-name orders \
        --rights Send
    
  4. Szerezze be az Azure Service Bus hitelesítő adatait a későbbi használathoz a parancsok és az servicebus queue authorization-rule keys list a az servicebus namespace show parancsok használatával.

    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-jegyzékfájl frissítése

  1. Konfigurálja kubectl a fürthöz való csatlakozást a az aks get-credentials paranccsal.

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    
  2. Nyissa meg a aks-store-quickstart.yaml fájlt egy szövegszerkesztőben.

  3. Távolítsa el a meglévő rabbitmq StatefulSet, ConfigMap és Service szakaszokat, és cserélje le a meglévő order-service üzembe helyezési szakaszt a következő tartalomra:

    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
    

    Feljegyzés

    A Kubernetes-jegyzékfájlokhoz közvetlenül bizalmas információk, például API-kulcsok hozzáadása nem biztonságos, és előfordulhat, hogy véletlenül le lesz kötelezve a kódtárakra. Itt az egyszerűség kedvéért adtunk hozzá. Éles számítási feladatok esetén a Felügyelt identitás használatával hitelesíthet az Azure Service Busban, vagy tárolhatja titkos kulcsait az Azure Key Vaultban.

  4. Mentse és zárja be a frissített aks-store-quickstart.yaml fájlt.

A frissített alkalmazás üzembe helyezése

  • Telepítse a frissített alkalmazást a kubectl apply paranccsal.

    kubectl apply -f aks-store-quickstart.yaml
    

    Az alábbi példakimenet a sikeresen frissített erőforrásokat mutatja be:

    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
    

Az alkalmazás tesztelése

Mintarendelés elhelyezése

  1. Kérje le a szolgáltatás külső IP-címét store-front a kubectl get service paranccsal.

    kubectl get service store-front
    
  2. Keresse meg a szolgáltatás külső IP-címét store-front a böngészőben.

  3. Rendeljen egy terméket, és válassza a Hozzáadás a kosárba lehetőséget.

  4. A megrendelés megtekintéséhez válassza a Kosár lehetőséget, majd a Kivétel lehetőséget.

A rendelés megtekintése az Azure Service Bus üzenetsorában

  1. Lépjen az Azure Portalra, és nyissa meg a korábban létrehozott Azure Service Bus-névteret.
  2. Az Entitások területen válassza az Üzenetsorok elemet, majd válassza ki a rendelések várólistát.
  3. A rendelések várólistájában válassza a Service Bus Explorert.
  4. A beküldött rendelés megtekintéséhez válassza a Betekintés lehetőséget az elejétől kezdve.

Következő lépések

Ebben az oktatóanyagban az Azure Service Bus használatával frissítette és tesztelte a mintaalkalmazást. Megtanulta végrehajtani az alábbi műveleteket:

  • Azure Service Bus-névtér és üzenetsor létrehozása.
  • Frissítse a Kubernetes-jegyzékfájlt az Azure Service Bus-üzenetsor használatára.
  • A frissített alkalmazás tesztelése megrendeléssel.

A következő oktatóanyagban megtudhatja, hogyan méretezhet egy alkalmazást az AKS-ben.