40.3. 部署 Provisioners
您可以根据 OpenShift Ansible 变量中指定的配置,一次或一次部署所有置备程序。以下示例演示了如何部署给定置备程序,然后创建并配置对应的 StorageClass。
40.3.1. 部署 AWS EFS Provisioner
以下命令将 EFS 卷中的目录设置为 /data/persistentvolumes
。这个目录必须存在于文件系统中,且必须可以被 provisioner 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
每个动态置备的卷对应的 NFS 目录都会从范围 gidMin
-gidMax
中分配一个唯一的 GID 拥有者。如果没有指定,gidMin
默认为 2000
,gidMax
默认为 2147483647
。任何通过声明消耗置备的卷的 pod 会自动使用所需的 GID 作为补充组运行,并可读取和写入卷。其他没有补充组(且不是以 root 身份运行)的挂载者将无法对该卷进行读取或写入。有关使用补充组管理 NFS 访问的详情,请查看 NFS 卷安全主题的 组 ID 部分。