FederatedHPA v1alpha1
apiVersion: autoscaling.karmada.io/v1alpha1
import "github.com/karmada-io/karmada/pkg/apis/autoscaling/v1alpha1"
FederatedHPA
FederatedHPA 是一个可以聚合多个集群指标的 HPA。当系统负载增加时,它会从多个集群查询指标,并增加副本。当系统负载减少时,它会从多个集群查询指标,并减少副本。副本增加或减少后,karmada-scheduler 将根据策略调度副本。
-
apiVersion: autoscaling.karmada.io/v1alpha1
-
kind: FederatedHPA
-
metadata (ObjectMeta)
-
spec (FederatedHPASpec),必选
Spec表示 FederatedHPA 的规范。
-
status (HorizontalPodAutoscalerStatus)
Status 是 FederatedHPA 当前的状态。
HorizontalPodAutoscalerStatus 描述 pod 水平伸缩器当前的状态。
-
status.desiredReplicas (int32),必选
desiredReplicas 是自动伸缩器自上次计算起,其所管理的pod所需的副本数量。
-
status.conditions ([]HorizontalPodAutoscalerCondition)
补丁策略:根据键
type进行合并。Map:在合并过程中将保留键类型的唯一值。
conditions 是自动伸缩器伸缩其目标所需的状况,并表明是否满足这些状况。
HorizontalPodAutoscalerCondition 描述 HorizontalPodAutoscaler 在特定时刻的状态。
-
status.conditions.status (string),必选
status 表示状况的状态(True、False 和 Unknown)。
-
status.conditions.type (string),必选
type 描述当前的状况。
-
status.conditions.lastTransitionTime (Time)
lastTransitionTime 是状况最后一次从一种状态转换到另一种状态的时间。
Time 是 time.Time 的包装器,它支持对 YAML 和 JSON 的正确编组。time 包的许多工厂方法提供了包装器。
-
status.conditions.message (string)
message 解释了有关状态转换的细节(人类可读消息)。
-
status.conditions.reason (string)
reason 是状况(Condition)最后一次转换的原因。
-
-
status.currentMetrics ([]MetricStatus)
Atomic:将在合并过程中被替换掉。
currentMetrics 是自动伸缩器所用指标最后读取的状态。
MetricStatus 描述单个指标最后读取的状态。
-
status.currentMetrics.type (string),必选
type 表示指标源的类别。指标源可能是 ContainerResource、External、Object、Pods 或 Resource,均对应对象中的一个匹配字段。注意:ContainerResource 只有在特性开关 HPAContainerMetrics 启用时可用。
-
status.currentMetrics.containerResource (ContainerResourceMetricStatus)
容器资源是 Kubernetes 已知的资源指标(如 request 与 limit),用于描述当前伸缩目标(如 CPU 或内存)中每个 pod 中单个容器的资源使用情况。这类指标是 Kubernetes 内置指标,除了使用 Pods 源的 pod 粒度的正常指标以外,还有一些特殊的伸缩选项。
ContainerResourceMetricStatus 表示 Kubernetes 已知的资源指标的当前值,如 request 与 limit,描述当前伸缩目标(如 CPU 或内存)中每个 Pod 中的单个容器的资源使用情况。这类指标是 Kubernetes 内置指标,除了使用 Pods 源的 pod 粒度的正常指标以外,还有一些特殊的伸缩选项。
-
status.currentMetrics.containerResource.container (string),必选
container 是伸缩目标的 pod 中容器的名称。
-
status.currentMetrics.containerResource.current (MetricValueStatus),必选
current 是给定指标的当前值。
MetricValueStatus 表示指标的当前值。
-
status.currentMetrics.containerResource.current.averageUtilization (int32)
currentAverageUtilization 是所有相关 pod 中资源指标当前的平均值,表示为 pod 请求的资源值的百分比。
-
status.currentMetrics.containerResource.current.averageValue (Quantity)
averageValue 是所有相关 pod 中资源指标当前的平均值(数量)。
-
status.currentMetrics.containerResource.current.value (Quantity)
value 是指标的当前值(数量)。
-
-
status.currentMetrics.containerResource.name (string),必选
name 是伸缩资源的名称。
-
-
status.currentMetrics.external (ExternalMetricStatus)
external 是指不与任何 Kubernetes 对象关联的全局指标。它允许根据集群外运行的组件的信息(例如,云消息传递服务中的队列长度,或集群外运行的负载平衡器的 QPS)进行自动伸缩。
ExternalMetricStatus 表示与任何 Kubernetes 对象无关的全局指标的当前值。
-
status.currentMetrics.external.current (MetricValueStatus),必选
current 是给定指标的当前值。
MetricValueStatus 表示指标的当前值。
-
status.currentMetrics.external.current.averageUtilization (int32)
currentAverageUtilization 是所有相关 pod 中资源指标当前的平均值,表示为 pod 请求的资源值的百分比。
-
status.currentMetrics.external.current.averageValue (Quantity)
averageValue 是所有相关 pod 中资源指标当前的平均值。
-
status.currentMetrics.external.current.value (Quantity)
value 是指标的当前值(数量)。
-
-
status.currentMetrics.external.metric (MetricIdentifier),必选
metric 通过名称和选择器标识目标指标。
MetricIdentifier 定义指标的名称和可选的选择器。
-
status.currentMetrics.external.metric.name (string),必选
name 是给定指标的名称。
-
status.currentMetrics.external.metric.selector (LabelSelector)
selector 是给定指标的标准 Kubernetes 标签选择器的字符串编码形式。如果设置,将作为附加参数传递给指标服务器,以实现更具体的指标范围。如果未设置,只使用 metricName 收集指标。
-
-
-
status.currentMetrics.object (ObjectMetricStatus)
object 是描述单个 Kubernetes 对象的指标(例如,Ingress 对象每秒的点击量)。
ObjectMetricStatus 是 Kubernetes 对象指标(例如,Ingress对象每秒的点击量)的当前值。
-
status.currentMetrics.object.current (MetricValueStatus),必选
current 是给定指标的当前值 。
MetricValueStatus 表示指标的当前值。
-
status.currentMetrics.object.current.averageUtilization (int32)
currentAverageUtilization 是所有相关 pod 中资源指标当前的平均值,表示为 pod 请求的资源值的百分比。
-
status.currentMetrics.object.current.averageValue (Quantity)
averageValue 是所有相关 pod 中资源指标当前的平均值。
-
status.currentMetrics.object.current.value (Quantity)
value 是指标的当前值(数量)。
-
-
status.currentMetrics.object.describedObject (CrossVersionObjectReference),必选
DescribedObject 是对象的描述,如类别、名称和 apiVersion。
CrossVersionObjectReference 包含可以识别被引用资源的足够信息。
-
status.currentMetrics.object.describedObject.kind (string),必选
kind 表示引用资源的类别。更多信息,请浏览 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
status.currentMetrics.object.describedObject.name (string),必选
name 表示引用资源的名称。更多信息,请浏览 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-
status.currentMetrics.object.describedObject.apiVersion (string)
apiVersion 是引用资源的API版本。
-
-
status.currentMetrics.object.metric (MetricIdentifier),必选
metric 通过名称和选择器标识目标指标。
MetricIdentifier 定义指标的名称和可选的选择器。
-
status.currentMetrics.object.metric.name (string),必选
name 是给定指标的名称。
-
status.currentMetrics.object.metric.selector (LabelSelector)
selector 是给定指标的标准 Kubernetes 标签选择器的字符串编码形式。如果设置,将作为附加参数传递给指标服务器,以实现更具体的指标范围。如果未设置,只使用 metricName 收集指标。
-
-
-
status.currentMetrics.pods (PodsMetricStatus)
pods 是指描述当前伸缩目标中每个 pod 的指标(例如,每秒处理的事务)。在与目标值进行比较之前,会将所有指标值进行平均。
PodsMetricStatus 表示描述当前规模目标(例如,每秒处理的事务)中每个 pod 的指标的当前值(例如,每秒处理的事务)。
-
status.currentMetrics.pods.current (MetricValueStatus),必选
current 是给定指标的当前值。
MetricValueStatus 表示指标的当前值。
-
status.currentMetrics.pods.metric (MetricIdentifier),必选
metric 通过名称和选择器标识目标指标。
MetricIdentifier 定义指标的名称和可选的选择器。
-
status.currentMetrics.pods.metric.name (string),必选
name 是给定指标的名称。
-
status.currentMetrics.pods.metric.selector (LabelSelector)
selector 是给定指标的标准 Kubernetes 标签选择器的字符串编码形式。如果设置,将作为附加参数传递给指标服务器,以实现更具体的指标范围。如果未设置,只使用 metricName 收集指标。
-
-
-
status.currentMetrics.resource (ResourceMetricStatus)
resource 表示 Kubernetes 已知的资源指标(如 request 与 limit),用于描述当前伸缩目标(如 CPU 或内存)中每个 pod 的资源使用情况。这类指标是 Kubernetes 内置指标,除了使用 Pods 源的 pod 粒度的正常指标以外,还有一些特殊的伸缩选项。
ResourceMetricStatus 表示 Kubernetes 已知的资源指标的当前值,如 request 与 limit,描述当前伸缩目标(如 CPU 或内存)中 每个 pod 的资源使用情况。这类指标是 Kubernetes 内置指标,除了使用 Pods 源的 pod 粒度的正常指标以外,还有一些特殊的伸缩选项。
-
status.currentMetrics.resource.current (MetricValueStatus),必选
current 是给定指标的当前值。
MetricValueStatus 表示指标的当前值。
-
status.currentMetrics.resource.current.averageUtilization (int32)
currentAverageUtilization 是所有相关 pod 中资源指标当前的平均值,表示为 pod 请求的资源值的百分比。
-
status.currentMetrics.resource.current.averageValue (Quantity)
averageValue 是所有相关 pod 中资源指标当前的平均值。
-
status.currentMetrics.resource.current.value (Quantity)
value 是指标的当前值(数量)。
-
-
status.currentMetrics.resource.name (string),必选
name 是伸缩资源的名称。
-
-
-
status.currentReplicas (int32)
currentReplicas 是指从自动伸缩器上次计算后,其所管理的 pod 当前的副本数。
-
status.lastScaleTime (Time)
lastScaleTime 是 HorizontalPodAutoscaler 最后一次伸缩 pod 的时间,自动伸缩器用此控制 pod 数量更改的频率。
Time 是 time.Time 的包装器,它支持对 YAML 和 JSON 的正确编组。time 包的许多工厂方法提供了包装器。
-
status.observedGeneration (int64)
observedGeneration 是 此自动伸缩器观察到的最新一代。
-
FederatedHPASpec
FederatedHPASpec 描述了 FederatedHPA 的所需功能。
-
maxReplicas (int32),必选
MaxReplicas 是自动伸缩器可增加的副本量的上限。它不能小于 minReplicas。
-
scaleTargetRef (CrossVersionObjectReference),必选
ScaleTargetRef 指向要伸缩的目标资源,用于收集 pod的指标,以及实际更改副本的数量。
CrossVersionObjectReference 包含可以识别被引用资源的足够信息。
-
scaleTargetRef.kind (string),必选
kind 表示引用资源的类别。更多信息,请浏览 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
scaleTargetRef.name (string),必选
name 表示引用资源的名称。更多信息,请浏览 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-
scaleTargetRef.apiVersion (string)
apiVersion 是引用资源的API版本。
-
-
behavior (HorizontalPodAutoscalerBehavior)
Behavior 表示目标的伸缩行为(scaleUp 或 scaleDown)。如果未设置,则使用默认的 HPAScalingRules 完成伸缩。
HorizontalPodAutoscalerBehavior 表示目标的伸缩行为(scaleUp 或 scaleDown)。
-
behavior.scaleDown (HPAScalingRules)
scaleDown 是用于缩容的伸缩策略。如果未设置,默认允许伸缩至 minReplicas,稳定窗口为 300 秒(建议为 300 秒)。
HPAScalingRules 表示一个方向伸缩行为。在根据 HPA 的指标计算 DesiredReplicas 后应用这些规则。可以通过指定伸缩策略来限制伸缩速度,也可以通过指定稳定窗口来防止抖动,这样就不会立即设置副本的数量,而是选择稳定窗口中最安全的值。
-
behavior.scaleDown.policies ([]HPAScalingPolicy)
Atomic:将在合并过程中被替换掉。
policies 罗列伸缩过程中可用的伸缩策略。必须至少指定一条策略,否则 HPAScalingRules 将被视为无效而丢弃。
HPAScalingPolicy 表示单条策略,在指定的过去间隔内取值必须为 true。
-
behavior.scaleDown.policies.periodSeconds (int32),必选
periodSeconds 表示策略取值为 true 的时间窗口。periodSeconds 必须大于 0,且小于或等于 1800 秒(30 分钟)。
-
behavior.scaleDown.policies.type (string),必选
type 用于指定伸缩策略。
-
behavior.scaleDown.policies.value (int32),必选
value 包含策略允许的变化数量。取值必须大于 0。
-
-
behavior.scaleDown.selectPolicy (string)
selectPolicy 用于指定应使用的策略。如果未设置,则使用默认值 Max。
-
behavior.scaleDown.stabilizationWindowSeconds (int32)
stabilizationWindowSeconds 是指伸缩时应考虑之前建议的秒数。取值必须大于等于 0 且小于等于 3600 秒(即一个小时)。如果未设置,请使用默认值:- 扩容:0(不设置稳定窗口)。- 缩容:300(即稳定窗口为 300 秒)。
-
-
behavior.scaleUp (HPAScalingRules)
scaleUp 是用于扩容的伸缩策略。如果未设置,默认值为以下中较高的值: *每 60 秒增加不超过 4 个pod *每 60 秒 pod 数量翻倍 不使用稳定窗口。
HPAScalingRules 表示一个方向的伸缩行为。在根据 HPA 的指标计算 DesiredReplicas 后应用这些规则。可以通过指定伸缩策略来限制伸缩速度,也可以通过指定稳定窗口来防止抖动,这样就不会立即设置副本的数量,而是选择稳定窗口中最安全的值。
-
behavior.scaleUp.policies ([]HPAScalingPolicy)
Atomic:将在合并过程中被替换掉。
policies 罗列伸缩过程中可用的伸缩策略。必须至少指定一条策略,否则 HPAScalingRules 将被视为无效而丢弃。
HPAScalingPolicy 表示单条策略,在指定的过去间隔内取值必须为 true。
-
behavior.scaleUp.policies.periodSeconds (int32),必选
periodSeconds 表示策略取值为 true 的时间窗口。periodSeconds 必须大于 0,且小于或等于 1800 秒(即30 分钟)。
-
behavior.scaleUp.policies.type (string),必选
type 用于指定伸缩策略。
-
behavior.scaleUp.policies.value (int32),必选
value 包含策略允许的伸缩数量。取值必须大于 0。
-
-
behavior.scaleUp.selectPolicy (string)
selectPolicy 用于指定应使用的策略。如果未设置,则使用默认值 Max。
-
behavior.scaleUp.stabilizationWindowSeconds (int32)
stabilizationWindowSeconds 是指伸缩时应考虑之前建议的秒数。取值必须大于等于 0 且小于等于 3600 秒(即一个小时)。如果未设置,请使用默认值:- 扩容:0(不设置稳定窗口)。- 缩容:300(即稳定窗口为 300 秒)。
-
-
-
metrics ([]MetricSpec)
Metrics 包含用于计算所需副本数的规范(将使用所有指标中的最大副本数)。所需的副本数是目标值和当前值之间的比率与当前 pod 数的乘积。因此,指标必须随 pod 数的增加而减少,反之亦然。有关每种类型的指标源详细信息,参见各个指标源类型。如果未设置,默认指标为平均 CPU 利用率的 80%。
MetricSpec 是如何基于单个指标进行伸缩的规范(每次只应设置
type和一个其他匹配字段)。-
metrics.type (string),必选
type 表示指标源的类别。指标源类别可以是 ContainerResource、External、Object、Pods 或 Resource,每个类别映射对象中的一个对应字段。注意:ContainerResource 只有在特性开关 HPAContainerMetrics 启用时可用。
-
metrics.containerResource (ContainerResourceMetricSource)
containerResource 表示 Kubernetes 已知的资源指标(如 request 与 limit),用于描述当前伸缩目标(如 CPU 或内存)中每个 pod 中单个容器的资源使用情况。这类指标是 Kubernetes 内置指标,除了使用 Pods 源的 pod 粒度的正常指标以外,还有一些特殊的伸缩选项。这是一个 alpha 特性,可以通过 HPAContainerMetrics 特性标志启用。
ContainerResourceMetricSource 表 明在 Kubernetes 已知资源指标(如 request 与 limit)的基础上进行伸缩的方式,该指标描述当前伸缩目标(例如CPU或内存)中每个Pod的资源使用情况。在与目标值进行比较之前,会将所有指标值进行平均。这类指标是 Kubernetes 内置指标,除了使用 Pods 源的 pod 粒度的正常指标以外,还有一些特殊的伸缩选项。只应设置一种 “target” 类别。
-
metrics.containerResource.container (string),必选
container 是伸缩目标的 pod 中容器的名称。
-
metrics.containerResource.name (string),必选
name 是伸缩资源的名称。
-
metrics.containerResource.target (MetricTarget),必选
target 是给定指标的目标值
MetricTarget 定义特定指标的目标值、平均值或平均利用率。
-
metrics.containerResource.target.type (string),必选
type 表示指标类型:利用率(Utilization)、值(Value)和平均值(AverageValue)。
-
metrics.containerResource.target.averageUtilization (int32)
averageUtilization 是所有相关 pod 中资源指标均值的目标值,表示为 pod 资源请求值的百分比。目前仅对 Resource 指标源类别有效。
-
metrics.containerResource.target.averageValue (Quantity)
averageValue 是所有相关 pod 中资源指标均值的目标值 (数量)。
-
metrics.containerResource.target.value (Quantity)
value 是指标的目标值(数量)。
-
-
-
metrics.external (ExternalMetricSource)
external 是指不与任何 Kubernetes 对象关联的全局指标。它允许根据集群外运行的组件的信息(例如,云消息传递服务中的队列长度,或集群外运行的负载平衡器的 QPS)进行自动伸缩。
ExternalMetricSource 表示基于任何与 Kubernetes 对象无关的指标(例如,云消息传递服务中的队列长度,或集群外的负载平衡器的QPS)进行伸缩的方式。
-
metrics.external.metric (MetricIdentifier),必选
metric 通过名称和选择器标识目标指标。
MetricIdentifier 定义指标的名称和可选的选择器。
-
metrics.external.metric.name (string),必选
name 是给定指标的名称。
-
metrics.external.metric.selector (LabelSelector)
selector 是给定指标的标准 Kubernetes 标签选择器的字符串编码形式。如果设置,将作为附加参数传递给指标服务器,以实现更具体的指标范围。如果未设置,只使用 metricName 收集指标。
-
-
metrics.external.target (MetricTarget),必选
target 是给定指标的目标值。
MetricTarget 定义特定指标的目标值、平均值或平均利用率。
-
metrics.external.target.type (string),必选
type 表示指标类型:利用率(Utilization)、值(Value)和平均值(AverageValue)。
-
metrics.external.target.averageUtilization (int32)
averageUtilization 是所有相关 pod 中资源指标均值 的目标值,表示为 pod 资源请求值的百分比。目前仅对 Resource 指标源类别有效。
-
metrics.external.target.averageValue (Quantity)
averageValue 是所有相关 pod 中资源指标均值的目标值 (数量)。
-
metrics.external.target.value (Quantity)
value 是指标的目标值(数量)。
-
-
-
metrics.object (ObjectMetricSource)
object 是描述单个 Kubernetes 对象的指标(例如,Ingress 对象每秒的点击量)。
ObjectMetricSource 是 Kubernetes 对象(例如,Ingress对象每秒的点击量)指标的伸缩方式。
-
metrics.object.describedObject (CrossVersionObjectReference),必选
DescribedObject 是对象的描述,如类别、名称和 apiVersion。
CrossVersionObjectReference 包含可以识别被引用资源的足够信息。
-
metrics.object.describedObject.kind (string),必选
kind 表示被引用资源的类别。更多信息,请浏览 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
metrics.object.describedObject.name (string),必选
name 表示被引用资源的名称。更多信息,请浏览 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-
metrics.object.describedObject.apiVersion (string)
apiVersion 是被引用资源的API版本。
-
-
metrics.object.metric (MetricIdentifier),必选
metric 通过名称和选择器标识目标指标。
MetricIdentifier 定义指标的名称和可选的选择器。
-
metrics.object.metric.name (string),必选
name 是给定指标的名称。
-
metrics.object.metric.selector (LabelSelector)
selector 是给定指标的标准 Kubernetes 标签选择器的字符串编码形式。如果设置,将作为附加参数传递给指标服务器,以实现更具体的指标范围。如果未设置,只使用 metricName 收集指标。
-
-
metrics.object.target (MetricTarget),必选
target 是给定指标的目标值。
MetricTarget 定义特定指标的目标值、平均值或平均利用率。
-
metrics.object.target.type (string),必选
type 表示指标类型:利用率(Utilization)、值(Value)和平均值(AverageValue)。
-
metrics.object.target.averageUtilization (int32)
averageUtilization 是所有相关 pod 中资源指标均值的目标值,表示为 pod 资源请求值的百分比。目前仅对 Resource 指标源类别有效。
-
metrics.object.target.averageValue (Quantity)
averageValue 是所有相关 pod 中资源指标均值的目标值 (数量)。
-
metrics.object.target.value (Quantity)
value 是指标的目标值(数量)。
-
-
-
metrics.pods (PodsMetricSource)
pods 是指描述当前伸缩目标(例如,每秒处理的事务)中每个 pod 的指标。在与目标值进行比较之前,会将所有指标值进行平均。
PodsMetricSource 表示根据指标进行伸缩的方式,该指标描述当前伸缩目标(例如,每秒处理的事务)中每个pod的资源情况。在与目标值进行比较之前,会将所有指标值进行平均。
-
metrics.pods.metric (MetricIdentifier),必选
metric 通过名称和选择器标识目标指标。
MetricIdentifier 定义指标的名称和可选的选择器。
-
metrics.pods.metric.name (string),必选
name 是给定指标的名称。
-
metrics.pods.metric.selector (LabelSelector)
selector 是给定指标的标准 Kubernetes 标签选择器的字符串编码形式。如果设置,将作为附加参数传递给指标服务器,以实现更具体的指标范围。如果未设置,只使用 metricName 收集指标。
-
-
metrics.pods.target (MetricTarget),必选
target 是给定指标的目标值。
MetricTarget 定义特定指标的目标值、平均值或平均利用率。
-
metrics.pods.target.type (string),必选
type 表示指标类型:利用率(Utilization)、值(Value)和平均值(AverageValue)。
-
metrics.pods.target.averageUtilization (int32)
averageUtilization 是所有相关 pod 中资源指标均值的目标值,表示为 pod 资源请求值的百分比。目前仅对 Resource 指标源类别有效。
-
metrics.pods.target.averageValue (Quantity)
averageValue 是所有相关 pod 中资源指标均值的目标值 (数量)。
-
metrics.pods.target.value (Quantity)
value 是指标的目标值(数量)。
-
-
-
metrics.resource (ResourceMetricSource)
resource 表示 Kubernetes 已知的资源指标(如 request 与 limit),用于描述当前伸缩目标(如 CPU 或内存)中每个 pod 的资源使用情况。这类指标是 Kubernetes 内置指标,除了使用 Pods 源的 pod 粒度的正常指标以外,还有一些特殊的伸缩选项。
ResourceMetricSource 表明在 Kubernetes 已知资源指标(如 request 与 limit)的基础上进行伸缩的方式,该指标描述当前伸缩目标(例如 CPU 或内存)中每个Pod的资源使用情况。在与目标值进行比较之前,会将所有指标值进行平均。这类指标是 Kubernetes 内置指标,除了使用 Pods 源的 pod 粒度的正常指标以外,还有一些特殊的伸缩选项。只应设置一种 target 类别。
-
metrics.resource.name (string),必选
name 是伸缩资源的名称。
-
metrics.resource.target (MetricTarget),必选
target 是给定指标的目标值。
MetricTarget 定义特定指标的目标值、平均值或平均利用率。
-
metrics.resource.target.type (string),必选
type 表示指标类型:利用率(Utilization)、值(Value)和平均值(AverageValue)。
-
metrics.resource.target.averageUtilization (int32)
averageUtilization 是所有相关 pod 中资源指标均值的目标值,表示为 pod 资源请求值的百分比。目前仅对 Resource 指标源类别有效。
-
metrics.resource.target.averageValue (Quantity)
averageValue 是所有相关 pod 中资源指标均值的目标值 (数量)。
-
metrics.resource.target.value (Quantity)
value 是指标的目标值(数量)。
-
-
-
-
minReplicas (int32)
MinReplicas 是自动伸缩器可减少的副本量的下限。默认值为1。
FederatedHPAList
FederatedHPAList 罗列 FederatedHPA。
-
apiVersion: autoscaling.karmada.io/v1alpha1
-
kind: FederatedHPAList
-
metadata (ListMeta)
-
items ([]FederatedHPA),必选
操作
get:查询指定的 FederatedHPA
HTTP请求
GET /apis/autoscaling.karmada.io/v1alpha1/namespaces/{namespace}/federatedhpas/{name}
参数
响应
200 (FederatedHPA): OK
get:查询指定 FederatedHPA 的状态
HTTP请求
GET /apis/autoscaling.karmada.io/v1alpha1/namespaces/{namespace}/federatedhpas/{name}/status
参数
响应
200 (FederatedHPA): OK
list:查询指定命名空间内的所有 FederatedHPA
HTTP请求
GET /apis/autoscaling.karmada.io/v1alpha1/namespaces/{namespace}/federatedhpas
参数
-
namespace(路径参数):string,必选
-
allowWatchBookmarks(查询参数):boolean
-
continue(查询参数):string
-
fieldSelector(查询参数):string
-
labelSelector(查询参数):string
-
limit(查询参数):integer
-
pretty(查询参数):string
-
resourceVersion(查询参数):string
-
resourceVersionMatch(查询参数):string
-
sendInitialEvents(查询参数):boolean
-
timeoutSeconds(查询参数):integer
-
watch(查询参数):boolean
响应
200 (FederatedHPAList): OK
list:查询所有 FederatedHPA
HTTP请求
GET /apis/autoscaling.karmada.io/v1alpha1/federatedhpas
参数
-
allowWatchBookmarks(查询参数):boolean
-
continue(查询参数):string
-
fieldSelector(查询参数):string
-
labelSelector(查询参数):string
-
limit(查询参数):integer
-
pretty(查询参数):string
-
resourceVersion(查询参数):string
-
resourceVersionMatch(查询参数):string
-
sendInitialEvents(查询参数):boolean
-
timeoutSeconds(查询参数):integer
-
watch(查询参数):boolean
响应
200 (FederatedHPAList): OK
create:创建一条 FederatedHPA
HTTP请求
POST /apis/autoscaling.karmada.io/v1alpha1/namespaces/{namespace}/federatedhpas
参数
-
namespace(路径参数):string,必选
-
body: FederatedHPA,必选
-
dryRun(查询参数):string
-
fieldManager(查询参数):string
-
fieldValidation(查询参数):string
-
pretty(查询参数):string
响应
200 (FederatedHPA): OK
201 (FederatedHPA): Created
202 (FederatedHPA): Accepted
update:更新指定的 FederatedHPA
HTTP请求
PUT /apis/autoscaling.karmada.io/v1alpha1/namespaces/{namespace}/federatedhpas/{name}