4.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 ドライバーをインストールします。

  1. この実行可能ファイルがクラスター内のすべてのノードに存在することを確認します。
  2. この実行可能ファイルをボリュームプラグインのパス (/etc/kubernetes/kubelet-plugins/volume/exec/<vendor>~<driver>/<driver>) に配置します。

たとえば、ストレージ foo の FlexVolume ドライバーをインストールするには、実行可能ファイルを /etc/kubernetes/kubelet-plugins/volume/exec/openshift.com~foo/foo に配置します。