Kubernetes 1.30 では、PersistentVolumeClaim (PVC) のボリュームモードの変更を防ぐ機能が安定しました。この機能は、VolumeSnapshot から PVC を作成する際、元のボリュームと新しいボリュームのボリュームモードが一致することを要求し、セキュリティ脆弱性を防ぐように設計されています。
未承認のユーザーはボリュームモードを変更できませんが、VolumeSnapshotContents にアクセスできる承認されたユーザーは、VolumeSnapshotContent にアノテーションを追加することでボリュームモードを変更できます。
事前にプロビジョニングされた VolumeSnapshotContents の場合、spec.sourceVolumeMode フィールドが元のボリュームのモードに応じて Filesystem または Block に設定されている必要があります。
Kubernetes は、VolumeSnapshotContent にアノテーションが存在する場合、ボリュームモードの変換を防ぐことはありません。
prevent-volume-mode-conversion 機能フラグは、external-provisioner v4.0.0 と external-snapshotter v7.0.0 でデフォルトで有効です。
VolumeSnapshot から PVC を作成する際、ボリュームモードの変換を許可する手順が踏まれていない場合、ボリュームモードの変更が拒否されます。
CSI external sidecar のこの機能をサポートするバージョンは、CSI ドキュメントで確認できます。
質問や問題があれば、Kubernetes の Slack チャンネル (#csi または #sig-storage) に参加するか、CSI external-snapshotter リポジトリで issue を作成してください。
kubernetes.io
Kubernetes 1.30: Preventing unauthorized volume mode conversion moves to GA
