共用方式為


垂直 Pod 自動調整程式 API 參考

本文將介紹 Azure Kubernetes Service (AKS) 中垂直 Pod 自動調整程式功能的 API 參考。

此參考以 VPA 的 AKS 實作版本 0.13.0 為基礎。

VerticalPodAutoscaler

名稱 Object 描述
中繼資料 ObjectMeta 標準物件中繼資料
spec VerticalPodAutoscalerSpec 垂直 Pod 自動調整程式所需的行為。
status VerticalPodAutoscalerStatus 最近觀察到的垂直 Pod 自動調整程式狀態。

VerticalPodAutoscalerSpec

名稱 Object 描述
targetRef CrossVersionObjectReference 管理 Pod 集合,以利自動調整程式進行控制之控制器的參考, 例如部署或 StatefulSet。 垂直 Pod 自動調整程式可以指向任何具有 Scale 子資源的控制器。 一般來說,垂直 Pod 自動調整程式會從控制器的 ScaleStatus 擷取 Pod 集合。
updatePolicy PodUpdatePolicy 指定啟動 Pod 時,以及在 Pod 生命週期中,是否應套用建議的更新。
resourcePolicy PodResourcePolicy 指定如何為個別容器調整 CPU 和記憶體要求的原則。 資源原則可針對個別容器的建議設定條件約束。 如果未指定,自動調整程式將為 Pod 中所有容器計算建議資源,而不附加額外條件約束。
recommenders VerticalPodAutoscalerRecommenderSelector 建議程式負責產生 VPA 物件的建議。 請保留空白以使用預設建議程式。 否則,清單只能包含一個使用者提供的替代建議程式項目。

VerticalPodAutoscalerList

名稱 Object 描述
中繼資料 ObjectMeta 標準物件中繼資料
項目 VerticalPodAutoscaler (陣列) 垂直 Pod 自動調整器物件清單。

PodUpdatePolicy

名稱 Object 描述
updateMode string 一段字串,用於指定啟動 Pod 時,以及在 Pod 生命週期中,是否應套用建議的更新。 可能的值為 OffInitialRecreateAuto。 如果未指定值,則預設值為 Auto
minReplicas int32 一個值,用以表示更新程式嘗試收回 Pod 時 (即等待 Pod 中斷運算等其他檢查時),必須保持運作的最小複本數目。 此值必須為正值, 預設值則是設定為 2 的全域 --min-replicas 旗標。

PodResourcePolicy

名稱 Object 描述
conainerPolicies ContainerResourcePolicy 個別容器的資源原則陣列。 每個具名容器最多可以包含一個項目,並選擇性包含一個具有 containerName = '*' 的萬用字元項目,以處理所有沒有個別原則的容器。

ContainerResourcePolicy

名稱 Object 描述
containerName string 一段字串,用於指定套用原則之容器的名稱。 如果未指定,則會使用預設原則。
mode ContainerScalingMode 指定容器啟動時,以及在容器生命週期中,是否應將建議的更新套用至容器。 可能的值是 OffAuto。 如果未指定值,則預設值為 Auto
minAllowed ResourceList 指定容器允許的最小 CPU 要求和記憶體要求。 預設情況下不會套用最小值。
maxAllowed ResourceList 指定容器允許的最大 CPU 要求和記憶體要求。 預設情況下不會套用最大值。
ControlledResources []ResourceName 指定垂直 Pod 自動調整程式計算 (且可能套用) 的建議類型。 如果保留空白,則會使用 [ResourceCPU, ResourceMemory] 為預設值。

VerticalPodAutoscalerRecommenderSelector

名稱 Object 描述
NAME 字串 一段字串,用以指定負責為此物件產生建議之建議程式的名稱。

VerticalPodAutoscalerStatus

名稱 Object 描述
建議 RecommendedPodResources 最近建議的 CPU 和記憶體要求。
條件 VerticalPodAutoscalerCondition 描述垂直 Pod 自動調整程式目前狀態的陣列。

RecommendedPodResources

名稱 Object 描述
containerRecommendation RecommendedContainerResources 個別容器的資源建議陣列。

RecommendedContainerResources

名稱 Object 描述
containerName string 一段字串,用於指定套用建議之容器的名稱。
目標 ResourceList 容器的建議 CPU 要求和記憶體要求。
lowerBound ResourceList 容器的建議 CPU 要求和記憶體要求下限, 但無法保證此數量足以令應用程式保持穩定。 若以較小的 CPU 與記憶體要求執行,可能會明顯影響效能與可用性。
upperBound ResourceList 容器的建議 CPU 要求和記憶體要求上限。 高於此值的 CPU 與記憶體要求可能會遭浪費。
uncappedTarget ResourceList 不考慮容器資源原則的情況下,根據實際資源使用狀況,自動調整程式所計算得出的最新資源建議。 如果實際資源使用狀況中,目標違反了容器資源原則,此建議可能會與限定建議有所出入。 此欄位不會影響實際資源指派, 而僅用作狀態指示。

VerticalPodAutoscalerCondition

名稱 Object 描述
type VerticalPodAutoscalerConditionType 所描述的條件類型。 可能的值為 RecommendationProvidedLowConfidenceNoPodsMatchedFetchingHistory
status ConditionStatus 條件的狀態。 可能的值是 TrueFalseUnknown
lastTransitionTime Time 最近一次條件從一種狀態轉換到另一種狀態的時間。
reason string 最近一次從一種狀態轉換到另一種狀態的原因。
message string 一般人可理解的字串,用以詳細說明最近一次從一種狀態轉換到另一種狀態的情況。

下一步

若要了解如何改善叢集資源使用率,並釋放其他 Pod 的 CPU 和記憶體,請參閱垂直 Pod 自動調整程式