在 Openshift Data Foundation / Openshift Container Storage 中跳过 SELinux 重新标记的一个临时解决方案
Issue
-
默认情况下,OpenShift 命名空间被配置为具有不同的多类别安全(MCS) SELinux 设置。查看此安全上下文的一个简单方法是检查命名空间 yaml:
oc get project mds-test -o yaml | grep scc.mcs openshift.io/sa.scc.mcs: s0:c25,c20 f:openshift.io/sa.scc.mcs: {} -
此 SELinux 上下文由这些命名空间内运行的所有 pod 继承。由于此功能,绑定到这些 pod 的 PV 中的所有文件都需要相应地重新标记,以确保 SELinux 上下文与 pod 中的安全规范匹配。
-
当这些 PV 中的文件数大幅增长(甚至可能达到几百万), pod 会卡在
ContainerCreating阶段,因为这个过程相当漫长。这在 OCP 文章 当在 OpenShift 中使用具有高文件计数的持久性卷时,为什么 pod 无法启动或花费过多时间才达到 "Ready" 状态? 中完全涵盖了。本文中有两个可用的临时解决方案,必须作为解决此问题的第一步来遵循。 - 但是,由于 OCP 中的 bug,或者因为安全性限制,上述文档中列出的临时解决方案在某些情况下可能毫无用处。
- 从 ODF 方面来看,是否有任何可能适用的其它临时解决方案?
Environment
Red Hat OpenShift Container Platform (OCP) 4.x
Red Hat OpenShift Container Storage (OCS) 4.x
Red Hat OpenShift Data Foundation (ODF) 4.x
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.