Referenz zur API für die vertikale automatische Podskalierung
Artikel
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.
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.
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.
Zusammenarbeit auf GitHub
Die Quelle für diesen Inhalt finden Sie auf GitHub, wo Sie auch Issues und Pull Requests erstellen und überprüfen können. Weitere Informationen finden Sie in unserem Leitfaden für Mitwirkende.