第5章 インストール後の設定


5.1. インストール後の自動設定の実行

virt-platform-autopilot コントローラーは、仮想化プラットフォームおよびインストールされたオプションコンポーネントに事前定義されたデフォルト値を自動適用することで、インストール後の手動設定作業を不要にします。マネージド設定は、カスタマイズしたり、オプトアウトしたりできます。

5.1.1. インストール後の自動設定の仕組み

OpenShift Virtualization をインストールすると、virt-platform-autopilot コントローラーがマネージドリソースを継続的にリコンサイルして期待される状態を維持し、設定のずれを修正します。また、インストールされている場合は、Kube Descheduler Operator や Cluster Observability Operator などのオプションコンポーネントも設定します。

virt-platform-autopilot コントローラーは、以下の設定を管理します。

負荷を考慮したデスケジューラー
Kube Descheduler Operator を設定し、CPU とメモリーの使用状況に基づいて、仮想マシン (VM) のワークロードをノード間でバランスさせるようにします。Kube Descheduler Operator がインストールされている必要があります。
可観測性の強化
OpenShift Container Platform の Web コンソールに、Prometheus アラートルールと高度な Perses ダッシュボードを追加することで、オブザーバビリティーを向上させます。
スワップの有効化
OpenShift Container Platform のワーカーノードが、仮想化ワークロードに対してスワップを安全に使用できるようにします。スワップ機能を使用するには、事前にプロビジョニングされた専用ストレージが利用可能である必要があります。

5.1.1.1. ソフト依存関係モデル

virt-platform-autopilot コントローラーは、オプションのコンポーネントをインストールしません。これは、クラスターにすでにインストールされているコンポーネントを設定します。オプションコンポーネントがインストールされていない場合、virt-platform-autopilot コントローラーはその設定をスキップし、エラーなく処理を続行します。

後からオプションコンポーネントをインストールすると、virt-platform-autopilot コントローラーは次のリコンシリエーションサイクルでそれを検出し、関連する設定を自動的に適用します。

5.1.1.2. リコンシリエーションとスラッシング防止の動作

virt-platform-autopilot コントローラーは、マネージドリソースを継続的にリコンサイルし、期待される状態を維持します。外部プロセスがマネージドリソースを変更した場合、virt-platform-autopilot コントローラーは変更を検知し、期待される状態を復元します。

スラッシングを防ぐため、virt-platform-autopilot コントローラーは、マネージドリソースに対する変更の頻度を監視します。virt-platform-autopilot コントローラーが急激な変更または繰り返しの変更を検出した場合、影響を受けるリソースのリコンシリエーションを一時停止します。これにより、virt-platform-autopilot コントローラーと別のコントローラーが互いの変更を繰り返し上書きするループを防ぐことができます。kubevirt_autopilot_paused_resources メトリクスを使用すると、一時停止中のリソースを監視できます。

5.1.2. マネージド設定のカスタマイズまたはオプトアウト

virt-platform-autopilot コントローラーは、推奨されるデフォルト値を適用しますが、ご使用の環境に合わせてマネージド設定をオーバーライドすることも可能です。

z

リソースのリコンシリエーションの停止
リソースの作成後にコントローラーがリコンサイルを行わないようにするには、そのリソースを管理対象外としてマークします。該当リソースの設定に関する完全な設定責任は、ユーザーが持つことになります。

これらのアプローチは、同じクラスター内の異なるリソース間で組み合わせることができます。

5.1.2.1. リソースを virt-platform-autopilot コントローラーによる管理対象からを除外する

無効化されたリソースは、virt-platform-autopilot コントローラーによって自動的に作成またはリコンサイルされません。HyperConverged カスタムリソース (CR) でコントローラーを無効にすることで、コントローラーがリソースを作成またはリコンサイルするのを防ぎます。

前提条件

  • OpenShift CLI (oc) がインストールされている。
  • cluster-admin 特権を持つユーザーとしてクラスターにログインしている。
  • virt-platform-autopilot コントローラーがクラスター上で有効になっている。

手順

  1. HyperConverged CR を編集し、platform.kubevirt.io/disabled-resources アノテーションにリソースを追加します。

    HyperConverged CR の例:

    apiVersion: hco.kubevirt.io/v1beta1
    kind: HyperConverged
    metadata:
      annotations:
        platform.kubevirt.io/disabled-resources: |
          - kind: KubeDescheduler
            name: cluster
          - kind: MachineConfig
            name: 90-worker-swap-online
  2. 次のコマンドを実行して、HyperConverged CR に変更を適用します。

    $ oc apply -f <filename>.yaml

5.1.2.2. マネージドリソースの特定の値をカスタマイズする

調整済み設定の上に JSON パッチを適用することで、管理対象リソース内の特定の値をカスタマイズし、カスタム設定を保持できます。

重要

管理対象外のリソースを削除すると、そのリソースに付加されたアノテーションはすべて失われます。その後、virt-platform-autopilot コントローラーは推奨設定を適用した新しいバージョンのリソースを作成します。

virt-platform-autopilot コントローラーが削除されたリソースを再作成しないようにするには、そのリソースを無効にする必要があります。HyperConverged カスタムリソース (CR) の platform.kubevirt.io/disabled-resources アノテーションにリソースを追加することで、リソースを無効化できます。

詳細は、「リソースを virt-platform-autopilot コントローラーによる管理対象からを除外する」を参照してください。

前提条件

  • OpenShift CLI (oc) がインストールされている。
  • cluster-admin 特権を持つユーザーとしてクラスターにログインしている。
  • virt-platform-autopilot コントローラーがクラスター上で有効になっている。
  • リソースには、platform.kubevirt.io/mode=unmanaged および platform.kubevirt.io/ignore-fields のアノテーションが存在することはできません。

