8.13. 高度な仮想マシン管理


8.13.1. 仮想マシンのリソースクォータの使用

オーバーコミットを防ぎ、ワークロードの安定したパフォーマンスを確保するために、仮想マシンのリソース消費を管理および制御します。

仮想マシンのリソースクォータの作成および管理

8.13.1.1. CLI を使用して仮想マシンのリソースクォータ制限を設定する

デフォルトでは、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% 大きい値である必要があります。

手順

  1. 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
    仮想マシン内のゲストオペレーティングシステムに表示される実際の RAM 容量を指定します。
    spec.template.spec.domain.resources.limits.memory

    仮想マシンをホストする virt-launcher Pod による総メモリー消費量のハードリミットを指定します。この制限には、ゲストオペレーティングシステムの RAM 容量とハイパーバイザーの実行時リソース消費量の両方を考慮する必要があります。

    この設定例は、spec.template.spec.domain.resources.limits.memory の値が spec.template.spec.domain.memory.guest の値より少なくとも 100Mi 大きいためサポートされています。

  2. VirtualMachine マニフェストを保存します。

8.13.1.2. アプリケーション認識型クォータ Operator の理解

アプリケーション認識クォータ (AAQ) オペレーターは、Kubernetes ネイティブの ResourceQuota を 拡張し、Pod と仮想マシン (仮想マシン) が混在する環境における仮想マシンリソースの消費量を測定します。

AAQ は、仮想化ワークロード向けに設計されたクォータ強制機能を提供します。

Kubernetes リソースクォータ
Pod レベルでのリソース制限を測定し、適用します。仮想マシンに適用した場合、ハイパーバイザーのオーバーヘッドや Pod のインフラストラクチャーを含む、仮想マシン Pod 全体の資源消費量を測定するため、実際の仮想マシンリソース割り当ては反映されません。
アプリケーション認識型クォータ (AAQ)
ResourceQuota の機能を拡張し、仮想マシンのリソース消費量を正確に測定および強制します。AAQ は仮想化レイヤーを理解しており、Pod のオーバーヘッドとは別に、仮想マシンに割り当てられた実際の仮想 CPU とメモリーを測定できます。

AAQ は 2 種類のクォータをサポートしています。

プロジェクト範囲に応じたクォータ
特定のネームスペースまたはプロジェクトにリソース制限を適用します。これらは、仮想化ワークロードの最も一般的な使用例です。
クラスタースコープのクォータ
クラスター全体にリソース制限を適用します。これらは、クラスター全体にわたるリソースの強制適用が必要な高度なシナリオで役立ちます。

AAQ を有効にする場合は、クォータ計算方法を設定する必要があります。この設定は、AAQ がクラスター全体で仮想マシンリソースの消費量を測定する方法を決定します。

仮想リソース
Pod の実行時オーバーヘッドを除いた、仮想マシン (VM) に割り当てられた仮想 CPU とメモリーのみを測定します。これは仮想化ワークロードのデフォルトオプションです。
仮想マシンインスタンス (VMI)Pod の使用状況
仮想マシンと Pod の実行時オーバーヘッドの両方を含め、VMPod の仮想 CPU とメモリーの総消費量を測定します。
専用の仮想リソース
仮想マシンおよびそれらに関連付けられた Pod に割り当てられた仮想 CPU とメモリーのリソースを測定し、各タイプごとにクォータの使用状況を個別に追跡します。

8.13.1.3. アプリケーション認識クォータ Operator を有効にする

アプリケーション認識クォータ (AAQ) オペレータを有効にしてリソースクォータを管理し、ネイティブのリソース管理機能を拡張します。Web コンソールから AAQ を有効にすると、CLI を使用して HyperConverged カスタムリソースを手動で編集する必要がなくなります。

前提条件

  • クラスター管理者の権限がある。
  • OpenShift Virtualization オペレーターがインストールされ、実行されています。

