Kubernetes v1.33:用於動態製備的節點儲存容量評分(Alpha)

Kubernetes v1.33 引入了一個名為 StorageCapacityScoring 的新 alpha 功能。此功能為 Pod 排程添加了一種評分方法,並結合了拓撲感知卷製備。此功能有助於將 Pod 排程到具有最多或最少可用儲存容量的節點上。

關於此功能

此功能擴充套件了 kube-scheduler 的 VolumeBinding 外掛,以便使用從儲存容量獲取的節點儲存容量資訊進行評分。目前,你只能過濾掉儲存容量不足的節點。因此,你必須使用排程器擴充套件程式來實現基於儲存容量的 Pod 排程。

此功能對於製備節點本地 PV 非常有用,這些 PV 的大小受限於節點的儲存容量。透過使用此功能,你可以將 PV 分配給具有最多可用儲存空間的節點,以便以後可以儘可能地擴充套件 PV。

在另一個用例中,你可能希望透過選擇儲存容量最少的節點來儘可能減少節點數量,以降低雲環境中的運營成本。此功能有助於最大化資源利用率,透過從利用率最高的節點開始,更順序地填滿節點,前提是這些節點仍有足夠的儲存容量來滿足所請求的卷大小。

如何使用

啟用該特性

在 alpha 階段,StorageCapacityScoring 預設是停用的。要使用此功能,請將 StorageCapacityScoring=true 新增到 kube-scheduler 命令列選項 --feature-gates 中。

配置變更

你可以使用 VolumeBinding 外掛配置中的 shape 引數來根據儲存利用率配置節點優先順序。這允許你優先選擇具有較高可用儲存容量的節點(預設),或者相反,優先選擇具有較低可用儲存容量的節點。例如,要優先選擇較低可用儲存容量的節點,請按如下方式配置 KubeSchedulerConfiguration

apiVersion: kubescheduler.config.k8s.io/v1
kind: KubeSchedulerConfiguration
profiles:
  ...
  pluginConfig:
  - name: VolumeBinding
    args:
      ...
      shape:
      - utilization: 0
        score: 0
      - utilization: 100
        score: 10

有關更多詳細資訊,請參閱文件

進一步閱讀

補充說明:與 VolumeCapacityPriority 的關係

alpha 功能門控 VolumeCapacityPriority 將被棄用並由 StorageCapacityScoring 取代,前者在靜態製備期間根據可用儲存容量對節點進行評分。

請注意,雖然 VolumeCapacityPriority 預設優先選擇可用儲存容量較低的節點,但 StorageCapacityScoring 預設優先選擇可用儲存容量較高的節點。