手順

  1. 有効な RFC 6902 JSON パッチ操作配列を持つリソースに、platform.kubevirt.io/patch アノテーションを追加します。

    たとえば、virt-platform-autopilot コントローラーがカスタムのデスケジューラープロファイル設定をオーバーライドしないようにするには、次のコマンドを実行します。

    $ oc annotate kubedescheduler cluster \
      'platform.kubevirt.io/patch=[{"op":"replace","path":"/spec/profileCustomizations","value":{"devKnobs":{}}}]' \
      -n openshift-kube-descheduler-operator

    virt-platform-autopilot コントローラーは、リソース上の他のすべてのフィールドの管理を継続しますが、指定されたパスはスキップします。

    重要

    MachineConfig や KubeletConfig などの機密性の高いリソースでは、JSON パッチの適用がブロックされます。

  2. オプション: すべてのフィールドの virt-platform-autopilot コントローラー管理を復元するには、platform.kubevirt.io/patch アノテーションを削除します。

    たとえば、デスケジューラー設定のすべてのフィールドに対する virt-platform-autopilot コントローラーの管理を復元するには、次のコマンドを実行します。

    $ oc annotate kubedescheduler cluster \
      platform.kubevirt.io/patch- \
      -n openshift-kube-descheduler-operator

5.1.2.3. マネージドリソースのリコンシリエーションから特定のフィールドを除外する

virt-platform-autopilot コントローラーによる管理から特定のフィールドを除外することで、リコンシリエーション時にそれらのフィールドが無視されるようにします。

重要

管理対象外のリソースを削除すると、そのリソースに付加されたアノテーションはすべて失われます。その後、virt-platform-autopilot コントローラーは推奨設定を適用した新しいバージョンのリソースを作成します。

virt-platform-autopilot コントローラーが削除されたリソースを再作成しないようにするには、そのリソースを無効にする必要があります。HyperConverged カスタムリソース (CR) の platform.kubevirt.io/disabled-resources アノテーションにリソースを追加することで、リソースを無効化できます。

詳細は、「リソースを virt-platform-autopilot コントローラーによる管理対象からを除外する」を参照してください。

前提条件

  • OpenShift CLI (oc) がインストールされている。
  • cluster-admin 特権を持つユーザーとしてクラスターにログインしている。
  • virt-platform-autopilot コントローラーがクラスター上で有効になっている。
  • リソースには、platform.kubevirt.io/mode=unmanaged および platform.kubevirt.io/patch のアノテーションが存在することはできません。

手順

  1. コンマ区切りの RFC 6901 JSON Pointer パスを指定して、platform.kubevirt.io/ignore-fields アノテーションを追加します。

    たとえば、virt-platform-autopilot コントローラーがマネージド MachineConfig リソース内の systemd ユニットをオーバーライドしないようにするには、次のコマンドを実行します。

    $ oc annotate machineconfig 90-worker-swap-online \
      platform.kubevirt.io/ignore-fields='/spec/config/systemd/units/0/contents'
  2. オプション: すべてのフィールドに対して virt-platform-autopilot コントローラーの管理を復元するには、platform.kubevirt.io/ignore-fields アノテーションを削除します。

    たとえば、デスケジューラー設定のすべてのフィールドに対する virt-platform-autopilot コントローラーの管理を復元するには、次のコマンドを実行します。

    $ oc annotate kubedescheduler cluster \
      platform.kubevirt.io/ignore-fields- \
      -n openshift-kube-descheduler-operator

5.1.2.4. マネージドリソースのリコンシリエーションを停止します

リソースが作成後に virt-platform-autopilot コントローラーによって調整されないように、そのリソースを管理対象外としてマークします。該当リソースの設定に関する完全な設定責任は、ユーザーが持つことになります。

重要

管理対象外のリソースを削除すると、そのリソースに付加されたアノテーションはすべて失われます。その後、virt-platform-autopilot コントローラーは推奨設定を適用した新しいバージョンのリソースを作成します。

virt-platform-autopilot コントローラーが削除されたリソースを再作成しないようにするには、そのリソースを無効にする必要があります。HyperConverged カスタムリソース (CR) の platform.kubevirt.io/disabled-resources アノテーションにリソースを追加することで、リソースを無効化できます。

詳細は、「リソースを virt-platform-autopilot コントローラーによる管理対象からを除外する」を参照してください。

前提条件

  • OpenShift CLI (oc) がインストールされている。
  • cluster-admin 特権を持つユーザーとしてクラスターにログインしている。
  • virt-platform-autopilot コントローラーがクラスター上で有効になっている。
  • リソースには、platform.kubevirt.io/ignore-fields および platform.kubevirt.io/patch のアノテーションが存在することはできません。

手順

  1. リソースの platform.kubevirt.io/mode アノテーションを unmanaged に設定します。

    たとえば、デスケジューラー設定に対する virt-platform-autopilot コントローラーの管理を停止するには、次のコマンドを実行します。

    $ oc annotate kubedescheduler cluster \
      platform.kubevirt.io/mode=unmanaged \
      -n openshift-kube-descheduler-operator
  2. オプション: リソースの virt-platform-autopilot コントローラー管理を復元するには、platform.kubevirt.io/mode アノテーションを削除します。

    たとえば、デスケジューラー設定に対する virt-platform-autopilot コントローラーの管理を復元するには、次のコマンドを実行します。

    $ oc annotate kubedescheduler cluster \
      platform.kubevirt.io/mode- \
      -n openshift-kube-descheduler-operator
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る