A fürt automatikus skálázójának használata az Azure Kubernetes Service-ben (AKS)

Az AKS-ben az alkalmazásigényeknek való megfelelés érdekében előfordulhat, hogy módosítania kell a számítási feladatokat futtató csomópontok számát. A fürt automatikus skálázási összetevője figyeli a fürt azon podjait, amelyek erőforrás-korlátozások miatt nem ütemezhetők. Amikor a fürt automatikus skálázója problémákat észlel, felskálázza a csomópontkészletben lévő csomópontok számát az alkalmazás igényeinek megfelelően. Emellett rendszeresen ellenőrzi a csomópontokat, hogy nincs-e futó pod, és szükség szerint skálázza le a csomópontok számát.

Ez a cikk bemutatja, hogyan engedélyezheti és kezelheti a fürt automatikus skálázását az AKS-ben, amely a nyílt forráskódú Kubernetes-verzión alapul.

Mielőtt elkezdené

Ez a cikk az Azure CLI 2.0.76-os vagy újabb verzióját igényli. 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.

A fürt automatikus skálázási eszközének használata AKS-fürtön

Fontos

A fürt automatikus skálázási eleme Egy Kubernetes-összetevő. Bár az AKS-fürt egy virtuálisgép-méretezési csoportot használ a csomópontokhoz, ne engedélyezze vagy szerkessze manuálisan a méretezési csoportok automatikus méretezési beállításait. Hagyja, hogy a Kubernetes-fürt automatikus skálázója kezelje a szükséges méretezési beállításokat. További információ: Módosíthatom az AKS-erőforrásokat a csomópont erőforráscsoportjában?

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

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

    az group create --name myResourceGroup --location eastus
    
  2. Hozzon létre egy AKS-fürtöt a az aks create parancs használatával, és engedélyezze és konfigurálja a fürt csomópontkészletén lévő automatikus skálázót a --enable-cluster-autoscaler paraméterrel, és adjon meg egy csomópontot és --max-countegy .--min-count Az alábbi példaparancs létrehoz egy fürtöt egyetlen csomóponttal, amelyet egy virtuálisgép-méretezési csoport biztosít, engedélyezi a fürt automatikus skálázását, és legalább egy és legfeljebb három csomópontot állít be:

    az aks create \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --node-count 1 \
    --vm-set-type VirtualMachineScaleSets \
    --load-balancer-sku standard \
    --enable-cluster-autoscaler \
    --min-count 1 \
    --max-count 3
    

    A fürt létrehozása és a fürt automatikus skálázási beállításainak konfigurálása néhány percet vesz igénybe.

A fürt automatikus skálázásának engedélyezése meglévő fürtön

  • Frissítsen egy meglévő fürtöt a az aks update parancs használatával, és engedélyezze és konfigurálja a fürt automatikus skálázását a csomópontkészleten a --enable-cluster-autoscaler paraméterrel, és adjon meg egy csomópontot --min-count és --max-countegy . Az alábbi példaparancs frissíti a meglévő AKS-fürtöt, hogy engedélyezze a fürt automatikus skálázását a fürt csomópontkészletében, és legalább egy és legfeljebb három csomópontot állít be:

    az aks update \
      --resource-group myResourceGroup \
      --name myAKSCluster \
      --enable-cluster-autoscaler \
      --min-count 1 \
      --max-count 3
    

    A fürt frissítése és a fürt automatikus skálázási beállításainak konfigurálása néhány percet vesz igénybe.

Fürt automatikus skálázási skálázásának letiltása egy fürtön

  • Tiltsa le a fürt automatikus skálázását a az aks update parancs és a --disable-cluster-autoscaler paraméter használatával.

    az aks update \
      --resource-group myResourceGroup \
      --name myAKSCluster \
      --disable-cluster-autoscaler
    

    A csomópontok nem lesznek eltávolítva, ha a fürt automatikus skálázása le van tiltva.

Feljegyzés

A fürt automatikus skálázásának letiltása után manuálisan skálázhatja a fürtöt a az aks scale paranccsal. Ha a vízszintes pod automatikus skálázását használja, az továbbra is le van tiltva a fürt automatikus skálázási funkciójával, de előfordulhat, hogy a podok nem ütemezhetők, ha az összes csomóponterőforrás használatban van.

A fürt automatikus skálázási skálázásának újbóli engedélyezése egy fürtön

A fürt automatikus skálázását a parancs használatával az aks update újra engedélyezheti egy meglévő fürtön, és megadhatja a --enable-cluster-autoscaler, --min-countés --max-count paramétereket.