手順

  1. OpenShift Dedicated の Web コンソールで、[仮想化] [設定] をクリックします。
  2. リソース管理 で、アプリケーション認識クォータ (AAQ) をオンに切り替えます。

    オペレーターデプロイメントは自動的に起動します。オペレーター Pod が実行されると、ステータスが 無効 から 有効 に変わります。

  3. オプション: クォータ計算方法 フィールドの横にある 編集 アイコンをクリックすると、計算方法を変更できます。

    以下のオプションを含むモーダルダイアログが表示されます。

    • 仮想リソース: 仮想マシン (VM) に割り当てられた仮想 CPU とメモリーのみを測定し、Pod の実行時オーバーヘッドは除外します。これは仮想化ワークロードのデフォルトオプションです。
    • 仮想マシンインスタンス (VMI)Pod の使用状況: 仮想マシンと Pod の実行時オーバーヘッドの両方を含め、仮想マシン Pod の仮想 CPU とメモリーの合計消費量を測定します。
    • 専用仮想リソース: 仮想マシンおよびそれに関連付けられた Pod に割り当てられた仮想 CPU およびメモリーリソースを測定し、各タイプごとにクォータの使用状況を個別に追跡します。
  4. ご希望のクォータ計算方法を選択し、保存 をクリックしてください。

検証

  1. 左側のナビゲーションメニューの 仮想化 の下に、新しい クォータ オプションが表示されていることを確認してください。これは、AAQ がクォータの作成と管理に対応できる状態にあることを示しています。

8.13.1.4. Web コンソールを使用して仮想マシンのクォータを作成する

OpenShift Dedicated Web コンソールのガイド付きフォームを使用すると、仮想マシンのリソース消費を制限するアプリケーション認識クォータ (AAQ) クォータを作成できます。この形式は、シンプルな仮想化クォータの使用例において推奨される方法です。

前提条件

  • クラスター管理者の権限がある。
  • お使いのクラスターでは、アプリケーション認識クォータ演算子が有効になっています。アプリケーション認識クォータ演算子の有効化を 参照してください。
  • クォータを作成するプロジェクトはすでに存在します。

手順

  1. OpenShift Dedicated の Web コンソールで、[仮想化] [クォータ] をクリックします。
  2. クォータを作成 をクリックします。
  3. ドロップダウンメニューで フォーム付き を選択します。

    クォータ作成フォームが表示されます。

  4. 名前 欄に、クォータの名前を入力してください。

    そのプロジェクト内で一意な名前にする必要があります。

  5. このクォータを適用するプロジェクトを選択してください。

    デフォルトでは、現在のプロジェクトが選択されます。必要に応じて、ドロップダウンメニューをクリックして別のプロジェクトを選択できます。

    注記

    選択したプロジェクトに Kubernetes の リソースクォータが すでに存在する場合、既存のリソースクォータを表示するためのリンクを含むアラートが表示されます。AAQ クォータを作成することは可能ですが、両方のクォータがプロジェクトに適用されます。

  6. クォータの CPU、メモリー、および VMI の制限を設定します。

    表示される項目は、選択したクォータ計算方法によって異なります。以下に例を示します。

    • 仮想リソース または 専用仮想リソースの クォータ計算方法の場合、クォータには Pod のオーバーヘッドは含まれません。

      • 仮想 CPU 割り当て フィールドを使用して、インフラストラクチャーのオーバーヘッドを除いて、プロジェクト内のすべての仮想マシンに許可される仮想 CPU の最大数を設定します。
      • 仮想メモリー割り当て フィールドを使用して、インフラストラクチャーのオーバーヘッドを除いた最大メモリー容量を GiB 単位で設定します。
      • VMI 制限 フィールドを使用して、仮想マシンインスタンスの最大数を設定します。
    • 仮想マシンインスタンス (VMI) の Pod 使用 量クォータ計算方法では、クォータには Pod のオーバーヘッドが含まれます。

      • CPU 割り当て フィールドを使用して、仮想マシンワークロードを実行する Pod の最大 CPU コア数を設定します。
      • 仮想マシンワークロードを実行する Pod の最大メモリー容量を GiB 単位で設定するには、メモリー割り当て フィールドを使用します。
      • VMI 制限 フィールドを使用して、仮想マシンインスタンスの最大数を設定します。

        注記

        ライブマイグレーションのオーバーヘッドは、仮想マシンインスタンス (VMI)Pod の使用 クォータ計算方法から除外されます。

  7. 設定を確認し、Create をクリックします。

    クォータが作成され、クォータの詳細ページにリダイレクトされます。新しいクォータが有効になり、選択されたプロジェクト内の仮想マシンにリソース制限が適用されます。

検証

  1. OpenShift Dedicated の Web コンソールで、[仮想化] [クォータ] をクリックします。
  2. クォータリストで、新しく作成したクォータを探してください。
  3. クォータ名がリストに表示され、正しいプロジェクトとリソース制限が設定されていることを確認してください。
  4. クォータ名をクリックすると詳細ページが開きますので、すべての設定が正しいことを確認してください。

