HorizontalPodAutoscaler

HorizontalPodAutoscaler 是一個水平 Pod 自動擴縮器的配置,它根據指定的度量指標自動管理實現 scale 子資源的任何資源的副本數量。

apiVersion: autoscaling/v2

import "k8s.io/api/autoscaling/v2"

HorizontalPodAutoscaler

HorizontalPodAutoscaler 是一個水平 Pod 自動擴縮器的配置,它根據指定的度量指標自動管理實現 scale 子資源的任何資源的副本數量。


HorizontalPodAutoscalerSpec

HorizontalPodAutoscalerSpec 描述了 HorizontalPodAutoscaler 所期望的功能。


  • maxReplicas (int32),必需

    maxReplicas 是自動擴縮器可以擴縮到的副本數量的上限。它不能小於 minReplicas。

  • scaleTargetRef (CrossVersionObjectReference),必需

    scaleTargetRef 指向要擴縮的目標資源,用於收集 Pod 的度量指標,以及實際更改副本數量。

    CrossVersionObjectReference 包含足夠的資訊,讓你能夠識別所引用的資源。

  • minReplicas (int32)

    minReplicas 是自動擴縮器可以縮減到的副本數量的下限。它預設為 1 個 Pod。如果啟用了 alpha 特性門控 HPAScaleToZero 且至少配置了一個物件(Object)或外部(External)度量指標,則 minReplicas 允許為 0。只要至少有一個度量值可用,擴縮就處於活動狀態。

  • behavior (HorizontalPodAutoscalerBehavior)

    behavior 配置目標在擴容(scaleUp)和縮容(scaleDown)兩個方向上的擴縮行為(分別透過 scaleUp 和 scaleDown 欄位)。如果未設定,則使用預設的 HPAScalingRules 進行擴容和縮容。

    HorizontalPodAutoscalerBehavior 配置目標在擴容(scaleUp)和縮容(scaleDown)兩個方向上的擴縮行為。

    • behavior.scaleDown (HPAScalingRules)

      scaleDown 是縮容策略。如果未設定,預設值是允許縮容到 minReplicas 個 Pod,並設定 300 秒的穩定視窗(即,使用最近 300 秒內的最高推薦值)。

      *HPAScalingRules 透過擴縮策略規則和可配置的度量容差來配置一個方向上的擴縮行為。

      擴縮策略規則在 HPA 根據度量指標計算出 DesiredReplicas 後應用。它們可以透過指定擴縮策略來限制擴縮速度。它們可以透過指定穩定視窗來防止抖動,這樣副本數量就不會立即設定,而是從穩定視窗中選擇最安全的值。

      容差應用於度量值,防止因度量值的微小變化而過於積極地擴縮。(請注意,設定容差需要啟用 alpha HPAConfigurableTolerance 特性門控。)*

      • behavior.scaleDown.policies ([]HPAScalingPolicy)

        原子性:在合併期間將被替換

        policies 是擴縮期間可以使用的潛在擴縮策略列表。如果未設定,使用預設值:- 對於擴容:允許在 15 秒視窗內將 Pod 數量翻倍,或者絕對增加 4 個 Pod。- 對於縮容:允許在 15 秒視窗內移除所有 Pod。

        HPAScalingPolicy 是一個必須在指定過去時間間隔內保持為真的單一策略。

        • behavior.scaleDown.policies.type (string),必需

          type 用於指定擴縮策略。

        • behavior.scaleDown.policies.value (int32),必需

          value 包含策略允許的更改量。它必須大於零。

        • behavior.scaleDown.policies.periodSeconds (int32),必需

          periodSeconds 指定策略應保持為真的時間視窗。PeriodSeconds 必須大於零且小於或等於 1800(30 分鐘)。

      • behavior.scaleDown.selectPolicy (string)

        selectPolicy 用於指定應使用哪個策略。如果未設定,則使用預設值 Max。

      • behavior.scaleDown.stabilizationWindowSeconds (int32)

        stabilizationWindowSeconds 是在擴容或縮容時應考慮過去推薦值的秒數。StabilizationWindowSeconds 必須大於或等於零且小於或等於 3600(一小時)。如果未設定,使用預設值:- 對於擴容:0(即不進行穩定處理)。- 對於縮容:300(即穩定視窗為 300 秒)。

      • behavior.scaleDown.tolerance (Quantity)

        tolerance 是當前度量值與所需度量值之間比率的容差,在此容差範圍內不對所需副本數量進行更新(例如,1% 的容差為 0.01)。必須大於或等於零。如果未設定,則應用預設的叢集範圍容差(預設為 10%)。

        例如,如果自動擴縮配置的記憶體消耗目標為 100Mi,縮容容差為 5%,擴容容差為 1%,則當實際消耗低於 95Mi 或超過 101Mi 時將觸發擴縮。

        這是一個 alpha 欄位,需要啟用 HPAConfigurableTolerance 特性門控。

    • behavior.scaleUp (HPAScalingRules)

      scaleUp 是擴容策略。如果未設定,預設值是以下兩者中的較大者:

      • 每 60 秒增加不超過 4 個 Pod
      • 每 60 秒將 Pod 數量翻倍,不使用穩定機制。

      *HPAScalingRules 透過擴縮策略規則和可配置的度量容差來配置一個方向上的擴縮行為。

      擴縮策略規則在 HPA 根據度量指標計算出 DesiredReplicas 後應用。它們可以透過指定擴縮策略來限制擴縮速度。它們可以透過指定穩定視窗來防止抖動,這樣副本數量就不會立即設定,而是從穩定視窗中選擇最安全的值。

      容差應用於度量值,防止因度量值的微小變化而過於積極地擴縮。(請注意,設定容差需要啟用 alpha HPAConfigurableTolerance 特性門控。)*

      • behavior.scaleUp.policies ([]HPAScalingPolicy)

        原子性:在合併期間將被替換

        policies 是擴縮期間可以使用的潛在擴縮策略列表。如果未設定,使用預設值:- 對於擴容:允許在 15 秒視窗內將 Pod 數量翻倍,或者絕對增加 4 個 Pod。- 對於縮容:允許在 15 秒視窗內移除所有 Pod。

        HPAScalingPolicy 是一個必須在指定過去時間間隔內保持為真的單一策略。

        • behavior.scaleUp.policies.type (string),必需

          type 用於指定擴縮策略。

        • behavior.scaleUp.policies.value (int32),必需

          value 包含策略允許的更改量。它必須大於零。

        • behavior.scaleUp.policies.periodSeconds (int32),必需

          periodSeconds 指定策略應保持為真的時間視窗。PeriodSeconds 必須大於零且小於或等於 1800(30 分鐘)。

      • behavior.scaleUp.selectPolicy (string)

        selectPolicy 用於指定應使用哪個策略。如果未設定,則使用預設值 Max。

      • behavior.scaleUp.stabilizationWindowSeconds (int32)

        stabilizationWindowSeconds 是在擴容或縮容時應考慮過去推薦值的秒數。StabilizationWindowSeconds 必須大於或等於零且小於或等於 3600(一小時)。如果未設定,使用預設值:- 對於擴容:0(即不進行穩定處理)。- 對於縮容:300(即穩定視窗為 300 秒)。

      • behavior.scaleUp.tolerance (Quantity)

        tolerance 是當前度量值與所需度量值之間比率的容差,在此容差範圍內不對所需副本數量進行更新(例如,1% 的容差為 0.01)。必須大於或等於零。如果未設定,則應用預設的叢集範圍容差(預設為 10%)。

        例如,如果自動擴縮配置的記憶體消耗目標為 100Mi,縮容容差為 5%,擴容容差為 1%,則當實際消耗低於 95Mi 或超過 101Mi 時將觸發擴縮。

        這是一個 alpha 欄位,需要啟用 HPAConfigurableTolerance 特性門控。

  • metrics ([]MetricSpec)

    原子性:在合併期間將被替換

    metrics 包含用於計算所需副本數量的規範(將使用所有度量指標中的最大副本數量)。所需副本數量的計算方法是:目標值與當前值之間的比率乘以當前 Pod 數量。因此,使用的度量指標必須隨著 Pod 數量的增加而減少,反之亦然。有關每種度量指標型別如何響應的更多資訊,請參閱各個度量指標源型別。如果未設定,預設度量指標將設定為 80% 的平均 CPU 利用率。

    MetricSpec 指定如何根據單個度量指標進行擴縮(應同時只設置 type 和一個其他匹配欄位)。

    • metrics.type (string),必需

      type 是度量指標源的型別。它應該是 "ContainerResource"、"External"、"Object"、"Pods" 或 "Resource" 中的一個,每個都對應物件中一個匹配的欄位。

    • metrics.containerResource (ContainerResourceMetricSource)

      containerResource 指的是 Kubernetes 已知的資源度量(例如在請求和限制中指定的度量),它描述了當前擴縮目標中每個 Pod 的單個容器(例如 CPU 或記憶體)。此類度量指標內置於 Kubernetes,並且除了使用“pods”源的普通每 Pod 度量指標之外,還具有特殊的擴縮選項。

      ContainerResourceMetricSource 指示如何根據 Kubernetes 已知的資源度量指標進行擴縮,如請求和限制中指定的那樣,描述了當前擴縮目標中的每個 Pod(例如 CPU 或記憶體)。這些值將進行平均,然後與目標值進行比較。此類度量指標內置於 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 資源請求值的百分比。目前僅適用於資源度量指標源型別

        • 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 資源請求值的百分比。目前僅適用於資源度量指標源型別

        • 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 指定物件的描述,例如 kind、name apiVersion

        CrossVersionObjectReference 包含足夠的資訊,讓你能夠識別所引用的資源。

      • 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 資源請求值的百分比。目前僅適用於資源度量指標源型別

        • 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 資源請求值的百分比。目前僅適用於資源度量指標源型別

        • metrics.pods.target.averageValue (Quantity)

          averageValue 是所有相關 Pod 的度量指標平均值的目標值(以數量表示)

        • metrics.pods.target.value (Quantity)

          value 是度量指標的目標值(以數量表示)。

    • metrics.resource (ResourceMetricSource)

      resource 指的是 Kubernetes 已知的資源度量(例如在請求和限制中指定的度量),它描述了當前擴縮目標中每個 Pod 的資源(例如 CPU 或記憶體)。此類度量指標內置於 Kubernetes,並且除了使用“pods”源的普通每 Pod 度量指標之外,還具有特殊的擴縮選項。

      ResourceMetricSource 指示如何根據 Kubernetes 已知的資源度量指標進行擴縮,如請求和限制中指定的那樣,描述了當前擴縮目標中的每個 Pod(例如 CPU 或記憶體)。這些值將進行平均,然後與目標值進行比較。此類度量指標內置於 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 資源請求值的百分比。目前僅適用於資源度量指標源型別

        • metrics.resource.target.averageValue (Quantity)

          averageValue 是所有相關 Pod 的度量指標平均值的目標值(以數量表示)

        • metrics.resource.target.value (Quantity)

          value 是度量指標的目標值(以數量表示)。

