Freigeben über


Referenz zur API für die vertikale automatische Podskalierung

Dieser Artikel enthält die API-Referenz zum Feature für die vertikale automatische Podskalierung (Vertical Pod Autoscaler, VPA) von Azure Kubernetes Service.

Diese Referenz basiert auf Version 0.13.0 der AKS-Implementierung von VPA.

VerticalPodAutoscaler

Name Object Beschreibung
metadata ObjectMeta Standardmäßige Objektmetadaten
spec VerticalPodAutoscalerSpec Das gewünschte Verhalten der vertikalen automatischen Podskalierung
status VerticalPodAutoscalerStatus Der zuletzt beobachtete Status der vertikalen automatischen Podskalierung

VerticalPodAutoscalerSpec

Name Object Beschreibung
targetRef CrossVersionObjectReference Verweis auf den Controller, der die Gruppe von Pods verwaltet, die von der automatischen Skalierung gesteuert werden sollen, z. B. eine Bereitstellung oder ein StatefulSet. Sie können eine vertikale automatische Podskalierung auf jeden Controller verweisen, der über eine Unterressource Skalierung verfügt. In der Regel ruft die vertikale automatische Podskalierung die Gruppe von Pods aus dem Skalierungsstatus (ScaleStatus) des Controllers ab.
updatePolicy PodUpdatePolicy Gibt an, ob empfohlene Updates beim Start eines Pods und während der Lebensdauer eines Pods angewendet werden.
resourcePolicy PodResourcePolicy Gibt Richtlinien an, die bestimmen, wie CPU- und Arbeitsspeicheranforderungen für einzelne Container angepasst werden. Die Ressourcenrichtlinie kann verwendet werden, um Einschränkungen für die Empfehlungen für einzelne Container festzulegen. Falls nicht angegeben, berechnet die Autoskalierung empfohlene Ressourcen für alle Container im Pod ohne zusätzliche Einschränkungen.
recommenders VerticalPodAutoscalerRecommenderSelector Der Recommender ist für das Generieren einer Empfehlung für das VPA-Objekt verantwortlich. Lassen Sie dies leer, um den Standardrecommender zu verwenden. Andernfalls kann die Liste genau einen Eintrag für einen benutzerseitig bereitgestellten alternativen Recommender enthalten.

VerticalPodAutoscalerList

Name Object Beschreibung
metadata ObjectMeta Standardmäßige Objektmetadaten
Elemente VerticalPodAutoscaler (Array) Eine Liste von VPA-Objekten.

PodUpdatePolicy

Name Object Beschreibung
updateMode Zeichenfolge Eine Zeichenfolge, die angibt, ob empfohlene Updates beim Start eines Pods und während der Lebensdauer eines Pods angewendet werden. Mögliche Werte sind Off, Initial, Recreate und Auto. Wenn Sie keinen Wert angeben, lautet der Standardwert Auto.
minReplicas int32 Ein Wert, der die minimale Anzahl von Replikaten darstellt, die aktiv sein müssen, damit der Updater versucht, die Podentfernung auszuführen (ausstehende andere Überprüfungen wie „Budget für die Unterbrechung von Pods“). Nur positive Werte sind zulässig. Standardmäßig wird das globale --min-replicas-Flag verwendet, das auf 2 festgelegt ist.

PodResourcePolicy

Name Object Beschreibung
conainerPolicies ContainerResourcePolicy Ein Array von Ressourcenrichtlinien für einzelne Container. Es kann höchstens ein Eintrag für jeden benannten Container und optional ein einzelner Platzhaltereintrag mit containerName = '*' für alle Container ohne individuelle Richtlinien vorhanden sein.

ContainerResourcePolicy

