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 要允许 provisioner pod 删除任何 pod 创建的本地卷中的内容,需要 root 权限和任何 SELinux 上下文。hostPath 需要访问主机上的 /mnt/local-storage 路径。
安装模板:
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
- 提供 OpenShift Container Platform 版本号,如
v3.11
。
添加所需的存储类:
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 的 DaemonSet。pod 监视 ConfigMap 中指定的目录,并为它们自动创建 PV。
置备程序以 root 权限运行,因为它会在 PV 被释放时从修改的目录中删除所有数据。