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 のセクションは今もそのまま使える。要点はこうだ。

  1. 自分の CSI ドライバがボリュームスナップショットに対応しており、external-snapshot-metadata sidecar を備えていることを確認する。
  2. SnapshotMetadataService CRD をインストールする(v1.0.0 がリリースする v1beta1 の定義を使う)。
  3. 自分のドライバ用の SnapshotMetadataService リソースを作成する。
  4. クライアント——snapshot-metadata-lister でも独自実装でもよい——から GetMetadataAllocatedGetMetadataDelta を呼び出す。

エンドツーエンドの流れを見たいなら、 hostpath ドライバのサンプル が手頃な出発点になる。

今後の予定

Beta 期間の残りは、より多くの CSI ドライバにこの機能を採用してもらい、GA に向けて運用上のフィードバックを集めることに注力する。CSI ドライバをメンテナンスしている人にとっては、対応を検討するのに良いタイミングだ。この API を使ってバックアップアプリケーションを開発している人からの、ストリーミングクライアントや iterator パッケージに関するフィードバックも歓迎する。

さらに詳しく知るには

参加するには

この取り組みは SIG Storage の多くのコントリビューターの成果だ。Alpha から Beta にかけて、レビュー、コード、テストでこの機能を支えてくれた全員に感謝する。

Kubernetes で CSI やストレージに関わる仕事をしてみたいなら、まずは SIG Storage から始めるとよい。Data Protection Working Group も定期的にミーティングを開いており、新しい参加者をいつでも歓迎している。

出典: Kubernetes Blog← ホームへ戻る