Openshift Data Foundation/Openshift Container Storage で SELinux のラベル再設定をスキップするための回避策
Issue
-
Openshift namespace はデフォルトで、異なる Multi-Category Security (MCS) SELinux 設定を持つように設定されています。このセキュリティーコンテキストを確認する簡単な方法は、以下のように namespace 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 コンテキストは、これらの namespace 内で実行されているすべての Pod によって継承されています。この機能のため、これらの Pod にバインドされている PV 内のすべてのファイルは、SELinux コンテキストが Pod のセキュリティー仕様と一致するように、適切にラベルを再設定する必要があります。
-
これらの PV 内のファイル数が膨大になると (数百万に及ぶ場合もあります)、このプロセスは非常に時間がかかるため、Pod は
ContainerCreatingフェーズでスタックします。詳細は、OCP に関するソリューション記事 When using Persistent Volumes with high file counts in OpenShift, why do pods fail to start or take an excessive amount of time to achieve "Ready" state? に記載されています。この記事では、この問題を解決するための最初の手順として実行する必要がある 2 つの回避策について説明しています。 - ただし、OCP のバグまたはセキュリティー制限により、上記の記事に記載されている回避策が役に立たない場合があります。
- ODF 側から適用可能な別の回避策はありますか?
Environment
- Openshift Data Foundation、バージョン 4.9 以降
- Openshift Container Storage、バージョン 4.7 以降
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.