A fürt automatikus skálázási eszközének használata csomópontkészleteken

A fürt automatikus skálázási funkciójának használata több csomópontkészleten

A fürt automatikus skálázási eszközét több csomópontkészlettel is használhatja, és engedélyezheti a fürt automatikus skálázását az egyes csomópontkészleteken, és egyedi automatikus méretezési szabályokat adhat nekik.

  • A parancs használatával az aks nodepool update frissítse a meglévő csomópontkészlet beállításait.

    az aks nodepool update \
      --resource-group myResourceGroup \
      --cluster-name myAKSCluster \
      --name nodepool1 \
      --update-cluster-autoscaler \
      --min-count 1 \
      --max-count 5
    

Fürt automatikus skálázásának letiltása csomópontkészleten

  • Tiltsa le a fürt automatikus skálázását egy csomópontkészleten a az aks nodepool update parancs és a --disable-cluster-autoscaler paraméter használatával.

    az aks nodepool update \
      --resource-group myResourceGroup \
      --cluster-name myAKSCluster \
      --name nodepool1 \
      --disable-cluster-autoscaler
    

A fürt automatikus skálázási skálázásának újbóli engedélyezése csomópontkészleten

A fürt automatikus skálázását a parancs használatával az aks nodepool update újra engedélyezheti egy csomópontkészleten, és megadhatja a --enable-cluster-autoscaler, --min-countés --max-count paramétereket.

Feljegyzés

Ha a fürt automatikus skálázási funkcióját több zónára kiterjedő csomópontkészletekkel tervezi használni, és kihasználja a zónákkal kapcsolatos ütemezési funkciókat, például a kötettopológiai ütemezést, javasoljuk, hogy zónánként egy csomópontkészlettel rendelkezzen, és engedélyezze --balance-similar-node-groups az automatikus méretezési profilon keresztül. Ez biztosítja, hogy az automatikus skálázás sikeresen felskálázható legyen, és egyensúlyban tartsa a csomópontkészletek méretét.

A fürt automatikus skálázási beállításainak frissítése

Az alkalmazás igényeinek változásával előfordulhat, hogy módosítania kell a fürt automatikus skálázási csomópontjának számát a hatékony skálázáshoz.

  • Módosítsa a csomópontok számát a az aks update paranccsal, és frissítse a fürt automatikus skálázóját a --update-cluster-autoscaler paraméterrel, és adja meg a frissített csomópontot --min-count és --max-counta .

    az aks update \
      --resource-group myResourceGroup \
      --name myAKSCluster \
      --update-cluster-autoscaler \
      --min-count 1 \
      --max-count 5
    

Feljegyzés

A fürt automatikus skálázója a minimális darabszámot kényszeríti ki olyan esetekben, amikor a tényleges szám külső tényezők, például egy azonnali kizárás vagy az AKS API minimális darabszámértékének módosítása során a minimum alá csökken.

A fürt automatikus skálázási profiljának használata

A fürt automatikus skálázási funkciójának részletesebb részleteit a fürtszintű automatikus skálázási profil alapértelmezett értékeinek módosításával konfigurálhatja. Például egy vertikális leskálázási esemény akkor következik be, ha a csomópontok kihasználatlanok 10 perc után. Ha 15 percenként futó számítási feladatokkal rendelkezik, érdemes lehet módosítania az automatikus skálázási profilt úgy, hogy 15 vagy 20 perc után leskálázza a kihasználatlan csomópontokat. A fürt automatikus skálázásának engedélyezésekor a rendszer egy alapértelmezett profilt használ, kivéve, ha eltérő beállításokat ad meg.

Fontos

A fürt automatikus skálázási profilja a fürt automatikus skálázását használó összes csomópontkészletre hatással van. Csomópontkészletenként nem állíthat be automatikus skálázási profilt. A profil beállításakor az automatikus fürtméretezővel rendelkező meglévő csomópontkészletek azonnal elkezdik használni a profilt.

Fürt automatikus skálázási profilbeállításai

Az alábbi táblázat a fürt automatikus skálázási profiljának elérhető beállításait sorolja fel:

