Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

40.3. プロビジョナーのデプロイ

OpenShift Ansible 変数で指定される設定に従って、すべてのプロビジョナーを同時にデプロイすることも、プロビジョナーを 1 つずつデプロイすることもできます。以下の例では、指定されたプロビジョナーをデプロイして、対応する StorageClass を作成し、設定する方法を示します。

40.3.1. AWS EFS プロビジョナーのデプロイ

以下のコマンドは、EFS ボリューム内のディレクトリーを /data/persistentvolumes に設定します。このディレクトリーはファイルシステム内に存在している必要があり、プロビジョナー Pod によってマウントや書き込みができる必要があります。Playbook ディレクトリーに切り替え、以下の Playbook を実行します。

$ cd /usr/share/ansible/openshift-ansible
$ ansible-playbook -v -i <inventory_file> \
    playbooks/openshift-provisioners/config.yml \
   -e openshift_provisioners_install_provisioners=True \
   -e openshift_provisioners_efs=True \
   -e openshift_provisioners_efs_fsid=fs-47a2c22e \
   -e openshift_provisioners_efs_region=us-west-2 \
   -e openshift_provisioners_efs_aws_access_key_id=AKIAIOSFODNN7EXAMPLE \
   -e openshift_provisioners_efs_aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY \
   -e openshift_provisioners_efs_path=/data/persistentvolumes

40.3.1.1. AWS EFS オブジェクト定義

aws-efs-storageclass.yaml

kind: StorageClass
apiVersion: storage.k8s.io/v1beta1
metadata:
  name: slow
provisioner: openshift.org/aws-efs 1
parameters:
  gidMin: "40000" 2
  gidMax: "50000" 3

1
この値を openshift_provisioners_efs_name 変数と同じ値に設定します。 デフォルトは openshift.org/aws-efs です。
2
StorageClass の GID 範囲の最小値です。(オプション)
3
StorageClass の GID 範囲の最大値です。(オプション)

動的にプロビジョニングされた各ボリュームに対応する NFS ディレクトリーには、gidMin から gidMax の範囲に一意の GID 所有者が割り当てられます。指定されない場合、デフォルトで gidMin2000gidMax2147483647 になります。要求によってプロビジョニングされるボリュームを使用するすべての Pod は、必要な GID を補助グループとして自動的に実行され、ボリュームの読み取り/書き込みができます。補助グループを持たない (かつルートとして実行されていない) 他のマウンターは、ボリュームの読み取り/書き込みはできません。補助グループを使用して NFS アクセスを管理する方法については、グループ ID セクションの NFS ボリュームセキュリティーのトピックを参照してください。