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


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

Ha követte az előző oktatóanyagokat, egy üzemképes Kubernetes-fürttel és az Azure Store Front alkalmazással rendelkezik.

Ebben az oktatóanyagban horizontálisan felskálázza 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 konténerképfájlba csomagolt, feltöltötte a képfájlt az Azure Container Registrybe, hozzáadott 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 következő parancs kubectl get használatával 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 skálázása

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ürtjéhez, hogy a feldolgozandó események száma alapján történjen a skálázás. 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 klaszter sikeres skálázása után a kimenet hasonló lesz a következő példára:

    "aadProfile": null,
    "addonProfiles": null,
    "agentPoolProfiles": [
      {
        ...
        "count": 3,
        "mode": "System",
        "name": "nodepool1",
        "osDiskSizeGb": 128,
        "osDiskType": "Managed",
        "osType": "Linux",
        "ports": null,
        "vmSize": "Standard_DS2_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önféle 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.