3.4. ホストされたクラスターにおけるノードのチューニング設定
ホストされたコントロールプレーンは、テクノロジープレビュー機能としてのみ利用できます。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
				ホストされたクラスター内のノードでノードレベルのチューニングを設定するには、Node Tuning Operator を使用できます。ホストされたコントロールプレーンでは、Tuned オブジェクトを含む config map を作成し、ノードプールでそれらの config map を参照することで、ノードのチューニングを設定できます。
			
手順
- チューニングされた有効なマニフェストを含む config map を作成し、ノードプールでマニフェストを参照します。次の例で - Tunedマニフェストは、任意の値を持つ- tuned-1-node-labelノードラベルを含むノード上で- vm.dirty_ratioを 55 に設定するプロファイルを定義します。次の- ConfigMapマニフェストを- tuned-1.yamlという名前のファイルに保存します。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注記- Tuned 仕様の - spec.recommendセクションのエントリーにラベルを追加しない場合は、ノードプールベースのマッチングが想定されるため、- spec.recommendセクションの最も優先度の高いプロファイルがプール内のノードに適用されます。Tuned- .spec.recommend.matchセクションでラベル値を設定することにより、よりきめ細かいノードラベルベースのマッチングを実現できますが、ノードプールの- .spec.management.upgradeType値を- InPlaceに設定しない限り、ノードラベルはアップグレード中に保持されません。
- 管理クラスターに - ConfigMapオブジェクトを作成します。- oc --kubeconfig="$MGMT_KUBECONFIG" create -f tuned-1.yaml - $ oc --kubeconfig="$MGMT_KUBECONFIG" create -f tuned-1.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- ノードプールを編集するか作成して、ノードプールの - spec.tuningConfigフィールドで- ConfigMapオブジェクトを参照します。この例では、2 つのノードを含む- nodepool-1という名前の- NodePoolが 1 つだけあることを前提としています。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注記- 複数のノードプールで同じ config map を参照できます。Hosted Control Plane では、Node Tuning Operator が Tuned CR の名前にノードプール名と namespace のハッシュを追加して、それらを区別します。この場合を除き、同じホステッドクラスターの異なる Tuned CR に、同じ名前の複数の TuneD プロファイルを作成しないでください。 
検証
					Tuned マニフェストを含む ConfigMap オブジェクトを作成し、それを NodePool で参照したことで、Node Tuning Operator により Tuned オブジェクトがホステッドクラスターに同期されます。どの Tuned オブジェクトが定義されているか、どの TuneD プロファイルが各ノードに適用されているかを確認できます。
				
- ホステッドクラスター内の - Tunedオブジェクトをリスト表示します。- oc --kubeconfig="$HC_KUBECONFIG" get tuned.tuned.openshift.io -n openshift-cluster-node-tuning-operator - $ oc --kubeconfig="$HC_KUBECONFIG" get tuned.tuned.openshift.io -n openshift-cluster-node-tuning-operator- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - NAME AGE default 7m36s rendered 7m36s tuned-1 65s - NAME AGE default 7m36s rendered 7m36s tuned-1 65s- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- ホステッドクラスター内の - Profileオブジェクトをリスト表示します。- oc --kubeconfig="$HC_KUBECONFIG" get profile.tuned.openshift.io -n openshift-cluster-node-tuning-operator - $ oc --kubeconfig="$HC_KUBECONFIG" get profile.tuned.openshift.io -n openshift-cluster-node-tuning-operator- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - NAME TUNED APPLIED DEGRADED AGE nodepool-1-worker-1 tuned-1-profile True False 7m43s nodepool-1-worker-2 tuned-1-profile True False 7m14s - NAME TUNED APPLIED DEGRADED AGE nodepool-1-worker-1 tuned-1-profile True False 7m43s nodepool-1-worker-2 tuned-1-profile True False 7m14s- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注記- カスタムプロファイルが作成されていない場合は、 - openshift-nodeプロファイルがデフォルトで適用されます。
- チューニングが正しく適用されたことを確認するには、ノードでデバッグシェルを開始し、sysctl 値を確認します。 - oc --kubeconfig="$HC_KUBECONFIG" debug node/nodepool-1-worker-1 -- chroot /host sysctl vm.dirty_ratio - $ oc --kubeconfig="$HC_KUBECONFIG" debug node/nodepool-1-worker-1 -- chroot /host sysctl vm.dirty_ratio- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - vm.dirty_ratio = 55 - vm.dirty_ratio = 55- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow