10.10. カーネルブートパラメーターを設定することによる、ホステッドクラスターの高度なノードチューニング
カーネルブートパラメーターの設定が必要な、ホストされたコントロールプレーンでのより高度なチューニングは、Node Tuning Operator を使用することもできます。次の例は、Huge Page が予約されたノードプールを作成する方法を示しています。
手順
サイズが 2 MB の 10 個の Huge Page を作成するための
Tunedオブジェクトマニフェストを含むConfigMapオブジェクトを作成します。このConfigMapマニフェストをtuned-hugepages.yamlという名前のファイルに保存します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記.spec.recommend.matchフィールドは意図的に空白のままにしています。この場合、このTunedオブジェクトは、このConfigMapオブジェクトが参照されているノードプール内のすべてのノードに適用されます。同じハードウェア設定を持つノードを同じノードプールにグループ化します。そうしないと、TuneD オペランドは、同じノードプールを共有する 2 つ以上のノードに対して競合するカーネルパラメーターを計算する可能性があります。管理クラスターに
ConfigMapオブジェクトを作成します。oc --kubeconfig="<management_cluster_kubeconfig>" create -f tuned-hugepages.yaml
$ oc --kubeconfig="<management_cluster_kubeconfig>" create -f tuned-hugepages.yaml1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<management_cluster_kubeconfig>を管理クラスターのkubeconfigファイルの名前に置き換えます。
NodePoolマニフェスト YAML ファイルを作成し、NodePoolのアップグレードタイプをカスタマイズして、spec.tuningConfigセクションで作成したConfigMapオブジェクトを参照します。NodePoolマニフェストを作成し、hcpCLI を使用してhugepages-nodepool.yamlという名前のファイルに保存します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記hcp createコマンドの--renderフラグはシークレットをレンダリングしません。シークレットをレンダリングするには、hcp createコマンドで--renderフラグと--render-sensitiveフラグの両方を使用する必要があります。hugepages-nodepool.yamlファイルで、.spec.management.upgradeTypeをInPlaceに設定し、作成したtuned-hugepagesConfigMapオブジェクトを参照するように.spec.tuningConfigを設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記新しい
MachineConfigオブジェクトを適用するときに不要なノードの再作成を回避するには、.spec.management.upgradeTypeをInPlaceに設定します。Replaceアップグレードタイプを使用する場合、ノードは完全に削除され、TuneD オペランドが計算した新しいカーネルブートパラメーターを適用すると、新しいノードでノードを置き換えることができます。管理クラスターに
NodePoolを作成します。oc --kubeconfig="<management_cluster_kubeconfig>" create -f hugepages-nodepool.yaml
$ oc --kubeconfig="<management_cluster_kubeconfig>" create -f hugepages-nodepool.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ノードが使用可能になると、コンテナー化された TuneD デーモンが、適用された TuneD プロファイルに基づいて、必要なカーネルブートパラメーターを計算します。ノードの準備が整い、一度再起動して生成された MachineConfig オブジェクトを適用したら、TuneD プロファイルが適用され、カーネルブートパラメーターが設定されていることを確認できます。
ホステッドクラスター内の
Tunedオブジェクトをリスト表示します。oc --kubeconfig="<hosted_cluster_kubeconfig>" get tuned.tuned.openshift.io \ -n openshift-cluster-node-tuning-operator
$ oc --kubeconfig="<hosted_cluster_kubeconfig>" get tuned.tuned.openshift.io \ -n openshift-cluster-node-tuning-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME AGE default 123m hugepages-8dfb1fed 1m23s rendered 123m
NAME AGE default 123m hugepages-8dfb1fed 1m23s rendered 123mCopy to Clipboard Copied! Toggle word wrap Toggle overflow ホステッドクラスター内の
Profileオブジェクトをリスト表示します。oc --kubeconfig="<hosted_cluster_kubeconfig>" get profile.tuned.openshift.io \ -n openshift-cluster-node-tuning-operator
$ oc --kubeconfig="<hosted_cluster_kubeconfig>" get profile.tuned.openshift.io \ -n openshift-cluster-node-tuning-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME TUNED APPLIED DEGRADED AGE nodepool-1-worker-1 openshift-node True False 132m nodepool-1-worker-2 openshift-node True False 131m hugepages-nodepool-worker-1 openshift-node-hugepages True False 4m8s hugepages-nodepool-worker-2 openshift-node-hugepages True False 3m57s
NAME TUNED APPLIED DEGRADED AGE nodepool-1-worker-1 openshift-node True False 132m nodepool-1-worker-2 openshift-node True False 131m hugepages-nodepool-worker-1 openshift-node-hugepages True False 4m8s hugepages-nodepool-worker-2 openshift-node-hugepages True False 3m57sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しい
NodePoolの両方のワーカーノードには、openshift-node-hugepagesプロファイルが適用されています。チューニングが正しく適用されたことを確認するには、ノードでデバッグシェルを起動し、
/proc/cmdlineを確認します。oc --kubeconfig="<hosted_cluster_kubeconfig>" \ debug node/nodepool-1-worker-1 -- chroot /host cat /proc/cmdline
$ oc --kubeconfig="<hosted_cluster_kubeconfig>" \ debug node/nodepool-1-worker-1 -- chroot /host cat /proc/cmdlineCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
BOOT_IMAGE=(hd0,gpt3)/ostree/rhcos-... hugepagesz=2M hugepages=50
BOOT_IMAGE=(hd0,gpt3)/ostree/rhcos-... hugepagesz=2M hugepages=50Copy to Clipboard Copied! Toggle word wrap Toggle overflow