8.13.1.5. リストビューを使用して仮想マシンのクォータを管理する

OpenShift Dedicated Web コンソールのアプリケーション認識クォータ (AAQ) クォータページでは、AAQ オペレーターによって管理されるすべてのクォータを一元的に表示できます。このページから、クォータ状況、使用状況を確認したり、クォータの編集や削除などの管理操作を実行したりできます。

前提条件

  • クラスター管理者の権限がある。
  • お使いのクラスターでは、アプリケーション認識クォータ演算子が有効になっています。
  • ハイパーコンバージド Operator (HCO) で設定されたラベルセレクターに一致する名前空間に、少なくとも 1 つのアプリケーション認識クォータが存在します。

手順

  1. OpenShift Dedicated の Web コンソールで、[仮想化] [クォータ] をクリックします。

    クォータリストビューが表示され、デフォルトではプロジェクトスコープのすべての AAQ クォータが表示されます。

  2. クラスター スコープのクォータを表示するには、クラスタースコープのクォータ タブをクリックします。

    このタブは、クラスタースコープのクォータがクラスター内で定義されている場合にのみ表示されます。

    注記

    クラスタースコープのクォータは、YAML を使用してのみ作成または編集できます。フォームベースの作成オプションは、クラスタースコープのクォータについては、その複雑さゆえに利用できません。

  3. 特定のクォータに関する詳細情報を表示するには、クォータ名をクリックしてクォータの詳細ページを開きます。
  4. クォータを編集するには、クォータ行の末尾にあるオプションメニュー kebab をクリックします。

    1. クォータの編集 を選択してください。

      編集フォームには、現在のクォータ設定が表示されます。

    2. リソース制限の変更が完了したら、保存 をクリックしてください。

      注記

      クォータが最初に YAML による詳細設定で作成された場合、[クォータの編集] を クリックすると、フォームではなく YAML エディターが開きます。

  5. クォータを削除するには、クォータ行の末尾にあるオプションメニュー kebab をクリックし、[クォータの削除] を 選択します。確認ダイアログが表示されます。

    1. クォータを削除するには、削除 をクリックしてください。

      警告

      クォータを削除すると、そのクォータに対するすべてのリソース制限が解除されます。影響を受けるプロジェクト内の仮想マシンは、クォータ制限の対象外となります。

  6. リストビューから新しいクォータを作成するには、[クォータの作成] をクリックします。

    1. ドロップダウンメニューからオプションを選択してください。

      • フォームを使用する場合: シンプルな仮想マシンクォータの使用例向けに、フォームベースの作成エクスペリエンスを開きます。
      • YAML を使用する場合:Pod の制限やその他のリソースタイプを含む高度なクォータ設定用の YAML エディターを開きます。

8.13.1.6. Web コンソールを使用して仮想マシンクォータの詳細を管理する

OpenShift Dedicated Web コンソールのクォータ詳細ページには、リソース制限、現在の使用状況、クォータ容量の消費状況の視覚化など、アプリケーション認識クォータ (AAQ) に関する情報が表示されます。

注記

クラスタースコープのクォータは、これらのクォータに必要な複雑さのため、YAML 定義のみを表示します。

前提条件

  • クラスター管理者の権限がある。
  • お使いのクラスターでは、アプリケーション認識クォータ演算子が有効になっています。
  • お使いのクラスターには、アプリケーション認識型クォータが存在します。

手順

  1. OpenShift Dedicated の Web コンソールで、[仮想化] [クォータ] をクリックします。
  2. クォータ名をクリックすると、クォータの詳細 ビューが開きます。

    クォータ詳細 ビューには、視覚的な指標、クォータメタデータ、および表形式のデータが表示されます。

    • 円形の利用状況チャートは、プロジェクトにおけるリソース消費量を視覚的に表します。
    • 詳細 要素には、クォータ名、スコープ、適用されたラベル、プロジェクトなどのメタデータが含まれます。
    • クォータ詳細 要素は、各リソースタイプの現在および最大使用率を表示する表形式のビューを提供します。

      注記

      この AAQ クォータと同じプロジェクトに Kubernetes ResourceQuota も存在する場合、詳細ページの上部に ResourceQuota を表示するためのリンクを含むアラートが表示されます。クォータは両方ともプロジェクトに同時に適用されます。

  3. オプション: YAML タブをクリックして、クォータのリソース設定を確認してください。
  4. オプション: アクション パネルを使用して、クォータを編集または削除します。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る