12.5.3. KubeletConfig CR の作成
単一の NUMA ノードポリシーを設定するには、KubeletConfig カスタムリソース (CR) を作成して適用します。パフォーマンスプロファイルの適用が推奨されますが、代替手段として、クラスター上の設定を手動で管理することも可能です。
手順
マシンプロファイルの Pod アドミタンスポリシーを設定する
KubeletConfigカスタムリソース (CR) を作成します。以下の YAML を
nro-kubeletconfig.yamlファイルに保存します。apiVersion: machineconfiguration.openshift.io/v1 kind: KubeletConfig metadata: name: worker-tuning spec: machineConfigPoolSelector: matchLabels: pools.operator.machineconfiguration.openshift.io/worker: "" kubeletConfig: cpuManagerPolicy: "static" cpuManagerReconcilePeriod: "5s" reservedSystemCPUs: "0,1" memoryManagerPolicy: "Static" evictionHard: memory.available: "100Mi" kubeReserved: memory: "512Mi" reservedMemory: - numaNode: 0 limits: memory: "1124Mi" systemReserved: memory: "512Mi" topologyManagerPolicy: "single-numa-node"ここでは、以下のようになります。
spec.machineConfigPoolSelector.matchLabels.pools.operator.machineconfiguration.openshift.io/worker-
このラベルが、後ほど NUMAResourcesOperator カスタムリソースの作成で設定する
NUMAResourcesOperatorCR のmachineConfigPoolSelector設定と一致することを指定します。 spec.kubeletConfig.cpuManagerPolicy-
静的な値を指定します。小文字のsを使用する必要があります。 spec.kubeletConfig.reservedSystemCPUs- ノードの CPU に基づいて、このフィールドを調整してください。
spec.kubeletConfig.memoryManagerPolicy-
静的を指定します。大文字のSを使用する必要があります。 spec.kubeletConfig.topologyManagerPolicy値を
single-numa-nodeとして指定します。注記Hosted Control Plane クラスターの場合、
machineConfigPoolSelector設定は機能しません。代わりに、ノードの関連付けは指定されたNodePoolオブジェクトによって決定されます。Hosted Control Plane クラスターにKubeletConfigを適用するには、設定を含むConfigMapを作成し、NodePoolのspec.configフィールド内でそのConfigMapを参照する必要があります。
以下のコマンドを実行して
KubeletConfigCR を作成します。$ oc create -f nro-kubeletconfig.yaml注記パフォーマンスプロファイルまたは
KubeletConfigを適用すると、ノードの再起動が自動的にトリガーされます。再起動がトリガーされない場合は、ノードグループに対応するKubeletConfigのラベルを確認して、問題のトラブルシューティングを実施できます。