5.5. パフォーマンスの最適化
OpenShift Virtualization デプロイメントの特定の設定を変更して、効率、コスト効率、および信頼性を向上させることができます。
5.5.1. 仮想マシン用の完全な物理コアの設定 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は、異なる仮想マシンが同じ物理コアを共有できるようにするのではなく、完全な物理コアを特定の仮想マシン(VM)に割り当てることができます。完全な物理コアのみを使用するように仮想マシンを設定すると、高スループットまたはレイテンシークリティカルな仮想マシンのパフォーマンスを最適化できます。
SMT (同時マルチスレッド)対応システムでは、以下の利点があるため、完全な物理コアのみを割り当てることが重要です。
- ノイバーとリソースの競合を防止する
- パフォーマンスの低下を軽減する
- 予測可能なレイテンシーを提供する
- 排他的 CPU リソースの保証
KubeletConfig カスタムリソース(CR)の cpuManagerPolicy および cpuManagerPolicyOptions 設定を変更することで、完全な物理コア割り当てを設定できます。
前提条件
- OpenShift Virtualization がインストールされている OpenShift Container Platform クラスターにクラスター管理者としてアクセスできる。
-
OpenShift CLI (
oc) がインストールされている。 - 仮想マシンを実行するノードで CPU マネージャーを有効にしている。
手順
KubeletConfigCR を編集して、必要なcpuManagerPolicyおよびcpuManagerPolicyOptions設定を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
排他的な CPU 割り当てを有効にするには、
cpuManagerPolicy: staticポリシーを設定する必要があります。この設定は、cpuManagerPolicyOptions設定の前提条件です。 -
静的 CPU マネージャーポリシーが完全な物理コアのみを割り当てるように、
full-pcpus-only: trueポリシーオプションを設定する必要があります。 -
kubeReserved設定でcpu: "1" を設定して、システムに 1 つの CPU を予約する必要があります。これにより、システムのコア機能が常に正しく動作するために必要な CPU にアクセスできることを要求することで、クラスターが安定した状態を維持できます。
-
排他的な CPU 割り当てを有効にするには、
以下のコマンドを実行して変更を
KubeletConfigCR に適用します。oc apply -f <filename>.yaml
$ oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
以下のコマンドを実行して出力を検査して変更を適用したノードで kubelet 設定を検査します。
oc debug node/<node_name> -- chroot /host cat /etc/kubernetes/kubelet.conf | grep -E -A 2 'cpuManagerPolicy|kubeReserved'
$ oc debug node/<node_name> -- chroot /host cat /etc/kubernetes/kubelet.conf | grep -E -A 2 'cpuManagerPolicy|kubeReserved'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow