Gyakorlat – Fürt méretezhetőségének engedélyezése az AKS-ben

Befejeződött

A fürt automatikus skálázásának engedélyezése AKS-fürtön

  1. Nyissa meg az Azure Cloud Shellt a böngészőben, és válassza a Bash lehetőséget.

  2. Hozzon létre egy Azure-erőforráscsoportot a az group create paranccsal.

    az group create --name myResourceGroup --location eastus
    
  3. Hozzon létre egy új AKS-fürtöt, amelyen engedélyezve van a fürt automatikus skálázása a parancs és a az aks create--enable-cluster-autoscaler jelző használatával.

    az aks create --resource-group myResourceGroup --name myAKSCluster --enable-addons monitoring --enable-msi-auth-for-monitoring --enable-cluster-autoscaler --min-count 1 --max-count 10 --generate-ssh-keys
    

    A fürt létrehozása néhány percet vesz igénybe.

  4. Csatlakozás a fürthöz a az aks get-credentials parancs használatával.

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    
  5. A parancs használatával kubectl get nodes megtekintheti a fürt csomópontjait.

    kubectl get nodes
    

    A kimenetnek a következő példakimenethez hasonlóan kell kinéznie:

    NAME                                STATUS   ROLES   AGE   VERSION
    aks-nodepool1-12345678-vmss000000   Ready    agent   1m    v1.26.6
    aks-nodepool1-12345678-vmss000001   Ready    agent   1m    v1.26.6
    aks-nodepool1-12345678-vmss000002   Ready    agent   1m    v1.26.6
    

A mintaalkalmazás üzembe helyezése

  1. A Cloud Shellben hozzon létre egy jegyzékfájlt a Kubernetes deployment,deployment.yml parancs használatávaltouch.

    touch deployment.yml
    
  2. Nyissa meg a jegyzékfájlt a code paranccsal.

    code deployment.yml
    
  3. Illessze be a következő kódot a jegyzékfájlba.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: contoso-website
    spec:
      replicas: 35
      selector:
        matchLabels:
          app: contoso-website
      template:
        metadata:
          labels:
            app: contoso-website
        spec:
          containers:
            - image: mcr.microsoft.com/mslearn/samples/contoso-website
              name: contoso-website
              resources:
                requests:
                  cpu: 100m
                  memory: 128Mi
                limits:
                  cpu: 250m
                  memory: 256Mi
              ports:
                - containerPort: 80
                  name: http
    
  4. Mentse a fájlt, majd zárja be a szerkesztőt.

A fürt automatikus skálázási profiljának frissítése

Az automatikus skálázási profilok finomhangolhatók úgy, hogy a konfigurációban több jelölőt is beállítanak. Tekintse meg az elérhető jelzők listáját a Fürt automatikus skálázási profiljának használata lapon. Ebben a példában frissítenie kell az automatikus skálázót, hogy csökkentse a lekérdezési időt a függőben lévő podok ellenőrzéséhez, és csökkentse azt az időtartamot, amíg várnia kell, mielőtt leskáláz egy korábbi állapotról.

  1. Frissítse a fürt automatikus skálázási profilját a az aks update jelölővel ellátott --cluster-autoscaler-profile paranccsal.

    az aks update --resource-group myResourceGroup --name myAKSCluster --cluster-autoscaler-profile scan-interval=5s scale-down-unready-time=5m scale-down-delay-after-add=5m
    
  2. Skálázza le az üzembe helyezést a kubectl scale deployment paranccsal.

    kubectl scale deployment contoso-website --replicas 5
    
  3. Ellenőrizze a fürt automatikus skálázási naplóit és a fürt automatikus skálázási állapotának konfigurációs leképezését a kubectl describe cm paranccsal.

    kubectl describe cm cluster-autoscaler-status -n kube-system
    

    A leskálázás előtt a kimenetnek az alábbi példakimenethez hasonlóan kell kinéznie:

    Cluster-autoscaler status at 2023-11-09 20:08:14.892961701 +0000 UTC:
    Cluster-wide:
      Health:      Healthy (ready=3 unready=0 notStarted=0 longNotStarted=0 registered=3 longUnregistered=0)
                   LastProbeTime:      2023-11-09 19:56:57.890988498 +0000 UTC m=+1673.465985892
                   LastTransitionTime: 2023-11-09 19:45:09.593593337 +0000 UTC m=+774.168590731
      ScaleUp:     NoActivity (ready=3 registered=3)
                   LastProbeTime:      2023-11-09 19:56:57.890988498 +0000 UTC m=+1673.465985892
                   LastTransitionTime: 2023-11-09 19:45:09.593593337 +0000 UTC m=+774.168590731
      ScaleDown:   CandidatesPresent (candidates=3)
                   LastProbeTime:      2023-11-09 19:56:57.890988498 +0000 UTC m=+1673.465985892
                   LastTransitionTime: 2023-11-09 19:56:52.440038763 +0000 UTC m=+1101.015036157
    
  4. Várjon körülbelül öt percet, amíg az automatikus skálázó befejezi a skálázást, majd futtassa újra az előzőt kubectl describe cm.

    A leskálázás után a kimenetnek a következő példakimenethez hasonlóan kell kinéznie:

    Cluster-autoscaler status at 2023-11-09 20:14:39.123206413 +0000 UTC:
    Cluster-wide:
      Health:      Healthy (ready=1 unready=0 (resourceUnready=0) notStarted=0 longNotStarted=0 registered=1 longUnregistered=0)
                   LastProbeTime:      2023-11-09 20:14:39.113206413 +0000 UTC m=+2150.697175601
                   LastTransitionTime: 2023-11-09 19:45:09.593593337 +0000 UTC m=+774.168590731
      ScaleUp:     NoActivity (ready=1 registered=1)
                   LastProbeTime:      2023-11-09 20:14:39.113206413 +0000 UTC m=+2150.697175601
                   LastTransitionTime: 2023-11-09 19:45:09.593593337 +0000 UTC m=+774.168590731
      ScaleDown:   NoCandidates (candidates=0)
                   LastProbeTime:      2023-11-09 20:14:39.113206413 +0000 UTC m=+2150.697175601
                   LastTransitionTime: 2023-11-09 20:07:08.79828656 +0000 UTC m=+1718.924760896
    
  5. A parancs használatával kubectl get nodes megtekintheti a fürt csomópontjait.

    kubectl get nodes
    

    A kimenetnek a következő példakimenethez hasonlóan kell kinéznie, és a csomópontok száma egyre csökken:

    NAME                                STATUS   ROLES   AGE   VERSION
    aks-nodepool1-12345678-vmss000000   Ready    agent   37m    v1.26.6