はじめに
本ドキュメントでは、Kubernetes 1.29.0のCHANGELOGをベースにSIG Storageに関する機能について紹介します。
がついた文章は、CHANGELOGの公式内容ではなく筆者の補足です。
アップグレード前に絶対に確認が必要な変更点 (Urgent Upgrade Notes)
SIG Storageに関連するものはなし
Changes by Kind
非推奨 (Deprecation)
SIG Storageに関連するものはなし
APIの変更 (API Change)
- Podにcertificates.k8s.io/v1alpha1のClusterTrustBundleオブジェクトを投影するためのサポートが追加されました。(#113374, @ahmedtd)
- Go API: VolumeResourceRequirements構造体がResourceRequirements構造体に置き換えられ、ボリュームの使用時に使用されます。(#118653, @pohly)
- CSINodeExpandSecret機能がこのリリースでGAに昇格し、デフォルトで有効になりました。CSIドライバは、このリリースからCSI Client がオプションで送信するNodeExpansionリクエスト内のsecretRef値を利用することができます。(#121303, @humblec)
本機能の動作検証レポートは「Kubernetes: CSI Storage Resizing Authenticated(NodeExpandSecret)の動作検証」にて公開していますので、興味のある方はご参照ください。
- CSIノードドライバが実行中でない場合には、NodeStageVolumeの呼び出しがリトライされるようになります。(#120330, @rohitssingh)
- PersistentVolumeLastPhaseTransitionTimeがベータ版になり、デフォルトで有効になっています。(#120627, @RomanBednar)
機能 (Feature)
- ReadWriteOncePodはGAに昇格しました。(#121077, @chrishenzie)
- kubectl describe pvc (PVC) コマンドの出力の "Used by:" の部分に、ephemeral storage volumeとして(PVC)を使用しているPodをリスト化しました。(#120427, @MaGaroo)
- nodevolumelimitsのscheduler pluginをcontextual loggingを使用するように移行しました。(#116884, @mengjiao-liu)
- volumebindingのscheduler pluginをcontextual loggingを使用するように移行しました。(#116803, @mengjiao-liu)
ドキュメンテーション (Documentation)
SIG Storageに関連するものはなし
失敗するテスト (Failing Test)
SIG Storageに関連するものはなし
バグまたはリグレッション (Bug or Regression)
- detach エラーの後のボリュームのAttachを修正しました。detachに失敗したボリュームはAttach済みとは扱われず、KubernetesはPodによって使用される前に完全にAttachされることを保証します。(#120595、@jsafrane)
- SMBファイル共有が削除された後にアンマウントされた際、SMBマウントが古いままとなる問題を修正しました。(#121851、@andyzhangx)
- ターゲットパスディレクトリがノード上に既に存在する場合、kubeletでボリュームのAttachまたはPublish操作が失敗することがなくなりました。(#119735、@akankshapanse)
その他 (Cleanup or Flake)
- E2E storage tests: DriverInfo.FeatureTagフィールドを介してテストタグ[Slow]などを設定するサポートは廃止されました。(#121391, @pohly)
- CSIMigrationvSphereに関するGA feature gateが削除されました。(#121291, @bzsuni)
- v1.28でGAに移行し、無条件で有効化されていたRetroactiveDefaultStorageClassのfeature gateはv1.29で削除されました。(#120861, @RomanBednar)
所感
Kubernetes v1.29.0のSIG Storageに関しては大きなエンハンスはありませんでした。
GAになった機能としては、ReadWriteOncePodとNodeExpandSecret機能です。
後者のNodeExpandSecret機能は、その恩恵を受ける環境が限られていますが、前者のReadWriteOncePodは特にブロックストレージ(iSCSI,NVMe,NVMe-oFなど)のPVを利用する多くのユーザに有効なものになります。ReadWriteOncePodを利用することで、1つのPodから1つのPV(Volume)をマウントする際、不必要に他PodからPV(Volume)をマウントされることを防ぐことができ、より安全にPV(Volume)を運用できるようになります。
ReadWriteOncePodの動作検証レポートは「Kubernetes: ReadWriteOnceとReadWriteOncePodの動作検証」にまとめていますので、興味のある方はご参照ください。