7.9.2. namespace とノードレベルの sysctls
OpenShift Container Platform クラスターでは、ノード上の特定の Pod に適用される名前空間付き sysctl と、ノード全体に影響を与えるノードレベルの sysctl を使用できます。
Linux カーネルでは、一部の sysctl は 名前空間化され ています。これは、それらをノードの各 Pod に対して個別に設定できることを意味します。namespace の使用は、sysctl を Kubernetes 内の Pod 環境でアクセス可能にするための要件になります。
以下の sysctl は namespace を使用するものとして知られている sysctl です。
-
kernel.shm* -
kernel.msg* -
kernel.sem -
fs.mqueue.*
また、net.* グループの大半の sysctl には namespace が使用されていることが知られています。それらの namespace の使用は、カーネルのバージョンおよびディストリビューターによって異なります。
ノードレベルの sysctl は名前空間化されておらず、クラスター管理者が手動で設定する必要があります。設定方法は、ノードの基盤となる Linux ディストリビューションを使用するか (たとえば、/etc/sysctls.conf ファイルを変更するなど)、特権コンテナーで設定されたデーモンを使用するかのいずれかです。Node Tuning Operator を使用して、ノードレベルの sysctl を設定することもできます。
特殊な sysctl が設定されたノードに taint のマークを付けることを検討してください。それらの sysctl 設定を必要とするノードにのみ Pod をスケジュールします。taint および toleration 機能を使用してノードにマークを付けます。