3.6.3. FlexVolume ドライバーのインストール
OpenShift Container Platform を拡張するために使用される FlexVolume ドライバーはノードでのみ実行されます。FlexVolume を実装するには、呼び出す操作の一覧とインストールパスのみが必要になります。
前提条件
FlexVolume ドライバーは、以下の操作を実装する必要があります。
init
ドライバーを初期化します。すべてのノードの初期化中に呼び出されます。
- 引数: なし
- 実行場所: ノード
- 予期される出力: デフォルトの JSON
mount
ボリュームをディレクトリーにマウントします。これには、デバイスの検出、その後のデバイスのマウントを含む、ボリュームのマウントに必要なあらゆる操作が含まれます。
-
引数:
<mount-dir>
<json>
- 実行場所: ノード
- 予期される出力: デフォルトの JSON
-
引数:
unmount
ボリュームをディレクトリーからアンマウントします。これには、アンマウント後にボリュームをクリーンアップするために必要なあらゆる操作が含まれます。
-
引数:
<mount-dir>
- 実行場所: ノード
- 予期される出力: デフォルトの JSON
-
引数:
mountdevice
- ボリュームのデバイスを、個々の Pod がマウントをバインドするディレクトリーにマウントします。
この呼び出しでは FlexVolume 仕様に指定されるシークレットを渡しません。ドライバーでシークレットが必要な場合には、この呼び出しを実装しないでください。
-
引数:
<mount-dir>
<json>
- 実行場所: ノード
予期される出力: デフォルトの JSON
unmountdevice
- ボリュームのデバイスをディレクトリーからアンマウントします。
-
引数:
<mount-dir>
- 実行場所: ノード
予期される出力: デフォルトの JSON
-
その他のすべての操作は、
{"status": "Not supported"}
と終了コード1
を出して JSON を返します。
-
その他のすべての操作は、
手順
FlexVolume ドライバーをインストールします。
- この実行可能ファイルがクラスター内のすべてのノードに存在することを確認します。
-
この実行可能ファイルをボリュームプラグインのパス (
/etc/kubernetes/kubelet-plugins/volume/exec/<vendor>~<driver>/<driver>
) に配置します。
たとえば、ストレージ foo
の FlexVolume ドライバーをインストールするには、実行可能ファイルを /etc/kubernetes/kubelet-plugins/volume/exec/openshift.com~foo/foo
に配置します。