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


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

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

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

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

OpenShift Virtualization は、仮想マシン (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.20.1.2. AAQ による仮想マシンリソースの正確な測定

アプリケーション認識クォータ (AAQ)Operator は、仮想マシン (VM) が実際に使用する CPU とメモリーを測定します。ResourceQuota オブジェクトは、ハイパーバイザーが消費するリソースを含め、仮想マシン Pod 全体をカウントするため、仮想マシンの消費量を過大に表示します。

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

Kubernetes ResourceQuota
Pod レベルでリソース制限を計測し、適用します。仮想マシンに適用した場合、ハイパーバイザーと Pod インフラストラクチャーによって消費されるリソースを含む、仮想マシン Pod 全体のリソース消費量を測定するため、実際の仮想マシンリソース割り当ては反映されません。
Application Aware Quota (AAQ)
仮想マシンリソース消費量を正確に計測および適用できるように、ResourceQuota 機能を拡張します。AAQ は仮想化レイヤーを理解しており、Pod 自体が消費するリソースとは別に、仮想マシンに割り当てられた実際の仮想 CPU とメモリーを測定できます。

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

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

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

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

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

Web コンソールでアプリケーション認識クォータ (AAQ)Operator を有効にし、クォータ計算方法を選択してください。Web コンソールを使用することで、ハイパーコンバージド カスタムリソース (CR) を手動で編集する必要がなくなります。

前提条件

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

手順

  1. OpenShift Container Platform Web コンソールで、Virtualization Settings をクリックします。
  2. Resource Management で、Application Aware Quotas (AAQ) をオンに切り替えます。

    Operator のデプロイメントが自動的に開始されます。Operator Pod が実行されると、ステータスが Disabled から Enabled に変わります。

  3. オプション: Quota calculation method フィールドの横にある Edit アイコンをクリックして、計算方法を変更します。

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

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

検証

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

8.20.1.4. Web コンソールを使用して仮想マシンクォータを作成します。

OpenShift Container Platform の Web コンソールにあるガイド付きフォームを使用して、プロジェクトにおける仮想マシン (VM) リソースの使用を制限するアプリケーション認識クォータ (AAQ) を作成します。このフォームは、YAML を書かずにクォータ制限を設定する最も簡単な方法です。

前提条件

手順

  1. OpenShift Container Platform の Web コンソールで、Virtualization Quotas をクリックします。
  2. Create quota をクリックします。
  3. ドロップダウンメニューで With form を選択します。

    Create quota のフォームが表示されます。

  4. Name フィールドに、クォータの名前を入力します。

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

  5. このクォータを適用するプロジェクトを選択します。

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

    注記

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

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

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

    • 仮想リソース または 専用仮想リソースの クォータ計算方法の場合、クォータには Pod が消費するリソースは含まれません。

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

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

        注記

        ライブマイグレーションによって消費されるリソースは、仮想マシンインスタンス (VMI)Pod の使用 クォータ計算方法から除外されます。

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

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

検証

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

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

OpenShift Container Platform の Web コンソールにある [クォータ] ページを使用すると、クラスター内のすべてのアプリケーション認識クォータ (AAQ) のステータスと使用状況を表示したり、個々のプロジェクトを検索することなく、クォータを作成、編集、または削除したりできます。

前提条件

  • クラスター管理者の権限がある。
  • お使いのクラスターでは、アプリケーション認識クォータ Operator が有効になっています。
  • HyperConverged Operator (HCO) で設定されたラベルセレクターに一致する namespace に、少なくとも 1 つの Application Aware Quota が存在する。

手順

  1. OpenShift Container Platform の Web コンソールで、Virtualization Quotas をクリックします。

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

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

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

    注記

    クラスタースコープのクォータは、YAML を使用してのみ作成または編集できます。クラスタースコープのクォータは複雑であるため、フォームベースの作成機能には対応していません。

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

    1. Edit quota を選択してします。

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

    2. リソース制限の変更が完了したら、Save をクリックします。

      注記

      YAML 経由で詳細設定を行ってクォータを初期作成した場合、Edit quota をクリックすると、フォームではなく YAML エディターが開きます。

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

    1. クォータを削除するには、Delete をクリックします。

      警告

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

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

    1. ドロップダウンメニューからオプションを選択します。

      • With form: シンプルな仮想マシンクォータのユースケース向けに、フォームベースの作成画面を開きます。
      • With YAML: Pod の制限やその他のリソースタイプを含む高度なクォータ設定向けに YAML エディターを開きます。

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

OpenShift Container Platform の Web コンソールに あるクォータ詳細 ページを使用すると、アプリケーション認識クォータ (AAQ) のリソース制限、現在の使用状況、および利用状況チャートを確認できるため、プロジェクトが制限にどれだけ近づいているかを把握できます。

注記

クラスタースコープのクォータでは、必要な内容が複雑であるため、YAML 定義のみが表示されます。

前提条件

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

手順

  1. OpenShift Container Platform の Web コンソールで、Virtualization Quotas をクリックします。
  2. クォータ名をクリックすると、Quota details ビューが開きます。

    Quota details ビューには、ビジュアルインジケーター、クォータメタデータ、および表形式のデータが表示されます。

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

      注記

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

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

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る