7.18.2.3. ホストパスプロビジョナーを使用したローカルストレージの有効化
ホストパスプロビジョナーをデプロイし、仮想マシンがローカルストレージを使用できるようにするには、最初に HostPathProvisioner
カスタムリソースを作成します。
前提条件
ホストパスプロビジョナーが作成する永続ボリューム (PV) 用に、各ノードにバッキングディレクトリーを作成すること。
重要/
パーティションは Red Hat Enterprise Linux CoreOS (RHCOS) で読み取り専用であるため、バッキングディレクトリーをファイルシステムの root ディレクトリーに置かないでください。たとえば、/var/<directory_name>
は使用できますが、/<directory_name>
は使用できません。SELinux コンテキスト
container_file_t
を各ノードの PV バッキングディレクトリーに適用すること。以下に例を示します。$ sudo chcon -t container_file_t -R <backing_directory_path>
注記Red Hat Enterprise Linux CoreOS 8 (RHCOS) ワーカーを使用する場合は、代わりに
MachineConfig
マニフェストを使用して SELinux を設定する必要があります。
手順
HostPathProvisioner
カスタムリソースファイルを作成します。以下に例を示します。$ touch hostpathprovisioner_cr.yaml
ファイルを編集し、
spec.pathConfig.path
の値がホストパスプロビジョナーが PV を作成するディレクトリーであることを確認します。以下に例を示します。apiVersion: hostpathprovisioner.kubevirt.io/v1beta1 kind: HostPathProvisioner metadata: name: hostpath-provisioner spec: imagePullPolicy: IfNotPresent pathConfig: path: "<backing_directory_path>" 1 useNamingPrefix: false 2
注記バッキングディレクトリーを作成していない場合、プロビジョナーはこの作成を試行します。
container_file_t
SELinux コンテキストを適用していない場合、これによりPermission denied
エラーが生じる可能性があります。openshift-cnv
namespace にカスタムリソースを作成します。$ oc create -f hostpathprovisioner_cr.yaml -n openshift-cnv