3.6.2. FlexVolume ドライバーの例

FlexVolume ドライバーの最初のコマンドライン引数は常に操作名です。その他のパラメーターは操作ごとに異なります。ほとんどの操作は、JSON (JavaScript Object Notation) 文字列をパラメーターとして取ります。このパラメーターは完全な JSON 文字列であり、JSON データを含むファイルの名前ではありません。

FlexVolume ドライバーには以下が含まれます。

  • すべての flexVolume.options
  • kubernetes.io/ というプレフィックスが付いた flexVolume のいくつかのオプション。たとえば、fsTypereadwrite などです。
  • kubernetes.io/secret/ というプレフィックスが付いた参照先シークレット (指定されている場合) の内容。

FlexVolume ドライバーの JSON 入力例

{
	"fooServer": "192.168.0.1:1234", 1
        "fooVolumeName": "bar",
	"kubernetes.io/fsType": "ext4", 2
	"kubernetes.io/readwrite": "ro", 3
	"kubernetes.io/secret/<key name>": "<key value>", 4
	"kubernetes.io/secret/<another key name>": "<another key value>",
}

1
flexVolume.options のすべてのオプション。
2
flexVolume.fsType の値。
3
flexVolume.readOnly に基づく ro/rw
4
flexVolume.secretRef によって参照されるシークレットのすべてのキーと値。

OpenShift Container Platform は、ドライバーの標準出力に JSON データが含まれていると想定します。指定されていない場合、出力には操作の結果が示されます。

FlexVolume ドライバーのデフォルトの出力例

{
	"status": "<Success/Failure/Not supported>",
	"message": "<Reason for success/failure>"
}

ドライバーの終了コードは、成功の場合は 0、エラーの場合は 1 です。

操作はべき等です。 すでに割り当てられているボリュームのマウント操作は成功します。