OpenShift Container Storage is now OpenShift Data Foundation starting with version 4.9.
5.4.3.2. 仅修改具有挂载传统应用程序 PVC 的 pod 的部署配置的 SELinux 标签
使用
MustRunAs和seLinuxOptions选项创建一个新的scc,使用openshift-storage项目使用的 Multi Category Security(MCS):例 5.41. YAML 文件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f scc.yaml
$ oc create -f scc.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为部署创建一个服务帐户,并将其添加到新创建的
scc中。创建服务帐户:
oc create serviceaccount <service_account_name>
$ oc create serviceaccount <service_account_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <service_account_name>指定服务帐户的名称。
例 5.42. 示例
oc create serviceaccount testnamespacesa
$ oc create serviceaccount testnamespacesaCopy to Clipboard Copied! Toggle word wrap Toggle overflow
将服务帐户添加到新创建的
scc中:oc adm policy add-scc-to-user restricted-pvselinux -z <service_account_name>
$ oc adm policy add-scc-to-user restricted-pvselinux -z <service_account_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例 5.43. 示例
oc adm policy add-scc-to-user restricted-pvselinux -z testnamespacesa
$ oc adm policy add-scc-to-user restricted-pvselinux -z testnamespacesaCopy to Clipboard Copied! Toggle word wrap Toggle overflow
对传统应用程序部署进行补丁,使其使用新创建的服务帐户。现在,这允许您在部署中指定 SELinux 标签:
oc patch dc/<pod_name> '{"spec":{"template":{"spec":{"serviceAccountName": "<service_account_name>"}}}}'$ oc patch dc/<pod_name> '{"spec":{"template":{"spec":{"serviceAccountName": "<service_account_name>"}}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例 5.44. 示例
oc patch dc/cephfs-write-workload-generator-no-cache --patch '{"spec":{"template":{"spec":{"serviceAccountName": "testnamespacesa"}}}}'$ oc patch dc/cephfs-write-workload-generator-no-cache --patch '{"spec":{"template":{"spec":{"serviceAccountName": "testnamespacesa"}}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑部署,以指定要在部署配置的 SELinux 标签中使用的安全上下文:
oc edit dc <pod_name> -n <application_namespace>
$ oc edit dc <pod_name> -n <application_namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 添加以下行:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <security_context_value>当您执行 命令以在 NSFS 共享内为 S3 创建专用文件夹时,可以在 legacy 应用 Pod 的 CephFS PV 和 PVC 上创建一个专用文件夹时,即可找到这个值。
例 5.45. 示例
oc edit dc cephfs-write-workload-generator-no-cache -n testnamespace
$ oc edit dc cephfs-write-workload-generator-no-cache -n testnamespaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
确保正确在部署配置中的 SELinux 标签中使用安全上下文:
oc get dc <pod_name> -n <application_namespace> -o yaml | grep -A 2 securityContext
$ oc get dc <pod_name> -n <application_namespace> -o yaml | grep -A 2 securityContextCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例 5.46. 示例
oc get dc cephfs-write-workload-generator-no-cache -n testnamespace -o yaml | grep -A 2 securityContext
$ oc get dc cephfs-write-workload-generator-no-cache -n testnamespace -o yaml | grep -A 2 securityContextCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例 5.47. 输出示例
securityContext: seLinuxOptions: level: s0:c26,c0securityContext: seLinuxOptions: level: s0:c26,c0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 旧应用程序重启并开始使用与
openshift-storage命名空间相同的 SELinux 标签。