|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
CPUピンニング
SUSE Virtualizationは仮想マシンのCPUピニングをサポートしています。この機能を使用するには、まずノードでCPUマネージャーを有効にし、仮想マシンを作成する際にCPUピニングを有効にする必要があります。
Kubernetes CPUマネージャー
CPUマネージャー機能は、KubernetesクラスターにおけるCPUリソースの割り当てを改善し、厳格なパフォーマンスニーズを持つワークロードが安定した予測可能なCPUリソースを受け取ることを保証します。これは特に高性能でレイテンシに敏感なアプリケーションにとって重要です。
SUSE Virtualizationは、CPUマネージャーが有効な場合に`static` CPUマネージャーポリシーを使用します。このポリシーは、次の構成を持つノード上のすべてのCPUを最初に含む共有CPUプールを管理します:
-
全CPUコアを要求する
GuaranteedQoSクラスのポッド(例:CPU:"2")には専用のCPUが割り当てられます。これらのCPUはポッドに「ピンニング」され、共有CPUプールから除外されます。 -
BurstableおよびBestEffortQoSクラスのポッドは、共有プール内の残りのCPUを共有します。
共有CPUプールの計算
SUSE Virtualizationは、 GKEの公式に基づいてシステムレベルの操作のためにCPUリソースを予約し、 systemReservedおよび kubeReservedの値を2:3の比率で割り当てます。
例(16 CPUコアのノード):
systemReserved: 408 millicores kubeReserved: 612 millicores
この例では、約15コア(14980ミリコア)がワークロードに利用可能です。
保証されたQoSクラスの仮想マシン(ポッド)が4つのCPUを要求すると、4つのコアがその仮想マシンに専用されます。他のQoSクラスのポッドは、共有プール内の残りの11コアを共有します。
CPUマネージャーの有効化と無効化
CPUマネージャーを有効にすると、SUSE VirtualizationはCPUマネージャーポリシーを`static`に設定します。機能を無効にすると、SUSE VirtualizationはCPUマネージャーポリシーを`none`に戻します。
各ノードでCPUマネージャーを個別に有効または無効にする必要があります。
-
SUSE Virtualization UIで、*ホスト*に移動します。
-
リスト内のノードを見つけて、*⋮ → CPUマネージャーを有効にする*または*CPUマネージャーを無効にする*を選択します。
SUSE Virtualizationが対応するCPUマネージャーポリシーを適用するまで、しばらくお待ちください。
新しい仮想マシンでCPUピンニングを有効にする
-
1つ以上のノードでCPUマネージャーが有効になっていることを確認します。
少なくとも1つのノードでCPUマネージャーが有効でない場合、仮想マシンは起動後に`Unschedulable`状態でフリーズします。詳細については、関連するCPUピンニングの概念を参照してください。
-
*仮想マシン*に移動します。
-
[作成]をクリックします。
-
*詳細オプション*タブで、*CPUピンニングを有効にする*を選択します。
-
[保存]をクリックします。
CPUピンニングを有効にすると、仮想マシンの設定(YAML)に`dedicatedCpuPlacement: true`が`.spec.template.spec.domain.cpu`として追加されます。`dedicatedCpuPlacement`が`true`に設定されている場合、CPUおよびメモリリソースの要求は自動的に制限に合わせて設定され、保証されたQoSの基準が満たされるようになります。
要求と制限が同一であるため、CPUピンニングが有効な仮想マシンにはCPUおよびメモリリソースオーバーコミット設定は適用されません。
|
既存の仮想マシンでCPUピンニングを使用するには、機能を有効にして変更を保存した後に仮想マシンを再起動する必要があります。 |