Name Object Beschreibung
containerName Zeichenfolge Eine Zeichenfolge, die den Namen des Containers angibt, für den die Richtlinie gilt. Falls nicht angegeben, dient die Richtlinie als Standardrichtlinie.
Modus ContainerScalingMode Gibt an, ob beim Start des Containers und während seiner Lebensdauer empfohlene Updates auf den Container angewendet werden. Mögliche Werte sind Off und Auto. Wenn Sie keinen Wert angeben, lautet der Standardwert Auto.
minAllowed ResourceList Gibt die minimale CPU- und Arbeitsspeicheranforderung an, die für den Container zulässig ist. Standardmäßig wird kein Mindestwert angewendet.
maxAllowed ResourceList Gibt die maximale CPU- und Arbeitsspeicheranforderung an, die für den Container zulässig ist. Standardmäßig wird kein Höchstwert angewendet.
ControlledResources []ResourceName Gibt den Typ der Empfehlungen an, die von der vertikalen automatischen Podskalierung berechnet (und möglicherweise angewendet) werden. Wenn das Objekt leer ist, wird der Standardwert [ResourceCPU, ResourceMemory] verwendet.

VerticalPodAutoscalerRecommenderSelector

Name Object Beschreibung
name Zeichenfolge Eine Zeichenfolge, die den Namen des Recommenders angibt, der für die Generierung der Empfehlung für dieses Objekt verantwortlich ist.

VerticalPodAutoscalerStatus

Name Object Beschreibung
Empfehlung RecommendedPodResources Die zuletzt empfohlenen CPU- und Arbeitsspeicheranforderungen.
conditions VerticalPodAutoscalerCondition Ein Array, das den aktuellen Zustand der vertikalen automatischen Podskalierung beschreibt.

RecommendedPodResources

Name Object Beschreibung
containerRecommendation RecommendedContainerResources Ein Array von Ressourcenempfehlungen für einzelne Container.

RecommendedContainerResources

Name Object Beschreibung
containerName Zeichenfolge Eine Zeichenfolge, die den Namen des Containers angibt, für den die Empfehlung gilt.
target ResourceList Die empfohlene CPU- und Arbeitsspeicheranforderung für den Container.
lowerBound ResourceList Der empfohlene Mindestwert der CPU- und Arbeitsspeicheranforderung für den Container. Es ist nicht garantiert, dass dieser Wert für eine stabile Ausführung der Anwendung ausreichend ist. Die Ausführung mit kleineren CPU- und Arbeitsspeicheranforderungswerten hat wahrscheinlich erhebliche Auswirkungen auf die Leistung oder Verfügbarkeit.
upperBound ResourceList Der empfohlene Höchstwert der CPU- und Arbeitsspeicheranforderung für den Container. CPU- und Arbeitsspeicheranforderungen, die höher als diese Werte sind, sind wahrscheinlich unnötig.
uncappedTarget ResourceList Die neueste Ressourcenempfehlung, die von der Autoskalierung basierend auf der tatsächlichen Ressourcennutzung ohne Berücksichtigung der Containerressourcenrichtlinie berechnet wird. Wenn die tatsächliche Ressourcennutzung dazu führt, dass der Zielwert gegen die Containerressourcenrichtlinie verstößt, unterscheidet sich dieser Wert möglicherweise von der begrenzten Empfehlung. Dieses Feld wirkt sich nicht auf die tatsächliche Ressourcenzuweisung aus. Es dient nur als Statusanzeige.

VerticalPodAutoscalerCondition

Name Object Beschreibung
Typ VerticalPodAutoscalerConditionType Der Typ der beschriebenen Bedingung. Mögliche Werte sind RecommendationProvided, LowConfidence, NoPodsMatched und FetchingHistory.
status ConditionStatus Der Status der Bedingung. Mögliche Werte sind True, False und Unknown.
lastTransitionTime Time Der letzte Übergang der Bedingung von einem Status in einem anderen.
reason Zeichenfolge Der Grund für den letzten Übergang von einem Status in einen anderen.
message Zeichenfolge Eine für Menschen lesbare Zeichenfolge, die Details zum letzten Übergang von einem Status in einen anderen enthält.

Nächste Schritte

Informationen zum Verbessern der Clusterressourcenauslastung und zum Freigeben von CPU und Arbeitsspeicher für andere Pods finden Sie unter Automatische vertikale Podskalierung.