9.12.13. 仮想マシンでの descheduler エビクションの有効化


descheduler を使用して Pod を削除し、Pod をより適切なノードに再スケジュールできます。Pod が仮想マシンの場合、Pod の削除により、仮想マシンが別のノードにライブマイグレーションされます。

9.12.13.1. descheduler プロファイル

仮想マシンで descheduler を有効にするには、DevKubeVirtRelieveAndMigrate または LongLifecycle プロファイルを使用します。

重要

DevKubeVirtRelieveAndMigrateLongLifeCycle の両方を同時に有効にすることはできません。

DevKubeVirtRelieveAndMigrate

このプロファイルは、LongLifeCycle プロファイルの拡張バージョンです。

重要

DevKubeVirtRelieveAndMigrate プロファイルは、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

DevKubeVirtRelieveAndMigrate プロファイルは、高コストのノードから Pod を削除して、全体的なリソースのコストを削減し、ワークロードの移行を可能にします。また、定期的にワークロードのバランスを再調整して、ノード全体で同様の予備容量を維持し、ワークロードの急増をより適切に処理できるようにします。ノードには次のようなコストが発生する可能性があります。

  • リソース使用量: リソースが逼迫すると、アプリケーション実行のオーバーヘッドが増加します。
  • ノードのメンテナンス: ノード上のコンテナーの数が増えると、リソースの消費量とメンテナンスコストが増加します。

このプロファイルは、アルファ機能である EvictionsInBackground を使用して LowNodeUtilization ストラテジーを有効にします。また、このプロファイルは次のカスタマイズフィールドを公開します。

  • devActualUtilizationProfile: 負荷を考慮した descheduler による再スケジュールを有効にします。
  • devLowNodeUtilizationThresholds: LowNodeUtilization ストラテジーの実験的なしきい値を設定します。このフィールドを devDeviationThresholds と一緒に使用しないでください。
  • devDeviationThresholds: リソース使用率が平均以下のノードを、使用率が低いノードとして扱い、過剰に使用されているノードからワークロードを再分配します。このフィールドを devLowNodeUtilizationThresholds と一緒に使用しないでください。サポートされている値は、Low (10%:10%)、Medium (20%:20%)、High (30%:30%)、AsymmetricLow (0%:10%)、AsymmetricMedium (0%:20%)、AsymmetricHigh (0%:30%) です。
  • devEnableSoftTainter: ソフト taint 適用コンポーネントがソフト taint をスケジュールヒントとして動的に適用または削除できるようにします。

設定例

apiVersion: operator.openshift.io/v1
kind: KubeDescheduler
metadata:
  name: cluster
  namespace: openshift-kube-descheduler-operator
spec:
  managementState: Managed
  deschedulingIntervalSeconds: 30
  mode: "Automatic"
  profiles:
    - DevKubeVirtRelieveAndMigrate
  profileCustomizations:
    devEnableSoftTainter: true
    devDeviationThresholds: AsymmetricLow
    devActualUtilizationProfile: PrometheusCPUCombined

DevKubeVirtRelieveAndMigrate プロファイルでは、すべてのワーカーノードで PSI メトリクスを有効にする必要があります。これを有効にするには、次の MachineConfig カスタムリソース (CR) を適用します。

MachineConfig CR の例

apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
  labels:
    machineconfiguration.openshift.io/role: worker
  name: 99-openshift-machineconfig-worker-psi-karg
spec:
  kernelArguments:
    - psi=1

このプロファイルを SoftTopologyAndDuplicates プロファイルとともに使用して、ソフトトポロジー制約に基づいて Pod のバランスを再調整することもできます。これは、Hosted Control Plane 環境で役立ちます。

LongLifecycle
このプロファイルは、ノード間のリソース使用率のバランスを取り、以下のストラテジーを有効にします。
  • RemovePodsHavingTooManyRestarts: コンテナーが何度も再起動された Pod、およびすべてのコンテナー (Init コンテナーを含む) の再起動の合計が 100 を超える Pod を削除します。仮想マシンのゲストオペレーティングシステムを再起動しても、この数は増えません。
  • LowNodeUtilization: 使用率の低いノードがある場合に、使用率の高いノードから Pod を退避します。退避された Pod の宛先ノードはスケジューラーによって決定されます。

    • ノードは、使用率がすべてのしきい値 (CPU、メモリー、Pod の数) で 20% 未満の場合に使用率が低いと見なされます。
    • ノードは、使用率がすべてのしきい値 (CPU、メモリー、Pod の数) について 50% を超える場合に過剰に使用されていると見なされます。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る