Beállítás Leírás Alapértelmezett érték
scan-interval Milyen gyakran történik a fürt újraértékelése a vertikális fel- vagy leskálázáshoz. 10 másodperc
scale-down-delay-after-add Mennyi ideig tart a vertikális felskálázás, hogy a vertikális felskálázás kiértékelése folytatódik. 10 perc
scale-down-delay-after-delete Mennyi ideig folytatódik a leskálázási értékelés a csomópont törlését követően. scan-interval
scale-down-delay-after-failure Mennyi ideig tart a leskálázási hiba után, hogy a leskálázási értékelés folytatódik. Három perc
scale-down-unneeded-time Mennyi ideig kell szükségtelenné tenni egy csomópontot, mielőtt jogosult lenne a vertikális leskálázásra. 10 perc
scale-down-unready-time Mennyi ideig kell egy olvasatlan csomópontot szükségtelenné tenni, mielőtt jogosult lenne a vertikális leskálázásra. 20 perc
ignore-daemonsets-utilization (Előzetes verzió) Azt határozza meg, hogy a DaemonSet-podok figyelmen kívül lesznek-e hagyva a leskálázás erőforrás-kihasználtságának kiszámításakor. false
daemonset-eviction-for-empty-nodes (Előzetes verzió) Azt jelzi, hogy a DaemonSet-podok kecsesen le lesznek-e állítva az üres csomópontokról. false
daemonset-eviction-for-occupied-nodes (Előzetes verzió) Azt jelzi, hogy a DaemonSet-podok kecsesen le lesznek-e állítva a nem üres csomópontokról. true
scale-down-utilization-threshold A csomópont kihasználtsági szintje, amely a kért erőforrások kapacitással osztva történő összegeként van meghatározva, amelyben a csomópontok méretezhető le. 0,5
max-graceful-termination-sec A fürt automatikus skálázási eszközének maximális száma másodpercben várja a podok leállítását a csomópontok leskálázása során. 600 másodperc
balance-similar-node-groups Észleli a hasonló csomópontkészleteket, és kiegyensúlyozza közöttük a csomópontok számát. false
expander A felskálázáshoz használt csomópontkészlet-bővítő típusa. A lehetséges értékek a következők: most-pods, random, least-wasteés priority. random
skip-nodes-with-local-storage Ha truea fürt automatikus skálázása nem törli a helyi tárterülettel rendelkező podokat tartalmazó csomópontokat, például EmptyDir vagy HostPath. false
skip-nodes-with-system-pods Ha truea fürt automatikus skálázása nem törli a kube-rendszer podjait tartalmazó csomópontokat (kivéve a DaemonSet vagy a tükrözött podokat). true
max-empty-bulk-delete Az egyidejűleg törölhető üres csomópontok maximális száma. 10 csomópont
new-pod-scale-up-delay Olyan forgatókönyvek esetén, mint például a kipukkadás/kötegelt skálázás, ahol nem szeretné, hogy a hitelesítésszolgáltató azelőtt működjön, hogy a Kubernetes ütemezője ütemezhetné az összes podot, azt is beállíthatja, hogy a hitelesítésszolgáltató hagyja figyelmen kívül a nem ütemezett podokat, mielőtt elérnének egy bizonyos kort. 0 másodperc
max-total-unready-percentage A fürt olvasatlan csomópontjainak maximális aránya. A százalékos érték túllépése után a hitelesítésszolgáltató leállítja a műveleteket. 45%
max-node-provision-time Az automatikus skálázó maximális ideje a csomópont kiépítésére vár. 15 perc
ok-total-unready-count Az engedélyezett olvasatlan csomópontok száma, a maximális teljes-olvasatlan százalékos értéktől függetlenül. Három csomópont

A fürt automatikus skálázási profiljának beállítása új fürtön

  • Hozzon létre egy AKS-fürtöt a az aks create paranccsal, és állítsa be a fürt automatikus skálázási profilját a cluster-autoscaler-profile paraméterrel.

    az aks create \
      --resource-group myResourceGroup \
      --name myAKSCluster \
      --node-count 1 \
      --enable-cluster-autoscaler \
      --min-count 1 \
      --max-count 3 \
      --cluster-autoscaler-profile scan-interval=30s
    

A fürt automatikus skálázási profiljának beállítása meglévő fürtön

  • Állítsa be a fürt automatikus skálázását egy meglévő fürtön a az aks update parancs és a cluster-autoscaler-profile paraméter használatával. Az alábbi példa a vizsgálati időköz beállítását 30-as értékként konfigurálja:

    az aks update \
      --resource-group myResourceGroup \
      --name myAKSCluster \
      --cluster-autoscaler-profile scan-interval=30s
    

Fürt automatikus skálázási profiljának konfigurálása agresszív leskálázáshoz

Feljegyzés

