6.20.5. 動的プロビジョニング
Common Internet File System (CIFS) ダイアレクト/Server Message Block (SMB) プロトコルボリュームの動的プロビジョニング用のストレージクラスを作成できます。ボリュームをプロビジョニングすると、ストレージクラスで定義された source の下に永続ボリューム (PV) 名を持つサブディレクトリーが作成されます。
前提条件
- CIFS/SMB CSI Driver Operator およびドライバーがインストールされている。
- 実行中の OpenShift Container Platform クラスターにログインしている。
SMB サーバーをインストールしており、サーバーに関する次の情報を把握している。
- ホスト名
- 共有名
- ユーザー名およびパスワード
手順
動的プロビジョニングを設定するには、以下を行います。
以下のコマンドと次のサンプル YAML ファイルを使用して、Samba サーバーにアクセスするためのシークレットを作成します。
$ oc create -f <file_name>.yamlシークレット YAML ファイルの例
apiVersion: v1 kind: Secret metadata: name: smbcreds1 namespace: samba-server2 stringData: username: <username>3 password: <password>4 次のサンプル YAML ファイルを使用して次のコマンドを実行して、ストレージクラスを作成します。
$ oc create -f <sc_file_name>.yaml1 - 1 1
- ストレージクラス YAML ファイルの名前。
ストレージクラスのサンプル YAML ファイル
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: <sc_name>1 provisioner: smb.csi.k8s.io parameters: source: //<hostname>/<shares>2 csi.storage.k8s.io/provisioner-secret-name: smbcreds3 csi.storage.k8s.io/provisioner-secret-namespace: samba-server4 csi.storage.k8s.io/node-stage-secret-name: smbcreds5 csi.storage.k8s.io/node-stage-secret-namespace: samba-server6 reclaimPolicy: Delete volumeBindingMode: Immediate mountOptions: - dir_mode=0777 - file_mode=0777 - uid=1001 - gid=1001 - 2
- ストレージクラス名
- 3 5
- Samba サーバーをインストールし、クラスターからアクセスできるようにする必要があります。<`hostname>` は Samba サーバーのホスト名、
<shares>はエクスポートされた共有で使用するために設定したパスを表します。 - 4 6
- 前の手順で設定した Samba サーバーのシークレットの名前。
csi.storage.k8s.io/provisioner-secretが指定されている場合は、sourceの下に PV 名を持つサブディレクトリーが作成されます。 - 前の手順で設定した Samba サーバーのシークレットの namespace。
PVC を作成します。
次のサンプル YAML ファイルを使用して次のコマンドを実行し、PVC を作成します。
$ oc create -f <pv_file_name>.yaml1 次のコマンドを実行して、PVC が作成され、"バインド" ステータスになっていることを確認します。
$ oc describe pvc <pvc_name>1