Kubernetes 1.29:CSI 儲存空間調整大小已通過身份驗證,並於 v1.29 版本正式發佈 (GA)
Kubernetes v1.29 版本為 CSI (容器儲存介面) 儲存大小調整操作期間的身份驗證帶來正式發佈支援。
讓我們開始探索此功能的演進,該功能最初在 Kubernetes v1.25 中以 Alpha 版本推出,並揭示其過渡到正式發佈 (GA) 的相關變更。
已公開經過身份驗證的 CSI 儲存大小調整
Kubernetes 利用 CSI 的功能與第三方儲存系統無縫整合,使您的叢集能夠無縫擴展由 CSI 驅動程式管理的儲存卷。最近將調整大小的身份驗證密鑰支援從 Beta 提升到正式發佈 (GA) 開啟了新的視野,在底層儲存操作需要後端叢集操作憑證 (例如存取 SAN/NAS 架構) 的情況下,實現了卷擴展。此增強功能解決了 CSI 驅動程式的關鍵限制,允許在節點層級進行卷擴展,尤其是在調整大小操作需要身份驗證的情況下。
挑戰不僅限於節點層級的擴展。在特殊興趣小組 (SIG) Storage 中,已出現使用案例,包括 CSI 驅動程式需要在啟動節點層級檔案系統擴展操作之前驗證後端塊儲存的實際大小的情況。此驗證可防止後端儲存叢集在檔案系統擴展期間傳回誤報。此外,對於代表加密塊儲存 (例如,使用 LUKS) 的 PersistentVolume,強制要求使用密碼短語來擴展裝置和擴大檔案系統,突顯了經過身份驗證的調整大小的必要性。
Kubernetes v1.29 的新功能
隨著升級到正式發佈 (GA),此功能預設保持啟用。對節點層級卷擴展密鑰的支援已無縫整合到 CSI 外部佈建器 Sidecar 控制器中。若要利用此功能,請確保您的外部 CSI 儲存佈建器 Sidecar 控制器在 v3.3.0 或更高版本上運行。
導航經過身份驗證的 CSI 儲存大小調整
假設所有必要的組件 (包括 CSI 驅動程式) 都已部署並在您的叢集上運行,並且您有一個支援調整大小的 CSI 驅動程式,則您可以在 CSI 卷上啟動 NodeExpand
操作。CSI NodeExpand
操作的憑證可以方便地以 Kubernetes Secret 的形式提供,透過 StorageClass 指定 Secret。以下是用於保存憑證的 Secret 的說明性 manifest
---
apiVersion: v1
kind: Secret
metadata:
name: test-secret
namespace: default
data:
stringData:
username: admin
password: t0p-Secret
以下是參考這些憑證的 StorageClass 的範例 manifest
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: csi-blockstorage-sc
parameters:
csi.storage.k8s.io/node-expand-secret-name: test-secret
csi.storage.k8s.io/node-expand-secret-namespace: default
provisioner: blockstorage.cloudprovider.example
reclaimPolicy: Delete
volumeBindingMode: Immediate
allowVolumeExpansion: true
成功建立 PersistentVolumeClaim (PVC) 後,您可以驗證 PersistentVolume 的 .spec.csi 欄位中的組態。若要確認,請執行 kubectl get persistentvolume <pv_name> -o yaml
。
參與演進!
對於那些熱衷於貢獻或深入研究技術細節的人,增強功能提案包含有關功能歷史和實作的詳盡細節。透過參考[儲存類別文件] (https://kubernetes.dev.org.tw/docs/concepts/storage/persistent-volumes/#class) 和總體 PersistentVolumes 文件,探索 Kubernetes 中基於 StorageClass 的動態佈建領域。
加入 Kubernetes 儲存 SIG (特殊興趣小組) 以積極參與提升此功能。您的見解非常寶貴,我們熱切期待歡迎更多貢獻者來塑造 Kubernetes 儲存的未來!