你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
垂直 Pod 自动缩放程序 API 参考
本文提供 Azure Kubernetes 服务的垂直 Pod 自动缩放程序功能的 API 参考。
此参考基于 VPA 的 AKS 实现版本 0.13.0。
VerticalPodAutoscaler
名称 |
Object |
说明 |
metadata |
ObjectMeta |
标准对象元数据。 |
spec |
VerticalPodAutoscalerSpec |
垂直 Pod 自动缩放程序的所需行为。 |
status |
VerticalPodAutoscalerStatus |
垂直 Pod 自动缩放程序最近观察到的状态。 |
VerticalPodAutoscalerSpec
名称 |
Object |
说明 |
targetRef |
CrossVersionObjectReference |
对管理 Pod 集以便自动缩放程序进行控制的控制器的引用。 例如,Deployment 或 StatefulSet。 可以将垂直 Pod 自动缩放程序指向具有 Scale 子资源的任意控制器。 通常,垂直 Pod 自动缩放程序从控制器的 ScaleStatus 检索 Pod 集。 |
updatePolicy |
PodUpdatePolicy |
指定在启动 Pod 时是否应用建议的更新,以及是否在 Pod 的生命周期内应用建议的更新。 |
resourcePolicy |
PodResourcePolicy |
指定如何针对单个容器调整 CPU 和内存请求的策略。 资源策略可用于对单个容器的建议设置约束。 如果未指定,则自动缩放程序将计算 Pod 中所有容器的建议资源,但无附加约束。 |
建议器 |
VerticalPodAutoscalerRecommenderSelector |
建议器负责为 VPA 对象生成建议。 保留为空则使用默认建议器。 否则,该列表只能包含用户提供的替代建议器一个条目。 |
VerticalPodAutoscalerList
名称 |
Object |
说明 |
metadata |
ObjectMeta |
标准对象元数据。 |
items |
VerticalPodAutoscaler(数组) |
垂直 Pod 自动缩放程序对象的列表。 |
PodUpdatePolicy
名称 |
Object |
说明 |
updateMode |
string |
一个字符串,指定在启动 Pod 时是否应用建议的更新,以及是否在 Pod 的生命周期内应用建议的更新。 可能值为 Off 、Initial 、Recreate 和 Auto 。 如果未指定值,则默认值为 Auto 。 |
minReplicas |
int32 |
一个值,表示更新程序尝试将 Pod 逐出时(等待其他检查,如 Pod 中断预算)需要处于活动状态的最小副本数。 只允许正数值。 默认为全局 --min-replicas 标志,该标志设置为 2 。 |
PodResourcePolicy
名称 |
Object |
说明 |
conainerPolicies |
ContainerResourcePolicy |
单个容器的资源策略数组。 每个命名容器最多可以有一个条目和一个包含 containerName = '*' 的通配符条目(可选),以用于处理没有单独策略的所有容器。 |
ContainerResourcePolicy
名称 |
Object |
说明 |
containerName |
string |
一个字符串,指定策略应用于的容器的名称。 如果未指定,该策略将充当默认策略。 |
mode |
ContainerScalingMode |
指定在容器启动时是否将建议的更新应用于该容器,以及是否在容器的生命周期内应用建议的更新。 可能值为 Off 和 Auto 。 如果未指定值,则默认值为 Auto 。 |
minAllowed |
ResourceList |
指定容器允许的最小 CPU 请求和内存请求。 默认情况下,没有应用最小值。 |
maxAllowed |
ResourceList |
指定容器允许的最大 CPU 请求和内存请求。 默认情况下,没有应用最大值。 |
ControlledResources |
[]ResourceName |
指定垂直 Pod 自动缩放程序计算(并且可能应用的)建议类型。 如果为空,则使用 [ResourceCPU, ResourceMemory] 的默认值。 |
VerticalPodAutoscalerRecommenderSelector
名称 |
Object |
说明 |
name |
string |
一个字符串,指定负责为此对象生成建议的建议器的名称。 |
VerticalPodAutoscalerStatus
名称 |
Object |
说明 |
建议 |
RecommendedPodResources |
最近建议的 CPU 和内存请求。 |
conditions |
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 |
要描述的条件的类型。 可能值为 RecommendationProvided 、LowConfidence 、NoPodsMatched 和 FetchingHistory 。 |
status |
ConditionStatus |
条件的状态。 可能的值为 True 、False 和 Unknown 。 |
lastTransitionTime |
时间 |
条件上次从一种状态转换到另一种状态的时间。 |
reason |
string |
上次从一种状态转换到另一种状态的原因。 |
message |
string |
一个用户可理解的字符串,提供有关上次从一种状态转换到另一种状态的详细信息。 |
后续步骤
请参阅垂直 Pod 自动缩放程序,了解如何提高群集资源利用率并为其他 Pod 释放 CPU 和内存。