HorizontalPodAutoscalerStatus

HorizontalPodAutoscalerStatus 描述了水平 Pod 自動擴縮器的當前狀態。


  • desiredReplicas (int32),必需

    desiredReplicas 是此自動擴縮器管理的 Pod 所期望的副本數量,由自動擴縮器最後計算。

  • conditions ([]HorizontalPodAutoscalerCondition)

    補丁策略:按鍵 type 合併

    對映:合併時將保留鍵型別上的唯一值

    conditions 是此自動擴縮器擴縮其目標所需的條件集,並指示這些條件是否滿足。

    HorizontalPodAutoscalerCondition 描述了 HorizontalPodAutoscaler 在某個時刻的狀態。

    • conditions.status (string),必需

      status 是條件的狀態(True、False、Unknown)

    • conditions.type (string),必需

      type 描述了當前條件

    • conditions.lastTransitionTime (Time)

      lastTransitionTime 是條件上次從一種狀態轉換到另一種狀態的時間

      Time 是 time.Time 的一個包裝器,支援正確地編組到 YAML 和 JSON。提供了 time 包提供的許多工廠方法的包裝器。

    • conditions.message (string)

      message 是包含有關轉換細節的人類可讀解釋

    • conditions.reason (string)

      reason 是條件上次轉換的原因。

  • currentMetrics ([]MetricStatus)

    原子性:在合併期間將被替換

    currentMetrics 是此自動擴縮器使用的度量指標的最後讀取狀態。

    MetricStatus 描述了單個度量指標的最後讀取狀態。

    • currentMetrics.type (string),必需

      type 是度量指標源的型別。它將是 "ContainerResource"、"External"、"Object"、"Pods" 或 "Resource" 中的一個,每個都對應物件中一個匹配的欄位。

    • currentMetrics.containerResource (ContainerResourceMetricStatus)

      container resource 指的是 Kubernetes 已知的資源度量(例如在請求和限制中指定的度量),它描述了當前擴縮目標中每個 Pod 的單個容器(例如 CPU 或記憶體)。此類度量指標內置於 Kubernetes,並且除了使用“pods”源的普通每 Pod 度量指標之外,還具有特殊的擴縮選項。

      ContainerResourceMetricStatus 指示 Kubernetes 已知的資源度量指標的當前值,如請求和限制中指定的那樣,描述了當前擴縮目標中每個 Pod 的單個容器(例如 CPU 或記憶體)。此類度量指標內置於 Kubernetes,並且除了使用“pods”源的普通每 Pod 度量指標之外,還具有特殊的擴縮選項。

      • currentMetrics.containerResource.container (string),必需

        container 是擴縮目標中 Pod 的容器名稱

      • currentMetrics.containerResource.current (MetricValueStatus),必需

        current 包含給定度量指標的當前值

        MetricValueStatus 包含度量指標的當前值

        • currentMetrics.containerResource.current.averageUtilization (int32)

          currentAverageUtilization 是所有相關 Pod 的資源度量指標平均值的當前值,表示為 Pod 資源請求值的百分比。

        • currentMetrics.containerResource.current.averageValue (Quantity)

          averageValue 是所有相關 Pod 的度量指標平均值的當前值(以數量表示)

        • currentMetrics.containerResource.current.value (Quantity)

          value 是度量指標的當前值(以數量表示)。

      • currentMetrics.containerResource.name (string),必需

        name 是相關資源的名稱。

    • currentMetrics.external (ExternalMetricStatus)

      external 指的是與任何 Kubernetes 物件無關的全域性度量指標。它允許基於來自叢集外部執行的元件的資訊進行自動擴縮(例如雲訊息服務中的佇列長度,或叢集外部執行的負載均衡器的 QPS)。

      ExternalMetricStatus 指示與任何 Kubernetes 物件無關的全域性度量指標的當前值。

      • currentMetrics.external.current (MetricValueStatus),必需

        current 包含給定度量指標的當前值

        MetricValueStatus 包含度量指標的當前值

        • currentMetrics.external.current.averageUtilization (int32)

          currentAverageUtilization 是所有相關 Pod 的資源度量指標平均值的當前值,表示為 Pod 資源請求值的百分比。

        • currentMetrics.external.current.averageValue (Quantity)

          averageValue 是所有相關 Pod 的度量指標平均值的當前值(以數量表示)

        • currentMetrics.external.current.value (Quantity)

          value 是度量指標的當前值(以數量表示)。

      • currentMetrics.external.metric (MetricIdentifier),必需

        metric 透過名稱和選擇器標識目標度量指標

        MetricIdentifier 定義了度量指標的名稱和可選的選擇器

        • currentMetrics.external.metric.name (string),必需

          name 是給定度量指標的名稱

        • currentMetrics.external.metric.selector (LabelSelector)

          selector 是給定度量指標的標準 Kubernetes 標籤選擇器的字串編碼形式。設定後,它作為附加引數傳遞給度量指標伺服器,以實現更具體的度量指標範圍。未設定時,僅使用 metricName 收集度量指標。

    • currentMetrics.object (ObjectMetricStatus)

      object 指的是描述單個 Kubernetes 物件的度量指標(例如,Ingress 物件的每秒命中數)。

      ObjectMetricStatus 指示描述 Kubernetes 物件的度量指標的當前值(例如,Ingress 物件的每秒命中數)。

      • currentMetrics.object.current (MetricValueStatus),必需

        current 包含給定度量指標的當前值

        MetricValueStatus 包含度量指標的當前值

        • currentMetrics.object.current.averageUtilization (int32)

          currentAverageUtilization 是所有相關 Pod 的資源度量指標平均值的當前值,表示為 Pod 資源請求值的百分比。

        • currentMetrics.object.current.averageValue (Quantity)

          averageValue 是所有相關 Pod 的度量指標平均值的當前值(以數量表示)

        • currentMetrics.object.current.value (Quantity)

          value 是度量指標的當前值(以數量表示)。

      • currentMetrics.object.describedObject (CrossVersionObjectReference),必需

        DescribedObject 指定物件的描述,例如 kind、name apiVersion

        CrossVersionObjectReference 包含足夠的資訊,讓你能夠識別所引用的資源。

      • currentMetrics.object.metric (MetricIdentifier),必需

        metric 透過名稱和選擇器標識目標度量指標

        MetricIdentifier 定義了度量指標的名稱和可選的選擇器

        • currentMetrics.object.metric.name (string),必需

          name 是給定度量指標的名稱

        • currentMetrics.object.metric.selector (LabelSelector)

          selector 是給定度量指標的標準 Kubernetes 標籤選擇器的字串編碼形式。設定後,它作為附加引數傳遞給度量指標伺服器,以實現更具體的度量指標範圍。未設定時,僅使用 metricName 收集度量指標。

    • currentMetrics.pods (PodsMetricStatus)

      pods 指的是描述當前擴縮目標中每個 Pod 的度量指標(例如,每秒處理的事務數)。這些值將進行平均,然後與目標值進行比較。

      PodsMetricStatus 指示描述當前擴縮目標中每個 Pod 的度量指標的當前值(例如,每秒處理的事務數)。

      • currentMetrics.pods.current (MetricValueStatus),必需

        current 包含給定度量指標的當前值

        MetricValueStatus 包含度量指標的當前值

        • currentMetrics.pods.current.averageUtilization (int32)

          currentAverageUtilization 是所有相關 Pod 的資源度量指標平均值的當前值,表示為 Pod 資源請求值的百分比。

        • currentMetrics.pods.current.averageValue (Quantity)

          averageValue 是所有相關 Pod 的度量指標平均值的當前值(以數量表示)

        • currentMetrics.pods.current.value (Quantity)

          value 是度量指標的當前值(以數量表示)。

      • currentMetrics.pods.metric (MetricIdentifier),必需

        metric 透過名稱和選擇器標識目標度量指標

        MetricIdentifier 定義了度量指標的名稱和可選的選擇器

        • currentMetrics.pods.metric.name (string),必需

          name 是給定度量指標的名稱

        • currentMetrics.pods.metric.selector (LabelSelector)

          selector 是給定度量指標的標準 Kubernetes 標籤選擇器的字串編碼形式。設定後,它作為附加引數傳遞給度量指標伺服器,以實現更具體的度量指標範圍。未設定時,僅使用 metricName 收集度量指標。

    • currentMetrics.resource (ResourceMetricStatus)

      resource 指的是 Kubernetes 已知的資源度量(例如在請求和限制中指定的度量),它描述了當前擴縮目標中每個 Pod 的資源(例如 CPU 或記憶體)。此類度量指標內置於 Kubernetes,並且除了使用“pods”源的普通每 Pod 度量指標之外,還具有特殊的擴縮選項。

      ResourceMetricStatus 指示 Kubernetes 已知的資源度量指標的當前值,如請求和限制中指定的那樣,描述了當前擴縮目標中每個 Pod 的資源(例如 CPU 或記憶體)。此類度量指標內置於 Kubernetes,並且除了使用“pods”源的普通每 Pod 度量指標之外,還具有特殊的擴縮選項。

      • currentMetrics.resource.current (MetricValueStatus),必需

        current 包含給定度量指標的當前值

        MetricValueStatus 包含度量指標的當前值

        • currentMetrics.resource.current.averageUtilization (int32)

          currentAverageUtilization 是所有相關 Pod 的資源度量指標平均值的當前值,表示為 Pod 資源請求值的百分比。

        • currentMetrics.resource.current.averageValue (Quantity)

          averageValue 是所有相關 Pod 的度量指標平均值的當前值(以數量表示)

        • currentMetrics.resource.current.value (Quantity)

          value 是度量指標的當前值(以數量表示)。

      • currentMetrics.resource.name (string),必需

        name 是相關資源的名稱。

  • currentReplicas (int32)

    currentReplicas 是此自動擴縮器管理的 Pod 的當前副本數量,由自動擴縮器上次觀測到。

  • lastScaleTime (Time)

    lastScaleTime 是 HorizontalPodAutoscaler 上次擴縮 Pod 數量的時間,自動擴縮器使用它來控制 Pod 數量的更改頻率。

    Time 是 time.Time 的一個包裝器,支援正確地編組到 YAML 和 JSON。提供了 time 包提供的許多工廠方法的包裝器。

  • observedGeneration (int64)

    observedGeneration 是此自動擴縮器觀測到的最新一代。

