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 virtuálisgép-méretezési csoportokat használ a csomópontokhoz, ne engedélyezze vagy szerkessze manuálisan a méretezési csoport automatikus skálázási beállításait. Hagyja, hogy a Kubernetes-fürt automatikus méretezési funkció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
Hozzon létre egy erőforráscsoportot a
az group create
paranccsal.az group create --name myResourceGroup --location eastus
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-count
egy .--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 \ --generate-ssh-keys
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-count
egy . 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-count
a .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:
Feljegyzés
Az ignore-daemonsets-utilization, a daemonset-eviction-for-empty-nodes és a daemonset-eviction-for-occupied-nodes paraméter a GA az API 2024-05-01-es verziójából. Ha a parancssori felülettel frissíti ezeket a jelzőket, győződjön meg arról, hogy a 2.63-es vagy újabb verziót használja.
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 acluster-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 \ --generate-ssh-keys
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 acluster-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=0m,scale-down-delay-after-failure=1m,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.
Á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
Válassza ki a fürt Napló szakaszát.
Írja be a következő példa lekérdezést a Log Analyticsbe:
AzureDiagnostics | where Category == "cluster-autoscaler"
A fürt automatikus skálázási felskálázásának megtekintése nem aktivált események a parancssori felületen.
kubectl get events --field-selector source=cluster-autoscaler,reason=NotTriggerScaleUp
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
A fürt automatikus skálázási eszköz az állapotot egy
configmap
elnevezettrecluster-autoscaler-status
is 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.
Azure Kubernetes Service