Az agresszív leskálázás nem ajánlott olyan fürtök esetében, amelyeknél rövid időközönként gyakori horizontális felskálázások és horizontális felskálázások lépnek fel, mivel ez hosszabb csomópontkiépítési időt eredményezhet ezekben a körülmények között. Az ilyen körülmények között a növekedés scale-down-delay-after-add segíthet, ha a csomópontot hosszabb ideig tartja a bejövő számítási feladatok kezeléséhez.

 az aks update \
     --resource-group myResourceGroup \
     --name myAKSCluster \
     --cluster-autoscaler-profile scan-interval=30s, scale-down-delay-after-add=0s,scale-down-delay-after-failure=30s,scale-down-unneeded-time=3m,scale-down-unready-time=3m,max-graceful-termination-sec=30,skip-nodes-with-local-storage=false,max-empty-bulk-delete=1000,max-total-unready-percentage=100,ok-total-unready-count=1000,max-node-provision-time=15m

Fürt automatikus skálázási profiljának konfigurálása nagy teljesítményű számítási feladatokhoz

 az aks update \   
     --resource-group "myResourceGroup" \
     --name myAKSCluster \ 
     --cluster-autoscaler-profile scan-interval=20s,scale-down-delay-after-add=10m,scale-down-delay-after-failure=1m,scale-down-unneeded-time=5m,scale-down-unready-time=5m,max-graceful-termination-sec=30,skip-nodes-with-local-storage=false,max-empty-bulk-delete=100,max-total-unready-percentage=100,ok-total-unready-count=1000,max-node-provision-time=15m

Fürt automatikus skálázási profiljának alaphelyzetbe állítása alapértelmezett értékekre

  • Állítsa alaphelyzetbe a fürt automatikus skálázási profilját a az aks update paranccsal.

    az aks update \
      --resource-group myResourceGroup \
      --name myAKSCluster \
      --cluster-autoscaler-profile ""
    

Fürt automatikus skálázási naplóinak és állapotának lekérése

Az automatikus skálázási események diagnosztizálásához és hibakereséséhez lekérheti a naplókat és az állapotfrissítéseket a fürt automatikus skálázási eszközéről. Az AKS az Ön nevében kezeli a fürt automatikus skálázását, és a felügyelt vezérlősíkon futtatja. Engedélyezheti a vezérlősík-csomópont számára a naplók és műveletek megtekintését a fürt automatikus skálázási eszközéről.

  1. Állítson be egy szabályt az erőforrásnaplókhoz, hogy a fürt automatikus skálázási naplóit leküldje a Log Analyticsbe az itt leírt utasításokat követve. A naplók beállításainak kiválasztásakor jelölje be a jelölőnégyzetet.cluster-autoscaler

  2. Válassza ki a fürt Napló szakaszát.

  3. Írja be a következő példa lekérdezést a Log Analyticsbe:

    AzureDiagnostics
    | where Category == "cluster-autoscaler"
    

    Ha vannak lekérendő naplók, a következő naplókhoz hasonló naplókat kell látnia:

    A Log Analytics-naplók képernyőképe.

  4. A fürt automatikus skálázási felskálázásának megtekintése nem aktivált események megtekintése a parancssori felületen

    kubectl get events --field-selector source=cluster-autoscaler,reason=NotTriggerScaleUp
    
  5. A fürt automatikus skálázási figyelmeztetési eseményeinek megtekintése a parancssori felületen

    kubectl get events --field-selector source=cluster-autoscaler,type=Warning
    
  6. A fürt automatikus skálázási eszköz az állapotot egy configmap elnevezettre cluster-autoscaler-statusis felírja. Ezeket a naplókat a következő kubectl paranccsal kérdezheti le:

    kubectl get configmap -n kube-system cluster-autoscaler-status -o yaml
    

További információ: Kubernetes/autoscaler GitHub-projekt – gyakori kérdések.

Fürt automatikus skálázási metrikái

A vezérlősík-metrikák (előzetes verzió) engedélyezésével megtekintheti a fürt automatikus skálázási naplóit és műveleteit a Prometheus bővítményhez készült Azure Monitor felügyelt szolgáltatással

Következő lépések

Ez a cikk bemutatta, hogyan skálázhatja automatikusan az AKS-csomópontok számát. A vízszintes pod automatikus skálázásával automatikusan módosíthatja az alkalmazást futtató podok számát. A podok automatikus horizontális méretezésének lépéseit az alkalmazások skálázása az AKS-ben című témakörben találja.

A fürterőforrás-kihasználtság javításához és a processzor és a memória felszabadításához további segítséget a Függőleges pod automatikus skálázása című témakörben talál.