Vertikální automatické škálování podů ve službě Azure Kubernetes Service (AKS)
Tento článek obsahuje přehled vertikálního automatického škálování podů (VPA) ve službě Azure Kubernetes Service (AKS), která je založená na opensourcové verzi Kubernetes . Při konfiguraci automaticky nastaví požadavky na prostředky a limity pro kontejnery na každou úlohu na základě předchozího využití. VPA uvolní procesor a paměť pro ostatní pody a pomáhá efektivnímu využití clusteru AKS.
Vertikální automatické škálování podů poskytuje doporučení pro využití prostředků v průběhu času. Pokud chcete spravovat náhlé zvýšení využití prostředků, použijte horizontální automatické škálování podů, které podle potřeby škáluje počet replik podů.
Zaměstnanecké výhody
Vertikální automatické škálování podů poskytuje následující výhody:
Analyzuje a upravuje prostředky procesoru a paměti tak, aby byly správné velikosti aplikací. VPA zodpovídá nejen za vertikální navýšení kapacity, ale také za vertikální snížení kapacity na základě využití prostředků v průběhu času.
Pod se vyřadí, pokud potřebuje změnit požadavky na prostředky, pokud je jeho režim škálování nastavený na automatické nebo opětovné vytvoření.
Nastavení omezení procesoru a paměti pro jednotlivé kontejnery zadáním zásad prostředků
Zajišťuje, že uzly mají správné prostředky pro plánování podů.
Konfigurovatelné protokolování jakýchkoli úprav prostředků procesoru nebo paměti provedených
Vylepšení využití prostředků clusteru a uvolnění procesoru a paměti pro ostatní pody.
Omezení
Vertikální automatické škálování podů podporuje maximálně 1 000 podů přidružených k objektům
VerticalPodAutoscaler
na cluster.VPA může doporučit více prostředků, než je k dispozici v clusteru. V důsledku toho zabráníte přiřazení podu k uzlu a jeho spuštění, protože uzel nemá dostatek prostředků. Toto omezení můžete překonat nastavením limitRange na maximální dostupné prostředky na obor názvů, což zajistí, že pody nebudou žádat o více prostředků, než je zadáno. Kromě toho můžete nastavit maximální povolená doporučení pro prostředky na pod v objektu
VerticalPodAutoscaler
. Mějte na paměti, že VPA nemůže plně překonat problém s nedostatečným prostředkem uzlu. Rozsah omezení je pevný, ale využití prostředků uzlu se dynamicky mění.Nedoporučujeme používat vertikální automatické škálování podů s horizontálním automatickým škálováním podů, které se škáluje na základě stejných metrik využití procesoru a paměti.
Nástroj VPA Recommender ukládá pouze až osm dní historických dat.
VPA nepodporuje úlohy založené na JVM kvůli omezenému přehledu o skutečném využití paměti úlohy.
Nedoporučuje se ani nepodporuje spouštění vlastní implementace VPA spolu s touto spravovanou implementací VPA. Podpora dalšího nebo přizpůsobeného doporučovače
Kontejnery AKS pro Windows se nepodporují.
Než začnete
Cluster AKS používá Kubernetes verze 1.24 a vyšší.
Nainstalované a nakonfigurované rozhraní příkazového řádku Azure CLI verze 2.52.0 nebo novější. Verzi zjistíte spuštěním příkazu
az --version
. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.kubectl
by měl být připojený ke clusteru, který chcete nainstalovat VPA.
Přehled VPA
Objekt rozhraní API
Vertikální automatické škálování podů je prostředek rozhraní API ve skupině rozhraní API pro automatické škálování Kubernetes. Podporovaná verze je 0.11 a vyšší a najdete ji v úložišti automatického škálování Kubernetes.
Objekt VPA se skládá ze tří komponent:
Doporučovací nástroj – monitoruje aktuální a předchozí spotřebu prostředků a na základě toho poskytuje doporučené hodnoty pro požadavky nebo limity procesoru a paměti kontejnerů. Doporučovací nástroj monitoruje historii metrik, události OOM (Nedostatek paměti) a specifikace nasazení VPA a navrhuje spravedlivé požadavky. Poskytnutím správné konfigurace požadavků na prostředky a omezení se limity zvýší a sníží.
Aktualizátor – kontroluje, které z spravovaných podů mají nastavené správné prostředky, a pokud ne, zabije je, aby je jejich kontrolery mohly znovu vytvořit s aktualizovanými požadavky.
Kontroler přístupu VPA – nastavuje správné požadavky na prostředky na nových podech (vytvořených nebo znovu vytvořených kontrolerem kvůli aktivitě updateru).
Kontroler přístupu VPA
Kontroler přístupu VPA je binární soubor, který se zaregistruje jako webhook Mutating Admission Webhook. Při každém vytvořeném podu získá požadavek ze serveru api a vyhodnotí, jestli existuje odpovídající konfigurace VPA, nebo najde odpovídající konfiguraci a použije aktuální doporučení k nastavení požadavků na prostředky v podu.
Samostatná úloha se spouští mimo kontroler přístupu VPA, který se nazývá overlay-vpa-cert-webhook-check
. Slouží overlay-vpa-cert-webhook-check
k vytvoření a obnovení certifikátů a registraci kontroleru přístupu VPA jako MutatingWebhookConfiguration
.
Pro zajištění vysoké dostupnosti podporuje AKS dvě repliky kontroleru přístupu.
Režimy operací objektů VPA
Pro každý kontroler, který chcete mít automaticky vypočítané požadavky na prostředky, se vloží prostředek vertikálního automatického škálování podů. Nejčastěji se jedná o nasazení. Existují čtyři režimy, ve kterých VPA fungují:
Auto
– VPA přiřazuje žádosti o prostředky během vytváření podů a aktualizuje existující pody pomocí upřednostňovaného mechanismu aktualizace.Auto
V současné době je ekvivalentní aRecreate
také je výchozím režimem. Jakmile je k dispozici bezplatná (místní) aktualizace požadavků podů, může se použít jako upřednostňovaný mechanismus aktualizace vAuto
režimu. Při použitíRecreate
režimu VPA vyřadí pod, pokud potřebuje změnit požadavky na prostředky. Může to způsobit restartování podů najednou, což způsobí nekonzistence aplikací. V této situaci můžete omezit restartování a zachovat konzistenci pomocí souboru PodDisruptionBudget.Recreate
– VPA přiřazuje žádosti o prostředky během vytváření podů a také aktualizuje existující pody tak, že je vyřadí, když se požadované prostředky výrazně liší od nového doporučení (pokud je definovaný rozpočet přerušení podu). Tento režim by se měl používat jen zřídka, pouze pokud potřebujete zajistit, aby se pody restartovaly při každé změně požadavku na prostředek.Auto
V opačném případě je režim upřednostňovaný, což může využít výhod aktualizací bez restartování, jakmile budou dostupné.Initial
– VPA přiřazuje žádosti o prostředky pouze během vytváření podů a potom se nikdy nezmění.Off
– VPA automaticky nemění požadavky na prostředky podů. Doporučení se počítají a je možné je zkontrolovat v objektu VPA.
Model nasazení během vývoje aplikací
Běžný model nasazení doporučujeme, pokud neznáte nástroj VPA, je provést během vývoje aplikací následující kroky, abyste identifikovali jeho jedinečné charakteristiky využití prostředků, otestujte VPA, abyste ověřili, že funguje správně, a otestujte spolu s ostatními komponentami Kubernetes, abyste optimalizovali využití prostředků clusteru.
V produkčním clusteru nastavte UpdateMode = Vypnuto a spusťte VPA v režimu doporučení, abyste mohli testovat a získat znalosti VPA. UpdateMode = "Vypnuto" může zabránit zavedení chybné konfigurace, která může způsobit výpadek.
Nejprve vytvořte pozorovatelnost shromažďováním telemetrie skutečného využití prostředků v daném časovém období. To vám pomůže pochopit chování a známky příznaků nebo problémů z prostředků kontejnerů a podů ovlivněných úlohami, které na nich běží.
Seznamte se s daty monitorování, abyste porozuměli charakteristikám výkonu. Na základě tohoto přehledu nastavte požadované požadavky nebo limity odpovídajícím způsobem a pak v dalším nasazení nebo upgradu.
Nastavte
updateMode
hodnotu naAuto
hodnotu ,Recreate
neboInitial
v závislosti na vašich požadavcích.
Nasazení, upgrade nebo zákaz VPA v clusteru
V této části nasadíte, upgradujete nebo zakážete vertikální automatické škálování podů ve vašem clusteru.
Pokud chcete povolit VPA v novém clusteru, použijte
--enable-vpa
parametr s příkazem az aks create .az aks create -n myAKSCluster -g myResourceGroup --enable-vpa
Po několika minutách se příkaz dokončí a vrátí informace o clusteru ve formátu JSON.
Volitelně můžete povolit VPA v existujícím clusteru pomocí
--enable-vpa
příkazu [https://learn.microsoft.com/en-us/cli/azure/aks?view=azure-cli-latest#az-aks-update].az aks update -n myAKSCluster -g myResourceGroup --enable-vpa
Po několika minutách se příkaz dokončí a vrátí informace o clusteru ve formátu JSON.
Volitelně můžete zakázat VPA v existujícím clusteru pomocí
--disable-vpa
příkazu [https://learn.microsoft.com/en-us/cli/azure/aks?view=azure-cli-latest#az-aks-update].az aks update -n myAKSCluster -g myResourceGroup --disable-vpa
Po několika minutách se příkaz dokončí a vrátí informace o clusteru ve formátu JSON.
K ověření úspěšného vytvoření podů vertikálního automatického škálování podů použijte příkaz kubectl get .
kubectl get pods -n kube-system
Výstup příkazu obsahuje následující výsledky specifické pro pody VPA. Pody by měly zobrazovat stav spuštění .
NAME READY STATUS RESTARTS AGE
vpa-admission-controller-7867874bc5-vjfxk 1/1 Running 0 41m
vpa-recommender-5fd94767fb-ggjr2 1/1 Running 0 41m
vpa-updater-56f9bfc96f-jgq2g 1/1 Running 0 41m
Testování instalace vertikálního automatického škálování podů
Následující kroky vytvoří nasazení se dvěma pody, z nichž každý spustí jeden kontejner, který požaduje 100 milicores a pokusí se využít mírně nad 500 milicores. Vytvoří se také konfigurace VPA, která ukazuje na nasazení. VPA sleduje chování podů a po přibližně pěti minutách se aktualizují o vyšší požadavek na procesor.
Vytvořte soubor s názvem
hamster.yaml
a zkopírujte v následujícím manifestu příkladu vertikálního automatického škálování podů z úložiště GitHub kubernetes/autoscaler .Pomocí příkazu kubectl apply nasaďte příklad vertikálního
hamster.yaml
automatického škálování podů a zadejte název manifestu YAML:kubectl apply -f hamster.yaml
Po několika minutách se příkaz dokončí a vrátí informace o clusteru ve formátu JSON.
Spuštěním následujícího příkazu kubectl get získejte pody z ukázkové aplikace hamster:
kubectl get pods -l app=hamster
Příklad výstupu vypadá přibližně takto:
hamster-78f9dcdd4c-hf7gk 1/1 Running 0 24s hamster-78f9dcdd4c-j9mc7 1/1 Running 0 24s
K zobrazení rezervace procesoru a paměti použijte příkaz kubectl describe na jednom z podů. Nahraďte "exampleID" jedním z ID podů vrácených ve výstupu z předchozího kroku.
kubectl describe pod hamster-exampleID
Ukázkový výstup je fragment informací o clusteru:
hamster: Container ID: containerd:// Image: k8s.gcr.io/ubuntu-slim:0.1 Image ID: sha256: Port: <none> Host Port: <none> Command: /bin/sh Args: -c while true; do timeout 0.5s yes >/dev/null; sleep 0.5s; done State: Running Started: Wed, 28 Sep 2022 15:06:14 -0400 Ready: True Restart Count: 0 Requests: cpu: 100m memory: 50Mi Environment: <none>
Pod má v tomto příkladu rezervovaných 100 milicpu a 50 Mibibajtů paměti. Pro tuto ukázkovou aplikaci potřebuje pod ke spuštění méně než 100 milicpu, takže není k dispozici žádná kapacita procesoru. Pody také vyhradí mnohem méně paměti, než je potřeba. Nasazení vertikálního automatického škálování podů vpa-recommender analyzuje pody hostující aplikaci hamster a zjistí, jestli jsou vhodné požadavky na procesor a paměť. Pokud jsou potřeba úpravy, nástroj vpa-updater znovu zobrazí pody s aktualizovanými hodnotami.
Počkejte, než vpa-updater spustí nový pod hamster, což by mělo trvat několik minut. Pody můžete monitorovat pomocí příkazu kubectl get .
kubectl get --watch pods -l app=hamster
Po spuštění nového podu hamster popište pod, na kterém běží příkaz kubectl, a zobrazte aktualizované rezervace procesoru a paměti.
kubectl describe pod hamster-<exampleID>
Ukázkový výstup je fragment informací popisující pod:
State: Running Started: Wed, 28 Sep 2022 15:09:51 -0400 Ready: True Restart Count: 0 Requests: cpu: 587m memory: 262144k Environment: <none>
V předchozím výstupu vidíte, že se rezervace procesoru zvýšila na 587 milicpu, což je více než pětkrát původní hodnota. Paměť se zvýšila na 262 144 kilobajtů, což je přibližně 250 Mibibajtů nebo pětkrát původní hodnota. Tento pod byl nedostatečně prostředků a vertikální automatické škálování podů opravilo odhad s mnohem vhodnější hodnotou.
Pokud chcete zobrazit aktualizovaná doporučení z VPA, spusťte příkaz kubectl describe , který popisuje informace o prostředcích hamster-vpa.
kubectl describe vpa/hamster-vpa
Ukázkový výstup je fragment informací o využití prostředků:
State: Running Started: Wed, 28 Sep 2022 15:09:51 -0400 Ready: True Restart Count: 0 Requests: cpu: 587m memory: 262144k Environment: <none>
Nastavení požadavků automatického škálování podů
Vertikální automatické škálování podů VerticalPodAutoscaler
používá objekt k automatickému nastavení požadavků na prostředky u podů, pokud je vlastnost updateMode nastavená na hodnotu Auto. V závislosti na vašich požadavcích a testování můžete nastavit jinou hodnotu. V tomto příkladu je updateMode nastaven na Recreate
.
Spuštěním následujícího příkazu povolte pro cluster protokol VPA pro váš cluster. Nahraďte název
myAKSCluster
clusteru názvem clusteru AKS a nahraďtemyResourceGroup
názvem skupiny prostředků, ve které je cluster hostovaný.az aks update -n myAKSCluster -g myResourceGroup --enable-vpa
Vytvořte soubor s názvem
azure-autodeploy.yaml
a zkopírujte ho v následujícím manifestu.apiVersion: apps/v1 kind: Deployment metadata: name: vpa-auto-deployment spec: replicas: 2 selector: matchLabels: app: vpa-auto-deployment template: metadata: labels: app: vpa-auto-deployment spec: containers: - name: mycontainer image: mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine resources: requests: cpu: 100m memory: 50Mi command: ["/bin/sh"] args: ["-c", "while true; do timeout 0.5s yes >/dev/null; sleep 0.5s; done"]
Tento manifest popisuje nasazení, které má dva pody. Každý pod má jeden kontejner, který požaduje 100 miliCPU a 50 MiB paměti.
Vytvořte pod pomocí příkazu kubectl create , jak je znázorněno v následujícím příkladu:
kubectl create -f azure-autodeploy.yaml
Po několika minutách se příkaz dokončí a vrátí informace o clusteru ve formátu JSON.
Spuštěním následujícího příkazu kubectl get získejte pody:
kubectl get pods
Výstup vypadá podobně jako v následujícím příkladu s názvem a stavem podů:
NAME READY STATUS RESTARTS AGE vpa-auto-deployment-54465fb978-kchc5 1/1 Running 0 52s vpa-auto-deployment-54465fb978-nhtmj 1/1 Running 0 52s
Vytvořte soubor s názvem
azure-vpa-auto.yaml
a zkopírujte ho v následujícím manifestuVerticalPodAutoscaler
, který popisuje:apiVersion: autoscaling.k8s.io/v1 kind: VerticalPodAutoscaler metadata: name: vpa-auto spec: targetRef: apiVersion: "apps/v1" kind: Deployment name: vpa-auto-deployment updatePolicy: updateMode: "Recreate"
Hodnota
targetRef.name
určuje, že libovolný pod, který je řízen nasazením pojmenovanýmvpa-auto-deployment
, patří doVerticalPodAutoscaler
. HodnotaupdateMode
znamená, že kontroler vertikálního automatickéhoRecreate
škálování podů může odstranit pod, upravit požadavky na procesor a paměť a pak vytvořit nový pod.Použijte manifest v clusteru pomocí příkazu kubectl apply :
kubectl create -f azure-vpa-auto.yaml
Počkejte několik minut a znovu zobrazte spuštěné pody spuštěním následujícího příkazu kubectl get :
kubectl get pods
Výstup se podobá následujícímu příkladu, který ukazuje, že se názvy podů změnily a stav podů:
NAME READY STATUS RESTARTS AGE vpa-auto-deployment-54465fb978-qbhc4 1/1 Running 0 2m49s vpa-auto-deployment-54465fb978-vbj68 1/1 Running 0 109s
Pomocí příkazu Kubectl get získejte podrobné informace o jednom ze spuštěných podů. Nahraďte
podName
názvem jednoho z podů, které jste získali v předchozím kroku.kubectl get pod podName --output yaml
Výstup se podobá následujícímu příkladu, který ukazuje, že řadič vertikálního automatického škálování podů zvýšil požadavek na paměť na 262144k a požadavek procesoru na 25 miliCPU.
apiVersion: v1 kind: Pod metadata: annotations: vpaObservedContainers: mycontainer vpaUpdates: 'Pod resources updated by vpa-auto: container 0: cpu request, memory request' creationTimestamp: "2022-09-29T16:44:37Z" generateName: vpa-auto-deployment-54465fb978- labels: app: vpa-auto-deployment spec: containers: - args: - -c - while true; do timeout 0.5s yes >/dev/null; sleep 0.5s; done command: - /bin/sh image: mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine imagePullPolicy: IfNotPresent name: mycontainer resources: requests: cpu: 25m memory: 262144k
Pokud chcete získat podrobné informace o vertikálním automatickém škálování podů a jeho doporučeních pro procesor a paměť, použijte příkaz kubectl get :
kubectl get vpa vpa-auto --output yaml
Výstup vypadá podobně jako v následujícím příkladu:
recommendation: containerRecommendations: - containerName: mycontainer lowerBound: cpu: 25m memory: 262144k target: cpu: 25m memory: 262144k uncappedTarget: cpu: 25m memory: 262144k upperBound: cpu: 230m memory: 262144k
Výsledky ukazují
target
atribut, který určuje, že aby kontejner běžel optimálně, nemusí měnit procesor ani cíl paměti. Výsledky se můžou lišit v tom, kde je doporučení cílového procesoru a paměti vyšší.Vertikální automatické škálování podů používá
lowerBound
atributy aupperBound
určuje, jestli se má pod odstranit a nahradit ho novým podem. Pokud má pod požadavky menší než dolní mez nebo větší než horní mez, vertikální automatické škálování podů odstraní pod a nahradí ho podem, který splňuje cílový atribut.
Další doporučení pro vertikální automatické škálování podů
V analyzátoru osvědčených nástrojů je jednou ze základních komponent doporučovací nástroj. Poskytuje doporučení pro využití prostředků na základě spotřeby prostředků v reálném čase. AKS nasadí doporučovací nástroj, když cluster povolí VPA. Můžete nasadit přizpůsobený doporučovač nebo další doporučovač se stejnou imagí jako výchozí. Výhodou přizpůsobeného doporučovacího modulu je, že můžete přizpůsobit logiku doporučení. Pokud existuje mnoho objektů VPA, můžete pomocí dalšího doporučovacího nástroje rozdělit vpady na několik doporučovačů.
Následující příklad představuje další doporučení, které se týká stávajícího clusteru AKS. Pak nakonfigurujete objekt VPA tak, aby používal další doporučovací nástroj.
Vytvořte soubor s názvem
extra_recommender.yaml
a zkopírujte ho v následujícím manifestu:apiVersion: apps/v1 kind: Deployment metadata: name: extra-recommender namespace: kube-system spec: replicas: 1 selector: matchLabels: app: extra-recommender template: metadata: labels: app: extra-recommender spec: serviceAccountName: vpa-recommender securityContext: runAsNonRoot: true runAsUser: 65534 # nobody containers: - name: recommender image: registry.k8s.io/autoscaling/vpa-recommender:0.13.0 imagePullPolicy: Always args: - --recommender-name=extra-recommender resources: limits: cpu: 200m memory: 1000Mi requests: cpu: 50m memory: 500Mi ports: - name: prometheus containerPort: 8942
Nasaďte příklad vertikálního automatického
extra-recomender.yaml
škálování podů pomocí příkazu kubectl apply a zadejte název manifestu YAML.kubectl apply -f extra-recommender.yaml
Po několika minutách se příkaz dokončí a vrátí informace o clusteru ve formátu JSON.
Vytvořte soubor s názvem
hamnster_extra_recommender.yaml
a zkopírujte ho v následujícím manifestu:apiVersion: "autoscaling.k8s.io/v1" kind: VerticalPodAutoscaler metadata: name: hamster-vpa spec: recommenders: - name: 'extra-recommender' targetRef: apiVersion: "apps/v1" kind: Deployment name: hamster updatePolicy: updateMode: "Auto" resourcePolicy: containerPolicies: - containerName: '*' minAllowed: cpu: 100m memory: 50Mi maxAllowed: cpu: 1 memory: 500Mi controlledResources: ["cpu", "memory"] --- apiVersion: apps/v1 kind: Deployment metadata: name: hamster spec: selector: matchLabels: app: hamster replicas: 2 template: metadata: labels: app: hamster spec: securityContext: runAsNonRoot: true runAsUser: 65534 # nobody containers: - name: hamster image: k8s.gcr.io/ubuntu-slim:0.1 resources: requests: cpu: 100m memory: 50Mi command: ["/bin/sh"] args: - "-c" - "while true; do timeout 0.5s yes >/dev/null; sleep 0.5s; done"
Pokud
memory
není zadán,controlledResources
doporučovací nástroj nereaguje na události OOM. V tomto případě nastavujete pouze procesor vcontrolledValues
.controlledValues
umožňuje zvolit, jestli se mají žádosti o prostředky kontejneru aktualizovat podleRequestsOnly
možnosti, nebo jak požadavky na prostředky, tak omezení.RequestsAndLimits
Výchozí hodnota jeRequestsAndLimits
. Pokud tuto možnost použijeteRequestsAndLimits
, požadavky se počítají na základě skutečného využití a limity se počítají na základě požadavku a limitu aktuálního podu.Pokud například začínáte s podem, který požaduje 2 procesory a omezení na 4 procesory, VPA vždy nastaví limit na dvojnásobek požadavků. Stejný princip platí pro paměť. Když použijete
RequestsAndLimits
režim, může sloužit jako podrobný plán pro počáteční požadavky a limity prostředků aplikace.
Objekt VPA můžete zjednodušit pomocí automatického režimu a doporučení pro výpočetní prostředí pro procesor i paměť.
hamster_extra-recomender.yaml
Nasaďte příklad pomocí příkazu kubectl apply a zadejte název manifestu YAML.kubectl apply -f hamster_customized_recommender.yaml
Počkejte, než vpa-updater spustí nový pod hamster, což by mělo trvat několik minut. Pody můžete monitorovat pomocí příkazu kubectl get .
kubectl get --watch pods -l app=hamster
Po spuštění nového podu hamster popište pod, na kterém běží příkaz kubectl, a zobrazte aktualizované rezervace procesoru a paměti.
kubectl describe pod hamster-<exampleID>
Ukázkový výstup je fragment informací popisující pod:
State: Running Started: Wed, 28 Sep 2022 15:09:51 -0400 Ready: True Restart Count: 0 Requests: cpu: 587m memory: 262144k Environment: <none>
Pokud chcete zobrazit aktualizovaná doporučení z VPA, spusťte příkaz kubectl describe , který popisuje informace o prostředcích hamster-vpa.
kubectl describe vpa/hamster-vpa
Ukázkový výstup je fragment informací o využití prostředků:
State: Running Started: Wed, 28 Sep 2022 15:09:51 -0400 Ready: True Restart Count: 0 Requests: cpu: 587m memory: 262144k Environment: <none> Spec: recommenders: Name: customized-recommender
Řešení problému
Pokud chcete diagnostikovat problémy s instalací VPA, proveďte následující kroky.
Pomocí následujícího příkazu zkontrolujte, jestli jsou spuštěné všechny systémové komponenty:
kubectl --namespace=kube-system get pods|grep vpa
Výstup by měl obsahovat tři pody – doporučovač, aktualizátor a kontroler přístupu se stavem Running
.
Ověřte, jestli systémové komponenty protokolovat nějaké chyby. Pro každý z podů vrácených předchozím příkazem spusťte následující příkaz:
kubectl --namespace=kube-system logs [pod name] | grep -e '^E[0-9]\{4\}'
Spuštěním následujícího příkazu ověřte, že byla vytvořena definice vlastního prostředku:
kubectl get customresourcedefinition | grep verticalpodautoscalers
Další kroky
Tento článek vám ukázal, jak automaticky škálovat využití prostředků, jako je procesor a paměť, uzlů clusteru tak, aby odpovídaly požadavkům aplikace.
Horizontální automatické škálování podů můžete také použít k automatické úpravě počtu podů, které spouští vaši aplikaci. Postup použití horizontálního automatického škálování podů najdete v tématu Škálování aplikací v AKS.
Další informace o definicích souvisejících objektů VPA najdete v tématu Vertikální automatické škálování podů [reference k rozhraní API].