HorizontalPodAutoscalerList

HorizontalPodAutoscalerList 是水平 Pod 自動擴縮器物件的列表。


  • apiVersion: autoscaling/v2

  • kind: HorizontalPodAutoscalerList

  • metadata (ListMeta)

    metadata 是標準的列表元資料。

  • items ([]HorizontalPodAutoscaler),必需

    items 是水平 Pod 自動擴縮器物件的列表。

操作


get 讀取指定的 HorizontalPodAutoscaler

HTTP 請求

GET /apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers/{name}

引數

  • name (在路徑中): string,必填

    HorizontalPodAutoscaler 的名稱

  • namespace (在路徑中): string,必填

    名稱空間

  • pretty (在查詢中): string

    pretty

響應

200 (HorizontalPodAutoscaler): OK

401: 未授權

get 讀取指定的 HorizontalPodAutoscaler 的狀態

HTTP 請求

GET /apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers/{name}/status

引數

  • name (在路徑中): string,必填

    HorizontalPodAutoscaler 的名稱

  • namespace (在路徑中): string,必填

    名稱空間

  • pretty (在查詢中): string

    pretty

響應

200 (HorizontalPodAutoscaler): OK

401: 未授權

list 列出或監視 HorizontalPodAutoscaler 型別的物件

