Oktatóanyag – Alkalmazások méretezése az Azure Kubernetes Service-ben (AKS)

Ha követte az előző oktatóanyagokat, egy működő Kubernetes-fürt és az Azure Store Front alkalmazással rendelkezik.

Ebben az oktatóanyagban a hetedik rész 6. részében horizontálisan felskálázhatja a podokat az alkalmazásban, kipróbálhatja a podok automatikus skálázását, és skálázhatja az Azure-beli virtuálisgép-csomópontok számát a fürt számítási feladatok üzemeltetéséhez szükséges kapacitásának módosításához. Az alábbiak végrehajtásának módját ismerheti meg:

  • Skálázza a Kubernetes-csomópontokat.
  • Az alkalmazást futtató Kubernetes-podok manuális méretezése.
  • Az alkalmazás előtérrendszerét futtató automatikus skálázási podok konfigurálása.

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 AKS-fürtöt, üzembe helyezett egy alkalmazást, és az Azure Service Bus használatával újra üzembe helyezett egy frissített alkalmazást. 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.

Podok manuális méretezése

  1. A parancs használatával kubectl get megtekintheti a fürt podjait.

    kubectl get pods
    

    Az alábbi példakimenet az Azure Store Front alkalmazást futtató podokat mutatja be:

    NAME                               READY     STATUS     RESTARTS   AGE
    order-service-848767080-tf34m      1/1       Running    0          31m
    product-service-4019737227-2q2qz   1/1       Running    0          31m
    store-front-2606967446-2q2qz       1/1       Running    0          31m
    
  2. Manuálisan módosítsa a podok számát az áruház-előtér üzembe helyezésében a kubectl scale paranccsal.

    kubectl scale --replicas=5 deployment.apps/store-front
    
  3. Ellenőrizze, hogy a további podok létre lettek-e hozva a kubectl get pods paranccsal.

    kubectl get pods
    

    Az alábbi példakimenet az Azure Store Front alkalmazást futtató további podokat mutatja be:

                                      READY     STATUS    RESTARTS   AGE
    store-front-2606967446-2q2qzc     1/1       Running   0          15m
    store-front-3309479140-2hfh0      1/1       Running   0          3m
    store-front-3309479140-bzt05      1/1       Running   0          3m
    store-front-3309479140-fvcvm      1/1       Running   0          3m
    store-front-3309479140-hrbf2      1/1       Running   0          15m
    store-front-3309479140-qphz8      1/1       Running   0          3m
    

Podok automatikus méretezése

A podok automatikus horizontális skálázásának használatához minden tárolónak meghatározott CPU-kérésekkel és korlátozásokkal kell rendelkeznie, a podoknak pedig meghatározott kérésekkel kell rendelkezniük. Az üzembe helyezés során az aks-store-quickstartelőtérbeli tároló 1m CPU-t kér 1000 m-nyi cpu-korláttal.

Ezeket az erőforrás-kérelmeket és korlátokat minden tárolóhoz definiáljuk, ahogy az a következő, a YAML-hez tartozó tömörített példában is látható:

...
  containers:
  - name: store-front
    image: ghcr.io/azure-samples/aks-store-demo/store-front:latest
    ports:
    - containerPort: 8080
      name: store-front
...
    resources:
      requests:
        cpu: 1m
...
      limits:
        cpu: 1000m
...

Podok automatikus méretezése jegyzékfájl használatával

  1. Hozzon létre egy jegyzékfájlt az automatikus skálázási viselkedés és az erőforráskorlátok meghatározásához, ahogyan az a következő tömörített példajegyzékfájlban aks-store-quickstart-hpa.yamllátható:

    apiVersion: autoscaling/v2
    kind: HorizontalPodAutoscaler
    metadata:
      name: store-front-hpa
    spec:
      maxReplicas: 10 # define max replica count
      minReplicas: 3  # define min replica count
      scaleTargetRef:
        apiVersion: apps/v1
        kind: Deployment
        name: store-front
      metrics:
      - type: Resource
        resource:
          name: cpu
          target:
            type: Utilization
            averageUtilization: 50
    
  2. Alkalmazza az automatikus méretezési jegyzékfájlt a kubectl apply paranccsal.

    kubectl apply -f aks-store-quickstart-hpa.yaml
    
  3. Ellenőrizze az automatikus skálázó állapotát a kubectl get hpa paranccsal.

    kubectl get hpa
    

    Néhány perc elteltével, az Azure Store Front alkalmazás minimális terhelésével a podreplikák száma háromra csökken. Ismét használhatja a kubectl get pods parancsot a szükségtelen podok eltávolításának megtekintéséhez.

Feljegyzés

Engedélyezheti a Kubernetes-alapú eseményvezérelt automatikus skálázási (KEDA) AKS-bővítményt a fürthöz, hogy a feldolgozandó események száma alapján skálázhassa a skálázást. További információ: Egyszerűsített alkalmazások automatikus skálázásának engedélyezése a Kubernetes eseményvezérelt automatikus skálázási (KEDA) bővítményével (előzetes verzió)

AKS-csomópontok manuális méretezése

Ha az előző oktatóanyagokban szereplő parancsokkal hozta létre a Kubernetes-fürtöt, a fürt két csomóponttal rendelkezik. Ha növelni vagy csökkenteni szeretné ezt az összeget, manuálisan módosíthatja a csomópontok számát.

A következő példában háromra növeljük a csomópontok számát a myAKSCluster nevű Kubernetes-fürtben. A parancs végrehajtása eltarthat néhány percig.

  • A fürtcsomópontok skálázása a az aks scale paranccsal.

    az aks scale --resource-group myResourceGroup --name myAKSCluster --node-count 3
    

    A fürt sikeres skálázása után a kimenet a következő példakimenethez hasonló lesz:

    "agentPoolProfiles": [
      {
        "count": 3,
        "dnsPrefix": null,
        "fqdn": null,
        "name": "myAKSCluster",
        "osDiskSizeGb": null,
        "osType": "Linux",
        "ports": null,
        "vmSize": "Standard_D2_v2",
        "vnetSubnetId": null
      }
    

A fürt csomópontjait automatikusan skálázhatja is. További információ: A fürt automatikus skálázási eszközének használata csomópontkészletekkel.

Következő lépések

Ebben az oktatóanyagban különböző méretezési funkciókat használtunk a Kubernetes-fürtben. Megtanulta végrehajtani az alábbi műveleteket:

  • Az alkalmazást futtató Kubernetes-podok manuális méretezése.
  • Az alkalmazás előtérrendszerét futtató automatikus skálázási podok konfigurálása.
  • A Kubernetes-csomópontok manuális méretezése.

A következő oktatóanyagban megtudhatja, hogyan frissítheti a Kubernetes-t az AKS-fürtön.