Kubernetes 変更ブロック追跡 API - ベータ版の違い
日本語
コピー
CSI 駆動の Changed Block Tracking (CBT) は 2025 年 9 月に
Alpha としてリリースされた。
external-snapshot-metadata
プロジェクトが 2026 年 3 月に v1.0.0 をリリースしたことで、この機能は Beta に進んだ。
Kubernetes ストレージの changed block tracking に馴染みがない人向けに言うと、
Alpha の告知でその動機、3 つの主要コンポーネント(CSI SnapshotMetadata
gRPC サービス、SnapshotMetadataService CRD、external-snapshot-metadata
sidecar)、そしてこの API の使い方が一通り説明されている。CBT が使えるのは現時点ではブロックボリュームのみで、ファイルボリュームやネットワークファイル共有の変更リスト追跡はこの機能の対象外だ。本記事では Beta で何が変わったかに絞って説明する。
Beta での変更点
今回の主な変更は、SnapshotMetadataService CRD を v1alpha1 から v1beta1 に引き上げたことだ。ドライバのメタデータサービスを公開するこの CRD は、今後
cbt.storage.k8s.io/v1beta1 を提供する。schema 自体に変更はないが、今回のリリースで v1alpha1 は削除された(旧バージョンとの併存ではない)。Alpha からアップグレードする場合は、次の作業が必要になる。
v1.0.0に同梱される CRD 定義を再適用する。- SnapshotMetadataService マニフェストを
apiVersion: cbt.storage.k8s.io/v1beta1を使うよう更新する。 - この CRD にアクセスするすべてのクライアントまたはコントローラのコードを更新する。
これは一度きりの変更だ。2 つのバージョン間の自動変換は用意されていない。
互換性
- 最低 Kubernetes バージョン:1.33
- CSI 仕様:1.10 以降
- コンテナイメージ:
registry.k8s.io/sig-storage/csi-snapshot-metadata:v1.0.0
試してみる
Alpha ブログの Getting Started のセクションは今もそのまま使える。要点はこうだ。
- 自分の CSI ドライバがボリュームスナップショットに対応しており、
external-snapshot-metadatasidecar を備えていることを確認する。 - SnapshotMetadataService CRD をインストールする(
v1.0.0がリリースするv1beta1の定義を使う)。 - 自分のドライバ用の SnapshotMetadataService リソースを作成する。
- クライアント——
snapshot-metadata-listerでも独自実装でもよい——からGetMetadataAllocatedとGetMetadataDeltaを呼び出す。
エンドツーエンドの流れを見たいなら、 hostpath ドライバのサンプル が手頃な出発点になる。
今後の予定
Beta 期間の残りは、より多くの CSI ドライバにこの機能を採用してもらい、GA に向けて運用上のフィードバックを集めることに注力する。CSI ドライバをメンテナンスしている人にとっては、対応を検討するのに良いタイミングだ。この API を使ってバックアップアプリケーションを開発している人からの、ストリーミングクライアントや iterator パッケージに関するフィードバックも歓迎する。
さらに詳しく知るには
- スナップショットメタデータに関する CSI 開発者向けドキュメント
- KEP-3314
- external-snapshot-metadata リポジトリ
- gRPC schema
- サンプルクライアント snapshot-metadata-lister
参加するには
この取り組みは SIG Storage の多くのコントリビューターの成果だ。Alpha から Beta にかけて、レビュー、コード、テストでこの機能を支えてくれた全員に感謝する。
- Ben Swartzlander (bswartz)
- Carl Braganza (carlbraganza)
- Daniil Fedotov (hairyhum)
- Ivan Sim (ihcsim)
- Nikhil Ladha (Nikhil-Ladha)
- Praveen M (iPraveenParihar)
- Rakshith R (Rakshith-R)
- Xing Yang (xing-yang)
Kubernetes で CSI やストレージに関わる仕事をしてみたいなら、まずは SIG Storage から始めるとよい。Data Protection Working Group も定期的にミーティングを開いており、新しい参加者をいつでも歓迎している。