9.15. 高度な仮想マシン管理
9.15.1. 仮想マシンのリソースクォータの使用 リンクのコピーリンクがクリップボードにコピーされました!
仮想マシンのリソースクォータの作成および管理
9.15.1.1. 仮想マシンのリソースクォータ制限の設定 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、OpenShift Virtualization は、制限を設定する必要があるリソースクォータを namespace が強制する場合、仮想マシン (VM) の CPU およびメモリー制限を自動的に管理します。メモリー制限は要求されたメモリーの 2 倍に自動的に設定され、CPU 制限は仮想 CPU ごとに 1 に設定されます。
alpha.kubevirt.io/auto-memory-limits-ratio ラベルを namespace に追加することで、特定の namespace のメモリー制限比率をカスタマイズできます。たとえば、次のコマンドはメモリー制限比率を 1.2 に設定します。
$ oc label ns/my-virtualization-project alpha.kubevirt.io/auto-memory-limits-ratio=1.2
リソースクォータ制限を手動で管理することは避けてください。誤った設定やスケジュールの問題を防ぐには、デフォルトをオーバーライドする必要がある場合を除き、OpenShift Virtualization が提供する自動リソース制限管理を利用してください。
requests のみを使用するリソースクォータは、仮想マシンで自動的に機能します。リソースクォータで制限を使用する場合は、仮想マシンに手動でリソース制限を設定する必要があります。spec.template.spec.domain.resources.limits.memory の値で定義されるメモリーリソースの制限は、少なくとも 500 MiB、または spec.template.spec.domain.memory.guest の値より 2% 大きい値である必要があります。
手順
VirtualMachineマニフェストを編集して、VM の制限を設定します。以下に例を示します。apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: with-limits spec: runStrategy: Halted template: spec: domain: memory: guest: 128Mi resources: limits: memory: 256Mi以下は、
- spec.template.spec.domain.memory.guest
- 仮想マシン内のゲストオペレーティングシステム (OS) に表示される実際の RAM 容量を指定します。
- spec.template.spec.domain.resources.limits.memory
仮想マシンをホストする
virt-launcherPod による総メモリー消費量のハードリミットを指定します。この制限では、ゲスト OS の RAM とハイパーバイザーのオーバーヘッドの両方を考慮する必要があります。この設定例は、
spec.template.spec.domain.resources.limits.memoryの値がspec.template.spec.domain.memory.guestの値より少なくとも100Mi大きいためサポートされています。
-
VirtualMachineマニフェストを保存します。