HTTP 請求

GET /apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers

引數

響應

200 (HorizontalPodAutoscalerList): OK

401: 未授權

list 列出或監視 HorizontalPodAutoscaler 型別的物件

HTTP 請求

GET /apis/autoscaling/v2/horizontalpodautoscalers

引數

響應

200 (HorizontalPodAutoscalerList): OK

401: 未授權

create 建立 HorizontalPodAutoscaler

HTTP 請求

POST /apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers

引數

響應

200 (HorizontalPodAutoscaler): OK

201 (HorizontalPodAutoscaler): 已建立

202 (HorizontalPodAutoscaler): 已接受

401: 未授權

update 替換指定的 HorizontalPodAutoscaler

HTTP 請求

PUT /apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers/{name}

引數

響應

200 (HorizontalPodAutoscaler): OK

201 (HorizontalPodAutoscaler): 已建立

401: 未授權

update 替換指定的 HorizontalPodAutoscaler 的狀態

HTTP 請求

PUT /apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers/{name}/status

引數

響應

200 (HorizontalPodAutoscaler): OK

201 (HorizontalPodAutoscaler): 已建立

401: 未授權

patch 部分更新指定的 HorizontalPodAutoscaler

HTTP 請求

PATCH /apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers/{name}

