【シーエスアイドライバ】

CSIドライバ とは?

最終更新:
💡 Kubernetesと外部ストレージをつなぐ、共通規格の橋渡し役

Container Storage Interface(CSI)を実装し、Kubernetesなどのコンテナ管理基盤と外部ストレージをつなぐプラグイン。ストレージ固有の操作を標準インターフェースから呼び出せるようにする。利用できる機能はドライバやストレージ、クラスタの設定による。

📌 このページのポイント
CSIでストレージの操作をつなぐ Kubernetes CSI ドライバ ストレージ StorageClassで担当を指定 使える機能は対応と設定による スナップショット・容量拡張も確認
操作の橋渡しを簡略化した図。右はドライバではなく実際のストレージを示す。導入だけで全機能が使えるという意味ではない。
ひよこ ひよこ
どんな役割のドライバなの?
ペンギン先生 ペンギン先生
Kubernetesから外部ストレージの機能を呼ぶ橋渡し役だよ。Container Storage Interfaceという共通インターフェースを実装し、対象ストレージでボリュームを使うための操作につなぐ。規格が共通でも、各ストレージの機能や設定まで同じになるわけではないんだ。
ひよこ ひよこ
従来の連携と何が違うの?
ペンギン先生 ペンギン先生
Kubernetes本体に組み込まれたストレージ連携も使われていたよ。この規格ではドライバを本体の外で提供・更新できる。既存の組み込み方式から移行する場合にも、対応するドライバの導入と設定が必要なんだ。
ひよこ ひよこ
入れれば、どんなストレージでも使える?
ペンギン先生 ペンギン先生
対象ストレージに対応したドライバが必要だよ。KubernetesのバージョンやOSなどとの互換性、導入手順も確認する。共通規格は接続方法をそろえるもので、未対応の装置まで自動的に扱えるようにするものではないんだ。
ひよこ ひよこ
スナップショットや容量拡張もできる?
ペンギン先生 ペンギン先生
対応していれば使えるよ。スナップショットにはドライバの対応に加え、専用のAPI定義やコントローラなどが必要。容量拡張もドライバが対応し、StorageClassでallowVolumeExpansionを有効にするなどの条件がある。オンライン拡張は使うファイルシステムにもよるんだ。
ひよこ ひよこ
StorageClassとの関係は?
ペンギン先生 ペンギン先生
StorageClassのprovisionerは、ボリュームの動的な作成を担当するプラグインを指定する項目だよ。例えばAWS EBS ドライバならebs.csi.aws.com。PVCでそのStorageClassを要求すると、設定に従って対応するボリュームを用意する流れになるんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「シーエスアイドライバ」って出てきたら「Kubernetesと外部ストレージをつなぐ、共通規格の橋渡し役」と思えばだいたいOK!
📖 おまけ:英語の意味
「Container Storage Interface Driver」 = コンテナストレージインターフェースのドライバ
💬 CSIはContainer Storage Interfaceの略で、コンテナ管理基盤とストレージの共通インターフェース。driverはその規格を実装するプラグインだよ。

参考資料

← 用語集にもどる