26.4. ローカルプロビジョナーのデプロイ
プロビジョナーを起動する前に、すべてのローカルデバイスをマウントし、ストレージクラスとそれらのディレクトリーと共に ConfigMap を作成します。
ローカルプロビジョナーをデプロイします。
- local-storage-provisioner-template.yaml ファイルからローカルプロビジョナーをインストールします。
サービスアカウントを作成して、root ユーザーでの Pod 実行、hostPath ボリュームの使用をはじめ、SELinux コンテキストでローカルボリュームの監視、管理、消去ができるようにします。
oc create serviceaccount local-storage-admin oc adm policy add-scc-to-user privileged -z local-storage-admin
$ oc create serviceaccount local-storage-admin $ oc adm policy add-scc-to-user privileged -z local-storage-admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow プロビジョナー Pod で任意の Pod が作成したローカルボリュームのコンテンツを削除できるようにするには、root 権限と任意の SELinux コンテキストが必要です。 ホスト上の /mnt/local-storage パスにアクセスするには hostPath が必要です。
テンプレートをインストールします。
oc create -f https://raw.githubusercontent.com/openshift/origin/release-3.11/examples/storage-examples/local-examples/local-storage-provisioner-template.yaml
$ oc create -f https://raw.githubusercontent.com/openshift/origin/release-3.11/examples/storage-examples/local-examples/local-storage-provisioner-template.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CONFIGMAP
、SERVICE_ACCOUNT
,NAMESPACE
およびPROVISIONER_IMAGE
パラメーターに値を指定して、テンプレートをインスタンス化します。oc new-app -p CONFIGMAP=local-volume-config \ -p SERVICE_ACCOUNT=local-storage-admin \ -p NAMESPACE=local-storage \ -p PROVISIONER_IMAGE=registry.redhat.io/openshift3/local-storage-provisioner:v3.11 \ local-storage-provisioner
$ oc new-app -p CONFIGMAP=local-volume-config \ -p SERVICE_ACCOUNT=local-storage-admin \ -p NAMESPACE=local-storage \ -p PROVISIONER_IMAGE=registry.redhat.io/openshift3/local-storage-provisioner:v3.11 \
1 local-storage-provisioner
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
v3.11
など、お使いの OpenShift Container Platform バージョン番号を指定します。
必要なストレージクラスを追加します。
oc create -f ./storage-class-ssd.yaml oc create -f ./storage-class-hdd.yaml
$ oc create -f ./storage-class-ssd.yaml $ oc create -f ./storage-class-hdd.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
storage-class-ssd.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow storage-class-hdd.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
その他の設定オプションについては、ローカルストレージプロビジョナーのテンプレート を参照してください。このテンプレートは、すべてのノードで Pod を実行する DeamonSet を作成します。Pod は ConfigMap に指定されるディレクトリーを監視し、それらの PV を自動的に作成します。
このプロビジョナーは、PV が開放されると、変更されたディレクトリーからすべてのデータが削除されるので、Root パーミッションを使用して実行します。