引數

  • name (在路徑中): string,必填

    HorizontalPodAutoscaler 的名稱

  • namespace (在路徑中): string,必填

    名稱空間

  • body: Patch,必需

  • dryRun (在查詢中): string

    dryRun

  • fieldManager (在查詢中): string

    fieldManager

  • fieldValidation (在查詢中): string

    fieldValidation

  • force (在查詢中): boolean

    force

  • pretty (在查詢中): string

    pretty

響應

200 (HorizontalPodAutoscaler): OK

201 (HorizontalPodAutoscaler): 已建立

401: 未授權

patch 部分更新指定的 HorizontalPodAutoscaler 的狀態

HTTP 請求

PATCH /apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers/{name}/status

引數

  • name (在路徑中): string,必填

    HorizontalPodAutoscaler 的名稱

  • namespace (在路徑中): string,必填

    名稱空間

  • body: Patch,必需

  • dryRun (在查詢中): string

    dryRun

  • fieldManager (在查詢中): string

    fieldManager

  • fieldValidation (在查詢中): string

    fieldValidation

  • force (在查詢中): boolean

    force

  • pretty (在查詢中): string

    pretty

響應

200 (HorizontalPodAutoscaler): OK

201 (HorizontalPodAutoscaler): 已建立

401: 未授權

delete 刪除 HorizontalPodAutoscaler

HTTP 請求

DELETE /apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers/{name}

引數

響應

200 (Status): OK

202 (Status): 已接受

401: 未授權

deletecollection 刪除 HorizontalPodAutoscaler 集合

HTTP 請求

DELETE /apis/autoscaling/v2/namespaces/{namespace}/horizontalpodautoscalers

引數

響應

200 (Status): OK

401: 未授權

本頁面是自動生成的。

如果你打算報告此頁面存在的問題,請在問題描述中提及此頁面是自動生成的。修復可能需要在 Kubernetes 專案的其他地方進行。

最後修改時間:2025 年 4 月 24 日上午 9:14 PST:v1.33 的 Markdown API 參考 (b84ec30bbb)