インフラストラクチャーリソースの使用の最適化


Red Hat OpenStack Services on OpenShift 18.0

Optimize サービス (watcher) を使用した Red Hat OpenStack Services on OpenShift でのインフラストラクチャーリソースの使用の管理

OpenStack Documentation Team

概要

Red Hat OpenStack Services on OpenShift におけるインフラストラクチャーリソースの使用率を管理するには、Optimize サービス (watcher) をインストール、設定、および操作します。

このガイドの内容はテクノロジープレビューです。

重要

このガイドに記載されている機能は、このリリースでは テクノロジープレビュー としての利用となるため、Red Hat では完全にはサポートされていません。これは、テスト用途にのみご利用いただく機能です。実稼働環境にはデプロイしないでください。詳細は テクノロジープレビュー を参照してください。

Red Hat ドキュメントへのフィードバック (英語のみ)

Red Hat ドキュメントに対するご意見をお聞かせください。ドキュメントの改善点があればお知らせください。

問題の作成 フォームを使用して、Red Hat OpenStack Services on OpenShift (RHOSO) または Red Hat OpenStack Platform (RHOSP) の以前のリリースのドキュメントに関するフィードバックを提供します。RHOSO または RHOSP ドキュメントの問題を作成すると、その問題は RHOSO Jira プロジェクトに記録され、フィードバックの進行状況を追跡できるようになります。

問題の作成 フォームを完了するには、Jira にログインしていることを確認してください。Red Hat Jira アカウントをお持ちでない場合は、https://issues.redhat.com でアカウントを作成できます。

  1. 次のリンクをクリックして、問題の作成 ページを開きます (問題の作成)。
  2. Summary フィールドと Description フィールドに入力します。Description フィールドに、ドキュメントの URL、章またはセクション番号、および問題の詳しい説明を入力します。フォーム内の他のフィールドは変更しないでください。
  3. Create をクリックします。

第1章 Optimize サービスの概要

重要

このセクションの以下のコンテンツは、今回のリリースでは テクノロジープレビュー としての利用となるため、Red Hat によって完全にはサポートされません。これは、テスト用途にのみご利用いただく機能です。実稼働環境にはデプロイしないでください。詳細は、テクノロジープレビュー を参照してください。

Red Hat OpenStack Services on OpenShift (RHOSO) Optimize サービス (watcher) は、マルチテナント RHOSO ベースのクラウド向けに柔軟でスケーラブルなリソース最適化サービスを提供します。Optimize サービスは、インフラストラクチャーリソースの使用率の目標を設定および管理するのに役立つフレームワークを提供します。

このセクションに含まれるトピックは次のとおりです。

1.1. データセンターの最適化

Red Hat OpenStack Services on OpenShift (RHOSO) Optimize サービス (watcher) は、データセンターの運用コストを削減するための幅広いインフラストラクチャーリソース使用目標の実現を支援する堅牢なフレームワークを提供します。Optimize サービスフレームワークには、メトリクスレシーバー、複合イベントプロセッサーとプロファイラー、最適化プロセッサー、アクションプランアプライヤーが含まれます。

Expand
表1.1 Optimize の用語
用語説明

アクション

監査後に Optimize サービスがクラスターの現在の状態を変換できるようにするアトミックタスク。

アクションプラン

特定の目標達成のために実行する必要があるアクションのフローを指定し、推定された全体的な有効性と有効性指標のセットを含みます。

監査

クラスターを最適化するリクエスト。

監査テンプレート

監査の目的が含まれます。また、エラー処理設定や自動化設定が含まれる場合があります。

目的

達成すべき 1 つの目標を、人間が読み取り、観察し、測定できる最終結果にします。

解決方法

関連する監査の目標を達成するための一連の提案されたアクションを含むストラテジーの実行結果。

ストラテジー

特定の目標に対して推奨されるソリューションを提供できるアルゴリズムの実装。

次のワークフローは、RHOSO 管理者が Optimize サービスを使用する方法について説明しています。

  1. 達成すべき目標を特定します。

    たとえば、コンピュートノードによって消費されるエネルギーを節約するには、仮想マシンインスタンスを統合して、より少ないノードで実行します。

  2. Optimize サービスを使用して RHOSO 環境の監査を実行するときに使用する目標やその他の設定を定義する監査テンプレートを作成します。
  3. 必要に応じて、監査テンプレートにストラテジーを追加します。
  4. 監査テンプレートを使用して Optimize サービスを実行し、RHOSO 環境を監査します。

    監査後、Optimize サービスは目標に基づいたアクションプランを作成します。

  5. アクションプランを実行します。

    たとえば、Compute サービス (nova) を生成してインスタンスの他のノードへのライブマイグレーションを実行するなど、アクションプランを使用して最適化サービスを実行します。

  6. クラウドのメトリクスをチェックして、目標達成に向けて改善が見られているか確認します。

1.2. Optimize サービスコンポーネント

Red Hat OpenStack Services on OpenShift (RHOSO) Optimize サービス (watcher) コンポーネントは、RHOSO コントロールプレーンをホストする Red Hat OpenShift Container Platform (RHOCP) ワーカーノードでホストされます。Optimize サービスは、次のコンポーネントで構成されています。

Optimize サービス (watcher) のコンポーネント

Optimize service (watcher) components

AMQP バス
さまざまな watcher コンポーネント間の内部非同期通信を処理します。
データソース
クラスターに関連するメトリクスを保存します。オープンソースの時系列データベースである Prometheus は、watcher の主なデータソースです。
Watcher API
CLI、ダッシュボード (horizon) プラグイン、および Python SDK を通じて、watcher によって外部ユーザーに提供される REST API を実装します。
Watcher アプライヤー
watcher 決定エンジンによって構築されたアクションプランの実行を管理します。Taskflow は watcher のデフォルトのワークフローエンジンです。
Watcher CLI
watcher コンポーネントと対話するために使用されます。
Watcher ダッシュボード
ダッシュボード (horizon) を通じてウォッチャーコンポーネントと対話するために使用されます。
Watcher データベース

RHOSO 環境でのリソースの最適化に使用されるすべての watcher オブジェクトを保存します。

  • ゴール
  • ストラテジー
  • 監査テンプレート
  • Audit (監査)
  • アクションプラン
  • アクションプラン API 経由の有効性指標
  • アクション
Watcher デシジョンエンジン
監査の目標を達成するための潜在的な最適化アクションのセットを作成します。

第2章 Optimize サービスの実装に関する考慮事項

重要

このセクションの以下のコンテンツは、今回のリリースでは テクノロジープレビュー としての利用となるため、Red Hat によって完全にはサポートされません。これは、テスト用途にのみご利用いただく機能です。実稼働環境にはデプロイしないでください。詳細は、テクノロジープレビュー を参照してください。

このセクションでは、Red Hat OpenStack Services on OpenShift (RHOSO) 環境での Optimize サービス (ウォッチャー) のデプロイメントを計画する際に考慮する必要がある重要なトピックについて説明します。

このセクションに含まれるトピックは次のとおりです。

2.1. Optimize サービス (watcher) でサポートされる機能

Red Hat OpenStack Services on OpenShift (RHOSO) 18.0 Optimize サービス (watcher) は、インフラストラクチャーリソースの使用の最適化 に記載されている機能のみを公式にサポートします。

2.2. Optimize サービスのソフトウェア要件

Red Hat OpenStack Services on OpenShift (RHOSO) Optimize サービス (watcher) には、少なくとも以下のコンポーネントを含む RHOSO 18.0.6 以降の既存のデプロイメントが必要です。

  • Compute サービス (nova)
  • Identity サービス (keystone)
  • Image サービス (glance)
  • MariaDB
  • RabbitMQ
  • Prometheus メトリクスストアを含む Telemetry サービス

Dashboard サービス (horizon) は必要ありません。ただし、OpenStack クラウドで有効になっている場合は、デプロイメント以降の Dashboard サービスで Optimize サービスダッシュボードを利用できます。

2.3. Optimize サービスのストラテジー

Red Hat OpenStack Services on OpenShift (RHOSO) Optimize サービス (watcher) ストラテジーは、目標の達成に使用できるアルゴリズムの実装です。ストラテジーによっては目標が同じものもありますが、目標を達成する方法が異なります。自分の環境に最適なストラテジーと目標を選択してください。

RHOSO 18.0.10 では、Optimize サービスは次のストラテジーをサポートします。

2.3.1. Host maintenance strategy

host migration strategy は、ユーザーに影響を与えることなく、スケジュールされたメンテナンスを実行できるようにコンピュートノードを準備するために使用できます。バックアップノードがある場合、このストラテジーでは、Compute サービス (nova) の移行機能を使用して、すべてのインスタンスをバックアップノードに移動します。バックアップノードがない場合、このストラテジーでは nova-scheduler を使用してすべてのインスタンスを移行します。host migration strategy では、実行中のインスタンスをホストしなくなったコンピュートノードのステータスを disabled に設定します。

このストラテジーの使用方法のデモンストレーションは、計画されたメンテナンスのためのコンピュートノードの準備 を参照してください。

  • 要件

    • コンピュートノードとして機能する物理ホストが少なくとも 2 台。
    • Compute サービス (nova) がライブ移行とコールド移行を実行する機能。
  • ユーザー指定のパラメーター:

    • -p maintenance_node=<compute_node_name> (必須) - メンテナンスが必要なコンピュートノードの名前。
    • -p backup_node=<compute_node_name> (オプション) - インスタンスがライブマイグレーションされるバックアップコンピュートノードの名前。バックアップノードがない場合、このストラテジーでは nova-scheduler を使用してすべてのインスタンスを移行します。

2.3.2. Node resource consolidation strategy

Node resource consolidation strategy は、クラスター内の移行元コンピュートノードと移行先コンピュートノード間でインスタンスを移動します。リソースの使用を統合するために、Compute サービス (nova) のライブマイグレーション機能を使用します。ノードリソースストラテジーでは、ソースコンピュートノードのステータスは変更されません。

このストラテジーの使用方法のデモンストレーションは、ノードリソースの統合 を参照してください。

  • 要件

    • 同じ CPU と RAM ハードウェアを使用するコンピュートノードが少なくとも 2 つ。
    • アクティブなコンピュートノードへのライブマイグレーションを Compute サービスが実行できる。
  • ユーザー指定のパラメーター:

    • -p host_choice=<auto | specify> (オプション) - サーバーの移行先ノードの選択に使用する方法。値が auto の場合、Compute サービス (nova) スケジューラーが移行先ノードを選択します。値が specify の場合、ストラテジーによって移行先ノードが選択されます。host_choice が指定されていない場合、ストラテジーはデフォルトで auto に設定されます。

2.3.3. VM workload consolidation strategy

VM workload consolidation strategy は、クラスター内の移行元コンピュートノードと移行先コンピュートノード間でインスタンスを移動します。Compute サービス (nova) 移行機能を使用して、ノードの CPU 使用率が高すぎたり低すぎたりしないようにします。VM workload consolidation strategy により、ソースコンピュートノードのステータスが disabled に設定されます。

このストラテジーの使用方法のデモンストレーションは、仮想マシンインスタンスの統合 を参照してください。

  • 要件

    • コンピュートノードとして機能する物理ホストが少なくとも 2 台。
    • アクティブなコンピュートノードへの移行を Compute サービスが実行できる。
  • ユーザー指定のパラメーター:

    • -p period=<seconds> (オプション) - メトリクスデータソースから統計の集計を取得する時間間隔 (秒)。period が指定されていない場合、ストラテジーはデフォルトで 1 時間 (3600 秒) に設定されます。

2.3.4. Workload balance migration strategy

Workload balance migration strategy では、仮想マシンインスタンスの CPU または RAM 使用率が指定されたしきい値を超えるたびに、Compute サービス (nova) のライブマイグレーション機能を使用して、1 つの仮想マシンインスタンスを移動します。このストラテジーは、ホストされたインスタンスによって使用されるリソースの合計として計算される、コンピュートノードとして機能する物理ホストのワークロードに基づいています。移動するインスタンスは、対象ホストのワークロードがクラスター内の全コンピュートノードの平均に近づくように選びます。

このストラテジーの使用方法のデモンストレーションについては、単一インスタンスのワークロードの分散 を参照してください。

  • 要件

    • CPU と RAM ハードウェアを使用するコンピュートノードが少なくとも 2 つ。
    • アクティブなコンピュートノードへのライブマイグレーションを Compute サービスが実行できる。
  • ユーザー指定のパラメーター:

    すべてのパラメーターはオプションです。ユーザーがパラメーターを指定しない場合、このストラテジーではデフォルト値が使用されます。

    • -p metrics=instance_cpu_usage|instance_ram_usage - 必要なワークロード分散のタイプ: CPU または RAM 使用率に基づきます。デフォルトは instance_cpu_usage です。
    • -p threshold=<percentage> - 割合 (0.0 から 100.0 の範囲の (nn) 形式で指定する少数)。これは、コンピュートホストの CPU またはメモリー使用量のしきい値です。CPU 使用率または RAM 使用率のいずれかがしきい値のパーセンテージを超えると、Optimize サービスは、コンピュートノードリソースの使用率のバランスを改善するインスタンスのライブマイグレーションを検索します。threshold は、移行に関係する移行元ノードと移行先ノードの両方に適用されます。デフォルトは 25.0 です。
    • -p period=<seconds> - しきい値が評価される時間間隔 (秒)。デフォルトは 5 分 (300 秒) です。

2.3.5. Workload stabilization strategy

Workload stabilization strategy は、仮想マシンインスタンスを移動することでクラスターの過負荷に対応します。クラスターを安定させるために、Compute サービス (nova) のライブマイグレーション機能を使用します。このストラテジーは標準偏差に基づいています。

このストラテジーの使用方法のデモンストレーションは、複数のワークロードの安定化 を参照してください。

  • 要件

    • CPU と RAM ハードウェアを使用するコンピュートノードが少なくとも 2 つ。
    • アクティブなコンピュートノードへのライブマイグレーションを Compute サービスが実行できる。
  • ユーザー指定のパラメーター:

    すべてのパラメーターはオプションです。ユーザーがパラメーターを指定しない場合、このストラテジーではデフォルト値が使用されます。

    • -p metrics='["instance_cpu_usage","instance_ram_usage"]' - クラスターのワークロードを評価するためにストラテジーが使用するメトリクスまたはメトリクス。デフォルトでは、指定されていない限り、CPU 使用量と RAM 使用量の両方が評価されます。
    • -p thresholds='{"instance_cpu_usage": <trigger_value>、"instance_ram_usage": <trigger_value>}' - 正規化された CPU または RAM 使用量の標準偏差を表す 0.0 - 0.5 の範囲の数値。値 0.0 は完全に負荷が均等に分散されたクラスターであり、値 0.5 は完全に不均衡なクラスターになります。thresholds を超えると、アクションプランを探すストラテジーがトリガーされます。両方の使用タイプのデフォルトのしきい値は 0.2 です。
    • -p weights='{"instance_cpu_usage_weight": 1.0、"instance_ram_usage_weight": 1.0}' - 共通標準偏差の計算に使用される小数形式の数値。両方の使用タイプのデフォルトの重み値は 1.0 です。
    • -p instance_metrics='{"instance_cpu_usage":"host_cpu_usage","instance_ram_usage":"host_ram_usage"}' - CPU および RAM 使用量のインスタンスメトリクスを使用してハードウェア統計を取得するためにストラテジーが使用するマッピング。これらのパラメーターやその値を変更しないでください。
    • -p host_choice='cycle|retry|fullsearch' - 各ライブマイグレーションの宛先ホストを取得するためにストラテジーが使用する方法。有効な値は、反復的にホストを照会する cyclecount_retry パラメーターを使用してランダムにホストを照会する retry、リストから各ホストを照会する fullsearch です。デフォルト値は retry です。
    • -p retry_count='<number>' - 使用されるランダムクエリーの数として -p host_choice='retry' が指定されている場合に使用される数値。デフォルト値は 1 です。
    • -p periods='{"instance":<seconds>,"node":<seconds>}' - インスタンスとホストのサンプルを集計のためにグループ化する、繰り返しの時間間隔 (秒単位)。Optimize サービス (watcher) は最後の期間のみを使用します。インスタンスとノードのデフォルトの期間はそれぞれ 720 秒と 600 秒です。

2.3.6. Zone migration strategy

Zone migration strategy では、Compute サービス (nova) ライブマイグレーション機能を使用して、ユーザーへの影響やハードウェアメンテナンスのダウンタイムを最小限に抑えながら、多数の仮想マシンインスタンスを効率的に移動します。

このストラテジーの使用方法のデモンストレーションは、ワークロード移行の合理化 を参照してください。

注記

ゾーン移行ストラテジーにおける ゾーン という用語は、ユーザー定義のコンピュートノードとストレージプールのセットを指します。ゾーン は OpenStack のアベイラビリティーゾーンを指すものではありません。

  • 要件

    • コンピュートノードとして機能する物理ホストが少なくとも 2 台。
    • Compute サービス (nova) がライブ移行とコールド移行を実行する機能。
  • ユーザー指定のパラメーター:

    • -p compute_nodes='[{<compute_nodes_array_elements>}]' (必須) - 移行するコンピュートノード。このドキュメントの後半の「compute_nodes 配列要素」を参照してください。
    • -p parallel_total (オプション) - 並列実行されるアクションの合計数。parallel_total が指定されていない場合、ストラテジーのデフォルトは 6 です。
    • -p parallel_per_node (オプション) - 1 つのアクションプランでコンピュートノードごとに並列実行されるアクションの数。parallel_per_node が指定されていない場合、ストラテジーはデフォルトで 2 に設定されます。
    • -p priority (オプション) - インスタンスの優先順位を示すリスト。
  • compute_nodes 配列要素:

    `-p compute_nodes='[{"src_node":"<compute_node_name>",
    "dst_node":"<compute_node_name>"}]'`
    • "src_node":"<compute_node_name>" (必須) - インスタンスの移行元のコンピュートノードの名前。
    • "dst_node":"<compute_node_name>" (オプション) - インスタンスの移行先のコンピュートノードの名前。宛先ノードが指定されていない場合、このストラテジーは nova-scheduler に依存して宛先ノードを選択します。
  • 優先 オブジェクト要素:

    `-p priority='[{
    "project":"<project_name>,...",
    "compute_nodes='[{<compute_node_array_elements>}]'",
    "compute='["vcpu_num", "mem_size", "disk_size", "created_at"]'"
    }]'`
    • "project":"<project_name>,..." (オプション) - 優先順位付けされたコンピュートノードとボリュームを含むプロジェクト (テナント) の名前。
    • "compute_nodes='[{<compute_node_array_elements>}]'" (オプション) - 優先順位を付けるコンピュートノード名。このドキュメントで前述した「compute_nodes 配列要素」を参照してください。
    • "compute='["vcpu_num"、"mem_size"、"disk_size"、"created_at"]'" (オプション) - 優先順位を付けるインスタンスの属性。

2.4. Optimize サービスの RHOSO 環境の確認

Optimize サービス (watcher) をデプロイする前に、Red Hat OpenStack Services on OpenShift (RHOSO) 環境が必要な要件を満たしていることを確認してください。

前提条件

  • 機能する RHOSO 18.0.6 以降のデプロイメント。デプロイメントには 2 つ以上のコンピュートノードを含める。
  • Compute サービス (nova) のライブマイグレーション機能が動作する。
  • ワークステーションに oc コマンドラインツールがインストール済みである。
  • cluster-admin 権限を持つユーザーとして、RHOSO コントロールプレーンにアクセスできるワークステーションにログオン済みである。

手順

  1. サービスエンドポイントが利用可能であることを確認します。

    $ oc rsh openstackclient openstack endpoint list -c 'ID' -c 'Service Name' -c 'Enabled'

    出力例

    +----------------------------------+--------------+---------+
    | ID                               | Service Name | Enabled |
    +----------------------------------+--------------+---------+
    | 0bada656064a4d409bc5fed610654edd | neutron      | True    |
    | 17453066f8dc40bfa0f8584007cffc9a | cinderv3     | True    |
    | 22768bf3e9a34fefa57b96c20d405cfe | keystone     | True    |
    | 54e3d48cdda84263b7f1c65c924f3e3a | glance       | True    |
    | 74345a18262740eb952d2b6b7220ceeb | keystone     | True    |
    | 789a2d6048174b849a7c7243421675b4 | placement    | True    |
    | 9b7d8f26834343a59108a4225e0e574a | nova         | True    |
    | a836d134394846ff88f2f3dd8d96de34 | nova         | True    |
    | af1bf23e62c148d3b7f6c47f8f071739 | placement    | True    |
    | ce0489dfeff64afb859338e480397f90 | glance       | True    |
    | db69cc22117344b796f97e8dd3dc67e5 | neutron      | True    |
    | fa48dc132b524915b4d1ca963c50a653 | cinderv3     | True    |
    +----------------------------------+--------------+---------+

  2. Prometheus メトリクスストレージを備えた Telemetry Operator の準備ができていることを確認します。

    $ oc get telemetry

    出力例

    NAME        STATUS   MESSAGE
    telemetry   True     Setup complete

    $ oc get metricstorage

    出力例

    NAME             STATUS   MESSAGE
    metric-storage   True     Setup complete

第3章 既存の RHOSO 環境での Optimize サービスのデプロイ

重要

このセクションの以下のコンテンツは、今回のリリースでは テクノロジープレビュー としての利用となるため、Red Hat によって完全にはサポートされません。これは、テスト用途にのみご利用いただく機能です。実稼働環境にはデプロイしないでください。詳細は、テクノロジープレビュー を参照してください。

Red Hat OpenStack Services on OpenShift (RHOSO) コントロールプレーンには、クラウドを管理する RHOSO サービスが含まれています。Optimize サービス (watcher) とその他の RHOSO サービスは、Red Hat OpenShift Container Platform (RHOCP) ワークロードとして実行されます。

注記

通常、OpenStack Operator (openstack-operator) はすべての OpenStack サービス Operator をインストールします。また、それらの Operator の管理に使用するインターフェイスです。ただし、RHOSO 18.0.6 以降では、Optimize サービスの Operator である watcher-operator はスタンドアロン Operator であり、独立して管理されます。

RHOSO 環境での Optimize サービスのデプロイには、次の手順が含まれます。

3.1. OpenShift コンソールを使用した Optimize サービス Operator のインストール

Optimize サービス (watcher) とその他の Red Hat OpenStack Services on OpenShift (RHOSO) IaaS サービスは、Red Hat OpenShift Container Platform (RHOCP) クラスター上で実行される Operator のコレクションとして実装されます。これらの Operator は、RHOSO クラウドのコンピュート、ストレージ、ネットワーク、およびその他のサービスを管理します。Optimize サービスをデプロイするには、RHOSO コントロールプレーンをホストする RHOCP クラスターに watcher-operator をインストールします。

この手順では、Red Hat OpenShift コンソールを使用して watcher-Operator をインストールする方法を説明します。コンソールを使用する代わりに、OpenShift CLI を使用して watcher-operator をインストールすることもできます。

注記

通常、OpenStack Operator (openstack-operator) はすべての OpenStack サービス Operator をインストールします。また、それらの Operator の管理に使用するインターフェイスです。ただし、RHOSO 18.0.6 以降では、Optimize サービスの Operator である watcher-operator はスタンドアロン Operator であり、独立して管理されます。

前提条件

  • cluster-admin 権限を持つユーザーとして、RHOSO コントロールプレーンにアクセスできるワークステーションにログオン済みである。
  • ワークステーションに OpenShift コンソールがインストールされています。

手順

  1. cluster-admin 権限を持つユーザーとして OpenShift コンソールにログインします。
  2. OperatorsOperatorHub をクリックします。
  3. Filter by keyword フィールドに Watcher と入力します。

    Watcher Operator (Technology Preview) という名前の Operator が Red Hat ソースラベルとともに表示されます。

  4. Watcher Operator (Technology Preview) をクリックします。
  5. Installation modeAll namespaces in the cluster に設定されていることを確認します。
  6. Installed Namespaceopenstack-operators を選択し、Install をクリックします。

    Watcher Operator のステータスが Succeeded になると、Operator のデプロイと準備が完了します。

3.2. Optimize Service Operator のインストール

Optimize サービス (watcher) とその他の Red Hat OpenStack Services on OpenShift (RHOSO) IaaS サービスは、Red Hat OpenShift Container Platform (RHOCP) クラスター上で実行される Operator のコレクションとして実装されます。これらの Operator は、RHOSO クラウドのコンピュート、ストレージ、ネットワーク、およびその他のサービスを管理します。Optimize サービスをデプロイするには、RHOSO コントロールプレーンをホストする RHOCP クラスターに watcher-operator をインストールします。

この手順では、RHOCP コマンドラインインターフェイスを使用して watcher-operator をインストールする方法を説明します。CLI を使用する代わりに、RHOCP Console を使用して watcher-operator をインストールできます。

注記

通常、OpenStack Operator (openstack-operator) はすべての OpenStack サービス Operator をインストールします。また、それらの Operator の管理に使用するインターフェイスです。ただし、RHOSO 18.0.6 以降では、Optimize サービスの Operator である watcher-operator はスタンドアロン Operator であり、独立して管理されます。

手順

  1. watcher Operator のカスタムリソース定義 (CRD) を含む YAML ファイル (例: watcher-operator.yaml) を作成します。

    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: watcher-operator
      namespace: openstack-operators
    spec:
      name: watcher-operator
      channel: stable-v1.0
      source: redhat-operators
      sourceNamespace: openshift-marketplace
  2. watcher-operator のリソースを作成します。

    $ oc apply -f watcher-operator.yaml
    
    subscription.operators.coreos.com/watcher-operator created
  3. watcher-operator がインストールされていることを確認します。

    $ oc get csv watcher-operator.v1.0.7

    出力例:

    NAME                  	  DISPLAY        	VERSION   REPLACES   PHASE
    watcher-operator.v1.0.7   Watcher Operator   1.0.7            	Succeeded

3.3. Optimize サービス認証情報の Secret CR の更新

Red Hat OpenStack Services on OpenShift (RHOSO) Optimize サービス (ウォッチャー) Pod への安全なアクセスを提供するには、Secret カスタムリソース (CR) を作成する必要があります。

警告

コントロールプレーンがデプロイされた後は、サービスパスワードは変更できません。コントロールプレーンをデプロイした後に osp-secret でサービスパスワードが変更されると、サービスは新しいパスワードを使用するように再設定されますが、Identity サービス (keystone) ではパスワードは更新されません。その結果、サービスが停止します。

前提条件

  • ワークステーションに oc コマンドラインツールがインストール済みである。
  • cluster-admin 権限を持つユーザーとして、RHOSO コントロールプレーンにアクセスできるワークステーションにログオン済みである。

手順

  1. 初期 RHOSO コントロールプレーンのデプロイメントで RHOSO サービス Pod へのセキュアなアクセスを提供するために使用した Secret CR ファイル (通常は osp-secret という名前) (例: openstack_service_secret.yaml) を開きます。
  2. WatcherPassword フィールドを追加します。

    apiVersion: v1
    data:
    ...
      NeutronDatabasePassword: <base64_password>
      NeutronPassword: <base64_password>
      NovaAPIDatabasePassword: <base64_password>
      NovaAPIMessageBusPassword: <base64_password>
      NovaCell0DatabasePassword: <base64_password>
      NovaCell0MessageBusPassword: <base64_password>
      NovaCell1DatabasePassword: <base64_password>
      NovaCell1MessageBusPassword: <base64_password>
      NovaPassword: <base64_password>
      OctaviaDatabasePassword: <base64_password>
      OctaviaPassword: <base64_password>
      PlacementDatabasePassword: <base64_password>
      PlacementPassword: <base64_password>
      SwiftPassword: <base64_password>
      WatcherPassword: <base64_password>
    kind: Secret
    metadata:
      name: osp-secret
      namespace: openstack
    type: Opaque
    • <base64_password> を、base64 でエンコードされた 32 文字のキーに置き換えます。次のコマンドを使用して、base64 でエンコードされたパスワードを手動で生成できます。

      $ echo -n <password> | base64

      詳細は、Red Hat OpenStack Services on OpenShift のデプロイRed Hat OpenStack Services on OpenShift へのセキュアなアクセスの提供 を参照してください。

  3. Secret CR を更新します。

    $ oc apply -f openstack_service_secret.yaml -n openstack

検証

  • WatcherPassword フィールドが存在することを確認します。

    $ oc describe secret osp-secret -n openstack | grep Watcher

    出力例

    WatcherPassword:                  9 bytes

3.4. 既存の RHOSO コントロールプレーンでの Optimize サービスの作成

既存の Red Hat OpenStack Services on OpenShift (RHOSO) コントロールプレーンで Optimize サービス (watcher) を作成するには、次の手順を実行します。

  1. RHOSO がセキュアな HTTP 接続 (HTTPS) を介して watcher サービスにアクセスするために使用する必須の証明書を作成します。
  2. Watcher カスタムリソース (CR) を定義して、RHOSO コントロールプレーンで Red Hat OpenShift Container Platform (RHOCP) ワークロードとして実行される Optimize サービスを作成します。

次のアクションを実行するには、3 つの個別の証明書が必要です。

  • OpenShift ルートで TLS を設定します。
  • watcher 内部エンドポイントと通信します。
  • watcher パブリックエンドポイントと通信します。

watcher-certificates.yaml ファイルを定義して、3 つの必須 Certificate オブジェクトを作成します。証明書ファイルに oc apply を実行すると、OpenStack Operator を使用してインストールされた Cert-Manager Operator によって証明書が作成されます。

前提条件

  • ワークステーションに oc コマンドラインツールがインストール済みである。
  • cluster-admin 権限を持つユーザーとして、RHOSO コントロールプレーンにアクセスできるワークステーションにログオン済みである。

手順

  1. OpenStack コントロールプレーンの正しいプロジェクト (例: openstack) とクラスターの正しいドメイン (例: watcher-internal.openstack.svc.cluster.local) が含まれる watcher-certificates.yaml ファイルを作成します。

    ヒント

    クラスターの正しいドメインを取得するには、次のコマンドを実行します。

    $ oc get ingresses.config/cluster -o jsonpath={.spec.domain}
  2. watcher-certificates.yaml ファイルに、作成する必要がある証明書の名前を追加します。

    次の例では、証明書は以下の目的で使用されます。

    • 内部エンドポイント cert-watcher-internal-svc と通信します。
    • 外部エンドポイント cert-watcher-public-route と通信します。
    • OpenShift ルート cert-watcher-public-svc で TLS を設定します。

      ---
      apiVersion: cert-manager.io/v1
      kind: Certificate
      metadata:
        name: watcher-internal-svc
        namespace: openstack
      spec:
        dnsNames:
        - watcher-internal.openstack.svc
        - watcher-internal.openstack.svc.cluster.local
        duration: 43800h0m0s
        issuerRef:
          group: cert-manager.io
          kind: Issuer
          name: rootca-internal
        secretName: cert-watcher-internal-svc
        usages:
        - key encipherment
        - digital signature
        - server auth
      ---
      apiVersion: cert-manager.io/v1
      kind: Certificate
      metadata:
        name: watcher-public-route
      spec:
        dnsNames:
        - watcher-public-openstack.example.com
        issuerRef:
          group: cert-manager.io
          kind: Issuer
          name: rootca-public
        secretName: cert-watcher-public-route
        usages:
        - key encipherment
        - digital signature
        - server auth
      ---
      apiVersion: cert-manager.io/v1
      kind: Certificate
      metadata:
        name: watcher-public-svc
      spec:
        dnsNames:
        - watcher-public.openstack.svc
        - watcher-public.openstack.svc.cluster.local
        duration: 43800h0m0s
        issuerRef:
          group: cert-manager.io
          kind: Issuer
          name: rootca-public
        secretName: cert-watcher-public-svc
        usages:
        - key encipherment
        - digital signature
        - server auth
  3. watcher-certificates.yaml ファイルを適用して、次の 3 つの証明書を作成します。

    $ oc apply -f watcher-certificates.yaml -n openstack

    出力例

    certificate.cert-manager.io/watcher-internal-svc created
    certificate.cert-manager.io/watcher-public-route created
    certificate.cert-manager.io/watcher-public-svc created

  4. ワークステーションに watcher.yaml という名前のファイルを作成し、Watcher CR を定義します。

    apiVersion: watcher.openstack.org/v1beta1
    kind: Watcher
    metadata:
      name: watcher
  5. Optimize サービス認証情報の Secret CR の更新 で、watcher サービス Pod へのセキュアなアクセスを提供するために使用した Secret CR を指定します。

    apiVersion: watcher.openstack.org/v1beta1
    kind: Watcher
    metadata:
      name: watcher
    spec:
      databaseInstance: "openstack"
      secret: osp-secret
      apiServiceTemplate:
    ...
  6. Watcher CR ファイル watcher.yaml で、endpointURL フィールドの example.com ドメインをクラスターの正しいドメインに置き換えます。

    apiVersion: watcher.openstack.org/v1beta1
    kind: Watcher
    metadata:
      name: watcher
    spec:
      databaseInstance: "openstack"
      secret: osp-secret
      apiOverride:
        tls:
          secretName: cert-watcher-public-route
      apiServiceTemplate:
        override:
          service:
            public:
              endpointURL: https://watcher-public-openstack.example.com
        tls:
          caBundleSecretName: "combined-ca-bundle"
          api:
            internal:
              secretName: cert-watcher-internal-svc
            public:
              secretName: cert-watcher-public-svc
  7. Watcher CR をデプロイします。

    $ oc apply -f watcher.yaml -n openstack

    出力例

    watcher.watcher.openstack.org/watcher configured

  8. サービスのステータスを確認します。

    $ oc wait -n openstack --for condition=Ready --timeout=300s Watcher watcher

    Watcher は CR ファイル内の kind フィールドを参照し、watcher は CR ファイル内の name フィールドを参照します。

    出力例

    watcher.watcher.openstack.org/watcher condition met

検証

  1. Optimize サービス (watcher) が Identity サービス (keystone) に登録され、OpenStack サービスのリストに表示されていることを確認します。

    $ oc rsh openstackclient openstack service list

    出力例

    +----------------------------------+------------+-------------+
    | ID                               | Name       | Type        |
    +----------------------------------+------------+-------------+
    | 1470e8d6019446a1bcdfdb6dc55f3f6a | nova       | compute     |
    | 41d60e1c678142cf8e5daf7a82af1864 | neutron    | network     |
    | 5b0d95d1c08e4deb832815addd859924 | ceilometer | Ceilometer  |
    | 7e081cb4928945d7aa41d1622f7b8586 | cinderv3   | volumev3    |
    | 8d7ee56ca2bb4dba999d67580909dd90 | glance     | image       |
    | c3348e10fb414780988fbbceac9c4b5f | watcher    | infra-optim |
    | db60453eca65409bbb0b61f4295c66ec | placement  | placement   |
    | fa717124fbcb4d708ba4c41c9109df81 | keystone   | identity    |
    +----------------------------------+------------+-------------+

  2. openstackclient Pod が watcher サービスと通信できることを確認するには、OpenStack クラウドが watcher エンドポイントと通信できることを確認します。

    $ oc rsh openstackclient openstack optimize service list

    出力例

    +----+-------------------------+---------------------------+--------+
    | ID | Name                    | Host                      | Status |
    +----+-------------------------+---------------------------+--------+
    |  1 | watcher-applier         | watcher-applier-0         | ACTIVE |
    |  2 | watcher-decision-engine | watcher-decision-engine-0 | ACTIVE |
    +----+-------------------------+---------------------------+--------+

  3. エンドポイントが HTTPS を使用していることを確認します。

    $ oc rsh openstackclient openstack endpoint list --service infra-optim -c 'Service Name' -c 'Interface' -c 'URL'

    出力例

    +--------------+-----------+---------------------------------------------------------------+
    | Service Name | Interface | URL                                                           |
    +--------------+-----------+---------------------------------------------------------------+
    | watcher      | public    | https://watcher-public-watcher-kuttl-default.example.com      |
    | watcher      | internal  | https://watcher-internal.watcher-kuttl-default.svc:9322       |
    +--------------+-----------+---------------------------------------------------------------+

第4章 Optimize サービスワークフローの例

重要

このセクションの以下のコンテンツは、今回のリリースでは テクノロジープレビュー としての利用となるため、Red Hat によって完全にはサポートされません。これは、テスト用途にのみご利用いただく機能です。実稼働環境にはデプロイしないでください。詳細は、テクノロジープレビュー を参照してください。

Red Hat OpenStack Services on OpenShift (RHOSO) の Optimize サービス (watcher) のこのリリースには、2 つのサンプルワークフローが同梱されています。1 つのワークフローでは OpenStack CLI を使用し、もう 1 つのワークフローでは OpenStack Dashboard (horizon) を使用します。2 つのサンプルワークフローでは、インスタンスを作成する必要があります。インスタンスの作成については、インスタンスの作成と管理インスタンスの作成 を参照してください。

このセクションに含まれるトピックは次のとおりです。

前提条件

  • 機能する RHOSO 18.0 のデプロイメント。デプロイメントには 2 つ以上のコンピュートノードを含める。
  • Compute サービス (nova) のライブマイグレーション機能が動作する。
  • Optimize サービスが稼働している。
  • ワークステーションに oc コマンドラインツールがインストール済みである。
  • cluster-admin 権限を持つユーザーとして、RHOSO コントロールプレーンにアクセスできるワークステーションにログオン済みである。

4.1. ノードリソースの統合

node resource consolidation strategy を使用して、ワークロードの拡散を減らし、インスタンスをコンピュートノードの小さなサブセットにまとめます。Red Hat OpenStack Services on OpenShift (RHOSO) 管理者は、node resource consolidation strategy で Optimize サービス (watcher) を使用して、ユーザーへの影響なしに、実行中のすべてのインスタンスを移行元コンピュートノードから移行先コンピュートノードに移行できます。VM workload consolidation strategy とは異なり、node resource consolidation strategy では、ソースコンピュートノードのステータスが disabled に設定されません。

Expand
表4.1 目標とストラテジーの実証
目的ストラテジー

server_consolidation

node_resource_consolidation

前提条件

  • RHOSO 18.0 が稼働しており、Optimize サービス (watcher) が実行されている。
  • RHOSO 環境には、各ノードで少なくとも 1 つのインスタンスを実行する少なくとも 2 つのコンピュートノードが含まれています。
  • ワークステーションに oc コマンドラインツールがインストール済みである。
  • cluster-admin 権限を持つユーザーとして、RHOSO コントロールプレーンにアクセスできるワークステーションにログオン済みである。

手順

  1. ワークステーションから OpenStackClient Pod のリモートシェルにアクセスします。

    $ oc rsh -n openstack openstackclient
  2. RHOSO 環境に、各ノードで少なくとも 1 つのインスタンスを実行する少なくとも 2 つのコンピュートノードが含まれていることを確認します。

    $ openstack server list --long -c Name -c Host

    出力例

    この例では、それぞれ compute1compute2 で実行されているインスタンス test01test02 は次のとおりです。

    +--------+-------------------------------+
    | Name   | Host                          |
    +--------+-------------------------------+
    | test02 | compute2.ctlplane.localdomain |
    | test01 | compute1.ctlplane.localdomain |
    +--------+-------------------------------+
  3. ストラテジー node_resource_consolidation と目標 server_consolidation を使用する監査テンプレートを作成します。

    この例では、監査テンプレートの名前は NodeResourceConsolidation です。

    $ openstack optimize audittemplate create -s node_resource_consolidation NodeResourceConsolidation server_consolidation

    出力例

    +-------------+--------------------------------------+
    | Field       | Value                                |
    +-------------+--------------------------------------+
    | UUID        | 6e7f98fc-c311-4097-9370-fa66e5bfedcf |
    | Created At  | 2025-07-11T17:39:37.776106+00:00     |
    | Updated At  | None                                 |
    | Deleted At  | None                                 |
    | Description | None                                 |
    | Name        | NodeResourceConsolidation            |
    | Goal        | server_consolidation                 |
    | Strategy    | node_resource_consolidation          |
    | Audit Scope | []                                   |
    +-------------+--------------------------------------+
  4. 監査テンプレートが作成されたことを確認します。

    $ openstack optimize audittemplate list

    出力例

    +----------------------+-----------------------------+
    | Goal                 | Strategy                    |
    +----------------------+-----------------------------+
    | server_consolidation | node_resource_consolidation |
    +----------------------+-----------------------------+
  5. ストラテジー node_resource_consolidation と目標 server_consolidation に基づいて監査テンプレートを使用する監査を実行します。

    この監査では、NodeResourceConsolidation 監査テンプレートが使用され、両方のコンピュートノードのリソース使用状況がチェックされます。ストラテジーパラメーター host_choice=specify が設定されています。これは、ストラテジーによってインスタンスが移行されるノードが指定されることを意味します。

    $ openstack optimize audit create -a NodeResourceConsolidation \
    -p host_choice=specify

    このストラテジーが使用するパラメーターの詳細は、ノードリソース統合ストラテジー を参照してください。

    出力例

    +---------------+--------------------------------------------------------+
    | Field         | Value                                                  |
    +---------------+--------------------------------------------------------+
    | UUID          | 7984626e-cc14-4b87-ab96-f0127f2da51e                   |
    | Name          | node_resource_consolidation-2025-07-11T17:45:36.604178 |
    | Created At    | 2025-07-11T17:45:36.615613+00:00                       |
    | Updated At    | None                                                   |
    | Deleted At    | None                                                   |
    | State         | PENDING                                                |
    | Audit Type    | ONESHOT                                                |
    | Parameters    | {'host_choice': 'specify'}                             |
    | Interval      | None                                                   |
    | Goal          | server_consolidation                                   |
    | Strategy      | node_resource_consolidation                            |
    | Audit Scope   | []                                                     |
    | Auto Trigger  | False                                                  |
    | Next Run Time | None                                                   |
    | Hostname      | None                                                   |
    | Start Time    | None                                                   |
    | End Time      | None                                                   |
    | Force         | False                                                  |
    +---------------+--------------------------------------------------------+
  6. Optimize サービスが監査を実行したことを確認します。

    $ openstack optimize audit list

    出力例

    監査の State の値が SUCCEEDED の場合、監査が実行され、アクションプランが作成されています。

    +----------------------------+-----------+-----------------------------+
    | UUID                       | State     | Strategy                    |
    +----------------------------+-----------+-----------------------------+
    | 7984626e-cc14-4b87-ab96-   | SUCCEEDED | node_resource_consolidation |
    | f0127f2da51e               |           |                             |
    +----------------------------+-----------+-----------------------------+
  7. アクションプランを確認します。

    $ openstack optimize actionplan list \
    --audit 7984626e-cc14-4b87-ab96-f0127f2da51e

    出力例

    この例では、Global efficacyReleased_nodes_ratio: 50.00 %. です。この値は、アクションプランを実行すると、コンピュートサービスがインスタンスをライブマイグレーションし、環境内のコンピュートノードの半分が解放され、実行中のインスタンスがホストされなくなることを示します。

    +---------------------------+-------------+----------------------------+
    | UUID                      | State       | Global efficacy            |
    +---------------------------+-------------+----------------------------+
    | 71fc5c0c-5890-4cd8-b919-  | RECOMMENDED | Released_nodes_ratio:      |
    | f06eb94da94b              |             | 50.00 %                    |
    |                           |             |                            |
    +---------------------------+-------------+----------------------------+
  8. アクションプランに含まれるアクションをリストします。

    $ openstack optimize action list \
    --action-plan 71fc5c0c-5890-4cd8-b919-f06eb94da94b

    出力例

    この例では、アクションプランには migrate アクションが 1 つ含まれています。

    +--------------------------------------+---------+---------+
    | UUID                                 | State   | Action  |
    +--------------------------------------+---------+---------+
    | bda5053b-2489-49fe-bc04-5b2ad3bc5075 | PENDING | migrate |
    +--------------------------------------+---------+---------+
  9. アクションの詳細を表示できます。

    $ openstack optimize action show bda5053b-2489-49fe-bc04-5b2ad3bc5075

    出力例

    この例では、アクションプランは、コンピュートノードの 1 つで実行されている全インスタンスのライブマイグレーションを実行して、ノードを解放します。

    +-------------+--------------------------------------------------------+
    | Field       | Value                                                  |
    +-------------+--------------------------------------------------------+
    | UUID        | bda5053b-2489-49fe-bc04-5b2ad3bc5075                   |
    | Created At  | 2025-07-11T17:45:36+00:00                              |
    | Updated At  | None                                                   |
    | Deleted At  | None                                                   |
    | Parents     | []                                                     |
    | State       | PENDING                                                |
    | Action Plan | 71fc5c0c-5890-4cd8-b919-f06eb94da94b                   |
    | Action      | migrate                                                |
    | Parameters  | {'migration_type': 'live', 'source_node':              |
    |             | 'compute1.ctlplane.localdomain', 'resource_name':      |
    |             | 'test01', 'destination_node':                          |
    |             | 'compute2.ctlplane.localdomain', 'resource_id':        |
    |             | '331141f0-2335-4bef-8129-c27041c4d632'}                |
    | Description | Moving a VM instance from source_node to               |
    |             | destination_node                                       |
    +-------------+--------------------------------------------------------+
  10. アクションプランを実行します。

    $ openstack optimize actionplan start \
    71fc5c0c-5890-4cd8-b919-f06eb94da94b

    出力例

    +---------------------+------------------------------------------------+
    | Field               | Value                                          |
    +---------------------+------------------------------------------------+
    | UUID                | 71fc5c0c-5890-4cd8-b919-f06eb94da94b           |
    | Created At          | 2025-07-11T17:45:36+00:00                      |
    | Updated At          | 2025-07-11T18:04:55+00:00                      |
    | Deleted At          | None                                           |
    | Audit               | 7984626e-cc14-4b87-ab96-f0127f2da51e           |
    | Strategy            | node_resource_consolidation                    |
    | State               | PENDING                                        |
    | Efficacy indicators | [{'name': 'compute_nodes_count',               |
    |                     | 'description': 'The total number of enabled    |
    |                     | compute nodes.', 'unit': None, 'value': 2.0},  |
    |                     | {'name': 'released_compute_nodes_count',       |
    |                     | 'description': 'The number of compute nodes to |
    |                     | be released.', 'unit': None, 'value': 1.0},    |
    |                     | {'name': 'instance_migrations_count',          |
    |                     | 'description': 'The number of VM migrations to |
    |                     | be performed.', 'unit': None, 'value': 1.0}]   |
    | Global efficacy     | [{'name': 'released_nodes_ratio',              |
    |                     | 'description': 'Ratio of released compute      |
    |                     | nodes divided by the total number of enabled   |
    |                     | compute nodes.', 'unit': '%', 'value': 50.0}]  |
    | Hostname            | None                                           |
    +---------------------+------------------------------------------------+
  11. アクションが成功したことを確認します。

    $ openstack optimize action list \
    --action-plan 71fc5c0c-5890-4cd8-b919-f06eb94da94

    出力例

    +-----------------------+-----------+------------------------+---------+
    | UUID                  | State     | Action Plan            | Action  |
    +-----------------------+-----------+------------------------+---------+
    | bda5053b-2489-49fe-   | SUCCEEDED | 71fc5c0c-5890-4cd8-    | migrate |
    | bc04-5b2ad3bc5075     |           | b919-f06eb94da94b      |         |
    +-----------------------+-----------+------------------------+---------+
  12. コンピュートノードの 1 つがインスタンスをホストしていないことを確認します。

    $ openstack server list --long

    出力例

    この例では、test01test02 の両方のインスタンスが同じコンピュートノード compute2 上で実行されています。これは compute1 ノードが解放されたことを意味します。

    +--------+-------------------------------+
    | Name   | Host                          |
    +--------+-------------------------------+
    | test02 | compute2.ctlplane.localdomain |
    | test01 | compute2.ctlplane.localdomain |
    +--------+-------------------------------+
  13. openstackclient Pod を終了します。

    $ exit

4.2. 仮想マシンインスタンスの統合

VM workload consolidation strategy で Optimize サービス (watcher) を使用して、物理ホストの CPU または RAM 使用率が指定されたしきい値を超えたときに仮想マシンインスタンスのワークロードを移動します。移行するインスタンスは、対象ホストのワークロードが Red Hat OpenStack Services on OpenShift (RHOSO) クラスター内のすべてのコンピュートノードの平均に近づくようにする必要があります。node resource consolidation strategy とは異なり、VM workload consolidation strategy では、ソースコンピュートノードのステータスが disabled に設定されます。

Expand
表4.2 目標とストラテジーの実証
目的ストラテジー

server_consolidation

vm_workload_consolidation

前提条件

  • RHOSO 18.0 が稼働しており、Optimize サービス (watcher) が実行されている。
  • RHOSO 環境には、各ノードで少なくとも 1 つのインスタンスを実行する少なくとも 2 つのコンピュートノードが含まれています。
  • ワークステーションに oc コマンドラインツールがインストール済みである。
  • cluster-admin 権限を持つユーザーとして、RHOSO コントロールプレーンにアクセスできるワークステーションにログオン済みである。

手順

  1. ワークステーションから OpenStackClient Pod のリモートシェルにアクセスします。

    $ oc rsh -n openstack openstackclient
  2. RHOSO 環境に、各ノードで少なくとも 1 つのインスタンスを実行する少なくとも 2 つのコンピュートノードが含まれていることを確認します。

    $ openstack server list --long

    出力例

    この例では、compute1 で実行されているインスタンス test01test03 の RAM の負荷が高くなっています。workload balance strategy で Optimize サービスを使用して、ユーザーへの影響なしに、これらのインスタンスの少なくとも 1 つを、より容量の多いコンピュートノードに移行することを想定します。

    +--------+-------------------------------+
    | Name   | Host                          |
    +--------+-------------------------------+
    | test04 | compute2.ctlplane.localdomain |
    | test03 | compute1.ctlplane.localdomain |
    | test02 | compute2.ctlplane.localdomain |
    | test01 | compute1.ctlplane.localdomain |
    +--------+-------------------------------+
  3. ストラテジー vm_workload_consolidation と目標 server_consolidation を使用する監査テンプレートを作成します。

    この例では、監査テンプレートの名前は WorkLoadConsolidation です。

    $ openstack optimize audittemplate create -s vm_workload_consolidation \
    WorkLoadConsolidation server_consolidation

    出力例

    +-------------+--------------------------------------+
    | Field       | Value                                |
    +-------------+--------------------------------------+
    | UUID        | eebd556d-b95b-4f1b-91fa-8a08a04a765b |
    | Created At  | 2025-07-11T19:18:28.283497+00:00     |
    | Updated At  | None                                 |
    | Deleted At  | None                                 |
    | Description | None                                 |
    | Name        | WorkLoadConsolidation                |
    | Goal        | server_consolidation                 |
    | Strategy    | vm_workload_consolidation            |
    | Audit Scope | []                                   |
    +-------------+--------------------------------------+
  4. 監査テンプレートが作成されたことを確認します。

    $ openstack optimize audittemplate list

    出力例

    +----------------------+-----------------------------+
    | Goal                 | Strategy                    |
    +----------------------+-----------------------------+
    | server_consolidation | vm_workload_consolidation   |
    +----------------------+-----------------------------+
  5. ストラテジー vm_workload_consolidation と目標 server_consolidation に基づいて監査テンプレートを使用する監査を実行します。環境に適した値でストラテジーパラメーターを更新します。

    この監査では、WorkLoadConsolidation 監査テンプレートが使用され、workload_balance ストラテジーを使用して CPU 使用率をチェックします。

    $ openstack optimize audit create -a WorkLoadConsolidation

    このストラテジーが使用するパラメーターの詳細は、仮想マシンワークロード統合ストラテジー を参照してください。

    出力例

    +---------------+------------------------------------------------------+
    | Field         | Value                                                |
    +---------------+------------------------------------------------------+
    | UUID          | bdb0edfa-344a-4897-a7fd-3b1994d87db7                 |
    | Name          | vm_workload_consolidation-2025-07-11T19:23:52.285726 |
    | Created At    | 2025-07-11T19:23:52.296188+00:00                     |
    | Updated At    | None                                                 |
    | Deleted At    | None                                                 |
    | State         | PENDING                                              |
    | Audit Type    | ONESHOT                                              |
    | Parameters    | {'period': 3600, 'granularity': 300}                 |
    | Interval      | None                                                 |
    | Goal          | server_consolidation                                 |
    | Strategy      | vm_workload_consolidation                            |
    | Audit Scope   | []                                                   |
    | Auto Trigger  | False                                                |
    | Next Run Time | None                                                 |
    | Hostname      | None                                                 |
    | Start Time    | None                                                 |
    | End Time      | None                                                 |
    | Force         | False                                                |
    +---------------+------------------------------------------------------+
  6. Optimize サービスが監査を実行したことを確認します。

    $ openstack optimize audit list

    出力例

    監査の State の値が SUCCEEDED の場合、監査が実行され、アクションプランが作成されています。

    +----------------------------+-----------+-----------------------------+
    | UUID                       | State     | Strategy                    |
    +----------------------------+-----------+-----------------------------+
    | bdb0edfa-344a-4897-a7fd-   | SUCCEEDED | vm_workload_consolidation   |
    | 3b1994d87db7               |           |                             |
    +----------------------------+-----------+-----------------------------+
  7. アクションプランを確認します。

    $ openstack optimize actionplan list \
    --audit bdb0edfa-344a-4897-a7fd-3b1994d87db7

    出力例

    この例では、Global efficacy は、Live_migrations_count: 50.00 % です。この値は、アクションプランを実行すると、コンピュートサービスによって現在稼働中のインスタンスの 50% が移行されることを示します。

    +---------------------------+-------------+----------------------------+
    | UUID                      | State       | Global efficacy            |
    +---------------------------+-------------+----------------------------+
    | 71bb6d02-50a9-4e18-b030-  | RECOMMENDED | Released_nodes_ratio:      |
    | c070d5b36cde              |             | 50.00 %                    |
    |                           |             |                            |
    +---------------------------+-------------+----------------------------+
  8. アクションプランに含まれるアクションをリストします。

    $ openstack optimize action list \
    --action-plan 71bb6d02-50a9-4e18-b030-c070d5b36cde

    出力例

    この例では、アクションプランには migrate アクションが 1 つ含まれています。

    +-----------------------------+---------+---------------------------+
    | UUID                        | State   | Action                    |
    +-----------------------------+---------+---------------------------+
    | 7207af7a-569f-4d72-9a9a-    | PENDING | change_nova_service_state |
    | 0be7f9c9b175                |         |                           |
    | 29404127-f9ad-4124-b3d3-    | PENDING | migrate                   |
    | 497420f46e6b                |         |                           |
    | c6cb91d7-26e8-4864-8a5c-    | PENDING | migrate                   |
    | 5ebfe23d6c91                |         |                           |
    +-----------------------------+---------+---------------------------+
  9. アクションの詳細を表示できます。

    $ openstack optimize action show 7207af7a-569f-4d72-9a9a-0be7f9c9b175

    出力例

    この例では、アクションプランは、CPU 使用率の高いインスタンスの 1 つを、インスタンスの CPU 使用率が低いコンピュートノードにライブマイグレーションします。

    +-------------+--------------------------------------------------------+
    | Field       | Value                                                  |
    +-------------+--------------------------------------------------------+
    | UUID        | 7207af7a-569f-4d72-9a9a-0be7f9c9b175                   |
    | Created At  | 2025-07-11T19:23:52+00:00                              |
    | Updated At  | None                                                   |
    | Deleted At  | None                                                   |
    | Parents     | []                                                     |
    | State       | PENDING                                                |
    | Action Plan | 71bb6d02-50a9-4e18-b030-c070d5b36cde                   |
    | Action      | change_nova_service_state                              |
    | Parameters  | {'state': 'disabled', 'disabled_reason':               |
    |             | 'watcher_disabled', 'resource_name':                   |
    |             | 'compute1.ctlplane.localdomain', 'resource_id':        |
    |             | '87254b5a-257b-48ea-aee0-0d4189d84fc7'}                |
    | Description | Disables or enables the nova-compute service.A         |
    |             | disabled nova-compute service can not be selected by   |
    |             | the nova for future deployment of new server.          |
    +-------------+--------------------------------------------------------+
  10. アクションプランを実行します。

    $ openstack optimize actionplan start \
    71bb6d02-50a9-4e18-b030-c070d5b36cde

    出力例

    +---------------------+------------------------------------------------+
    | Field               | Value                                          |
    +---------------------+------------------------------------------------+
    | UUID                | 71bb6d02-50a9-4e18-b030-c070d5b36cde           |
    | Created At          | 2025-07-11T19:23:52+00:00                      |
    | Updated At          | 2025-07-11T19:30:45+00:00                      |
    | Deleted At          | None                                           |
    | Audit               | bdb0edfa-344a-4897-a7fd-3b1994d87db7           |
    | Strategy            | vm_workload_consolidation                      |
    | State               | PENDING                                        |
    | Efficacy indicators | [{'name': 'compute_nodes_count',               |
    |                     | 'description': 'The total number of enabled    |
    |                     | compute nodes.', 'unit': None, 'value': 2.0},  |
    |                     | {'name': 'released_compute_nodes_count',       |
    |                     | 'description': 'The number of compute nodes to |
    |                     | be released.', 'unit': None, 'value': 1.0},    |
    |                     | {'name': 'instance_migrations_count',          |
    |                     | 'description': 'The number of VM migrations to |
    |                     | be performed.', 'unit': None, 'value': 2.0}]   |
    | Global efficacy     | [{'name': 'released_nodes_ratio',              |
    |                     | 'description': 'Ratio of released compute      |
    |                     | nodes divided by the total number of enabled   |
    |                     | compute nodes.', 'unit': '%', 'value': 50.0}]  |
    | Hostname            | None                                           |
    +---------------------+------------------------------------------------+
  11. アクションが成功したことを確認します。

    $ openstack optimize action list \
    --action-plan 71bb6d02-50a9-4e18-b030-c070d5b36cde

    出力例

    +-----------+----------------------------+---------------------------+
    | State     | Action Plan                | Action                    |
    +-----------+----------------------------+---------------------------+
    | SUCCEEDED | 71bb6d02-50a9-4e18-b030-   | change_nova_service_state |
    |           | c070d5b36cde               |                           |
    | SUCCEEDED | 71bb6d02-50a9-4e18-b030-   | migrate                   |
    |           | c070d5b36cde               |                           |
    | SUCCEEDED | 71bb6d02-50a9-4e18-b030-   | migrate                   |
    |           | c070d5b36cde               |                           |
    +-----------+----------------------------+---------------------------+
  12. CPU 使用率の高いインスタンスの 1 つが別のコンピュートノードに移行されていることを確認します。

    $ openstack server list --long

    出力例

    この例では、インスタンス test01test03 が別のノード compute2 で実行されています。

    +--------+-------------------------------+
    | Name   | Host                          |
    +--------+-------------------------------+
    | test04 | compute2.ctlplane.localdomain |
    | test03 | compute2.ctlplane.localdomain |
    | test02 | compute2.ctlplane.localdomain |
    | test01 | compute2.ctlplane.localdomain |
    +--------+-------------------------------+
  13. openstackclient Pod を終了します。

    $ exit

4.3. 複数のワークロードの安定化

物理ホストの CPU または RAM の使用率が指定されたしきい値を超えたときに workload stabilization strategy で Optimize サービス (watcher) を使用して仮想マシンインスタンスのワークロードを移動します。移行するインスタンスは、対象ホストのワークロードが Red Hat OpenStack Services on OpenShift (RHOSO) クラスター内のすべてのコンピュートノードの平均に近づくようにする必要があります。

このトピックでは、複数のワークロードを安定化するときに OpenStack Dashboard (horizon) を使用する方法も説明します。

Expand
表4.3 目標とストラテジーの実証
目的ストラテジー

workload_balancing

workload_stabilization

前提条件

  • RHOSO 18.0 が稼働しており、Optimize サービス (watcher) が実行されている。
  • 異なるノードで実行されるインスタンスを少なくとも 2 つ作成した。
  • ワークステーションに Dashboard サービス (horizon) がインストールされている。
  • ワークステーションに oc コマンドラインツールがインストール済みである。
  • cluster-admin 権限を持つユーザーとして、RHOSO コントロールプレーンにアクセスできるワークステーションにログオン済みである。

手順

  1. Admin ロールが割り当てられているプロジェクトにいることを確認します。

    Dashboard Admin menu

  2. Compute メニューをクリックし、Instances を選択します。

    Compute menu

  3. RHOSO 環境に、各ノードで少なくとも 1 つのインスタンスを実行する少なくとも 2 つのコンピュートノードが含まれていることを確認します。

    この例では、compute1 で実行されているインスタンス test01test03 の CPU 負荷が高くなっています。workload stabilization strategy で Optimize サービスを使用して、ユーザーへの影響なしに、これらのインスタンスの少なくとも 1 つを、より容量の多いコンピュートノードにライブマイグレーションできます。

    Instances panel

  4. Admin タブをクリックします。

    Admin tab

  5. Optimization メニューをクリックし、Audit Templates を選択します。

    Optimization panel

  6. Audit Templates パネルで Create Template をクリックします。

    Create Template button

    Create Audit Template ダイアログボックスが表示されます。

  7. WorkLoadStabilization という名前の Audit Template を作成し、目標として Workload Balancing を、ストラテジーとして Workload stabilization を選択します。完了したら、Create Audit Template ボタンをクリックします。

    Create Audit Template dialog box

  8. Audits サブタブをクリックし、Create Audit ボタンをクリックします。

    Audits panel

    Create Audit ダイアログボックスが表示されます。

  9. 次の値を選択し、Create Audit ボタンをクリックします。

    1. Audit Template で、WorkLoadStabilization を選択します。
    2. Audit TypeCONTINUOUS を選択します。
    3. Interval180 を入力します。

      Create Audit Template dialog box

  10. 新しい監査用に作成されたアクションプランを表示するには、Audit の UUID をクリックします。

    Audits panel

  11. 詳細を表示するには、アクションプランの UUID をクリックしてください。

    Action plan

  12. Related Actions の UUID をクリックします。

    Action plan

    Actions パネルでは、推奨アクションに関する詳細情報を確認できます。

    この例では、CPU 負荷が高いインスタンスである test01 インスタンスが、compute1 ノードから compute2 ノードにライブマイグレーションされます。

    Actions panel

  13. アクションの確認が完了したら、Action plans サブメニューをクリックします。

    Action plan

  14. Action Plans パネルの RECOMMENDED アクションプランで、Start Action Plan ボタンをクリックします。

    Action plan

    State の値が ONGOING に変わります。

    StateSUCCEEDED の値が表示されるまで、アクションプランパネルを監視します。

  15. Compute メニューをクリックし、Instances を選択します。

    Compute menu

  16. CPU 使用率の高いインスタンスの 1 つが別のコンピュートノードに移行されていることを確認します。

    この例では、インスタンス test01 は別のノード compute2 で実行されています。

    Instances panel

  17. Optimization メニューをクリックし、Audits を選択します。

    Compute menu

  18. Audits パネルの Go to Action Plan ドロップダウンから Cancel Audit を選択して、CONTINUOUS 監査を停止します。

    Audits panel

4.4. 単一インスタンスのワークロードの分散

物理ホストの CPU または RAM の使用率が指定されたしきい値を超えたときに、workload balance strategy で Optimize サービス (watcher) を使用して仮想マシンインスタンスのワークロードを移動します。移行するインスタンスは、対象ホストのワークロードが Red Hat OpenStack Services on OpenShift (RHOSO) クラスター内のすべてのコンピュートノードの平均に近づくようにする必要があります。

Expand
表4.4 目標とストラテジーの実証
目的ストラテジー

workload_balancing

ワークロードバランス

前提条件

  • RHOSO 18.0 が稼働しており、Optimize サービス (watcher) が実行されている。
  • RHOSO 環境には、各ノードで少なくとも 1 つのインスタンスを実行する少なくとも 2 つのコンピュートノードが含まれています。
  • ワークステーションに oc コマンドラインツールがインストール済みである。
  • cluster-admin 権限を持つユーザーとして、RHOSO コントロールプレーンにアクセスできるワークステーションにログオン済みである。

手順

  1. ワークステーションから OpenStackClient Pod のリモートシェルにアクセスします。

    $ oc rsh -n openstack openstackclient
  2. RHOSO 環境に、各ノードで少なくとも 1 つのインスタンスを実行する少なくとも 2 つのコンピュートノードが含まれていることを確認します。

    $ openstack server list --long

    出力例

    この例では、compute1 で実行されているインスタンス test01test03 の CPU 負荷が高くなっています。workload balance strategy で Optimize サービスを使用して、ユーザーへの影響なしに、これらのインスタンスの少なくとも 1 つを、より容量の多いコンピュートノードにライブマイグレーションすることを想定します。

    +--------+-------------------------------+
    | Name   | Host                          |
    +--------+-------------------------------+
    | test04 | compute2.ctlplane.localdomain |
    | test03 | compute1.ctlplane.localdomain |
    | test02 | compute2.ctlplane.localdomain |
    | test01 | compute1.ctlplane.localdomain |
    +--------+-------------------------------+
  3. ストラテジー workload_balance、および目標 workload_balancing を使用する監査テンプレートを作成します。

    この例では、監査テンプレートの名前は WorkLoadBalance です。

    $ openstack optimize audittemplate create -s workload_balance \
    WorkLoadBalance workload_balancing

    出力例

    +-------------+--------------------------------------+
    | Field       | Value                                |
    +-------------+--------------------------------------+
    | UUID        | 5990155a-e3f2-46f8-a81e-c87d0b2f09a2 |
    | Created At  | 2025-07-03T14:05:23.231411+00:00     |
    | Updated At  | None                                 |
    | Deleted At  | None                                 |
    | Description | None                                 |
    | Name        | WorkLoadBalance                      |
    | Goal        | workload_balancing                   |
    | Strategy    | workload_balance                     |
    | Audit Scope | []                                   |
    +-------------+--------------------------------------+
  4. 監査テンプレートが作成されたことを確認します。

    $ openstack optimize audittemplate list

    出力例

    +----------------------+------------------+
    | Goal                 | Strategy         |
    +----------------------+------------------+
    | workload_balancing   | workload_balance |
    +----------------------+------------------+
  5. ストラテジー workload_balance、および目標 workload_balancing に基づいて監査テンプレートを使用する監査を実行します。環境に適した値でストラテジーパラメーターを更新します。

    この監査では、WorkLoadBalance 監査テンプレートが使用され、さまざまな値を持つ workload_balance ストラテジーパラメーターを使用して CPU 使用率をチェックします。

    $ openstack optimize audit create -a WorkLoadBalance -p granularity=30 \
    -p threshold=20 -p period=300 -p metrics=instance_cpu_usage

    このストラテジーが使用するパラメーターの詳細は、Workload balance migration strategy を参照してください。

    出力例

    +---------------+------------------------------------------------------+
    | Field         | Value                                                |
    +---------------+------------------------------------------------------+
    | UUID          | ad815d54-5b7d-4562-aa12-17e1b64d0868                 |
    | Name          | workload_balance-2025-07-03T15:55:08.016161          |
    | Created At    | 2025-07-03T15:55:08.026706+00:00                     |
    | Updated At    | None                                                 |
    | Deleted At    | None                                                 |
    | State         | PENDING                                              |
    | Audit Type    | ONESHOT                                              |
    | Parameters    | {'granularity': 30, 'threshold': 20, 'period': 300,  |
    |               | 'metrics': 'instance_cpu_usage'}                     |
    | Interval      | None                                                 |
    | Goal          | workload_balancing                                   |
    | Strategy      | workload_balance                                     |
    | Audit Scope   | []                                                   |
    | Auto Trigger  | False                                                |
    | Next Run Time | None                                                 |
    | Hostname      | None                                                 |
    | Start Time    | None                                                 |
    | End Time      | None                                                 |
    | Force         | False                                                |
    +---------------+------------------------------------------------------+
  6. Optimize サービスが監査を実行したことを確認します。

    $ openstack optimize audit list

    出力例

    監査の State の値が SUCCEEDED の場合、監査が実行され、アクションプランが作成されています。

    +--------------------------------------+-----------+------------------+
    | UUID                                 | State     | Strategy         |
    +--------------------------------------+-----------+------------------+
    | ad815d54-5b7d-4562-aa12-17e1b64d0868 | SUCCEEDED | workload_balance |
    +--------------------------------------+-----------+------------------+
  7. アクションプランを確認します。

    $ openstack optimize actionplan list \
    --audit ad815d54-5b7d-4562-aa12-17e1b64d0868

    出力例

    この例では、Global efficacyLive_migrations_count: 25.00 % です。この値は、アクションプランを実行すると、コンピュートサービスによって現在稼働中のインスタンスの 25% が移行されることを示します。

    +---------------------------+-------------+----------------------------+
    | UUID                      | State       | Global efficacy            |
    +---------------------------+-------------+----------------------------+
    | f40dfa4e-1b96-4883-b85f-  | RECOMMENDED | Live_migrations_count:     |
    | 3bfa73554359              |             | 25.00 %                    |
    |                           |             |                            |
    +---------------------------+-------------+----------------------------+
  8. アクションプランに含まれるアクションをリストします。

    $ openstack optimize action list \
    --action-plan f40dfa4e-1b96-4883-b85f-3bfa73554359

    出力例

    この例では、アクションプランには migrate アクションが 1 つ含まれています。

    +--------------------------------------+---------+---------+
    | UUID                                 | State   | Action  |
    +--------------------------------------+---------+---------+
    | 9a510bf9-ebac-450d-a4ea-a10b66d6d869 | PENDING | migrate |
    +--------------------------------------+---------+---------+
  9. アクションの詳細を表示できます。

    $ openstack optimize action show 9a510bf9-ebac-450d-a4ea-a10b66d6d869

    出力例

    この例では、アクションプランは、CPU 使用率の高いインスタンスの 1 つを、インスタンスの CPU 使用率が低いコンピュートノードにライブマイグレーションします。

    +-------------+--------------------------------------------------------+
    | Field       | Value                                                  |
    +-------------+--------------------------------------------------------+
    | UUID        | 9a510bf9-ebac-450d-a4ea-a10b66d6d869                   |
    | Created At  | 2025-07-03T15:55:08+00:00                              |
    | Updated At  | None                                                   |
    | Deleted At  | None                                                   |
    | Parents     | []                                                     |
    | State       | PENDING                                                |
    | Action Plan | f40dfa4e-1b96-4883-b85f-3bfa73554359                   |
    | Action      | migrate                                                |
    | Parameters  | {'migration_type': 'live', 'source_node':              |
    |             | 'compute1.ctlplane.localdomain', 'destination_node':   |
    |             | 'compute2.ctlplane.localdomain', 'resource_name':      |
    |             | 'test03', 'resource_id':                               |
    |             | 'd6ae1c7c-8e69-45ae-92b3-6218b8c1570b'}                |
    | Description | Moving a VM instance from source_node to               |
    |             | destination_node                                       |
    +-------------+--------------------------------------------------------+
  10. アクションプランを実行します。

    $ openstack optimize actionplan start \
    f40dfa4e-1b96-4883-b85f-3bfa73554359

    出力例

    +---------------------+------------------------------------------------+
    | Field               | Value                                          |
    +---------------------+------------------------------------------------+
    | UUID                | f40dfa4e-1b96-4883-b85f-3bfa73554359           |
    | Created At          | 2025-07-03T15:55:08+00:00                      |
    | Updated At          | 2025-07-03T16:00:23+00:00                      |
    | Deleted At          | None                                           |
    | Audit               | f878bd64-96bc-4063-97a6-dc7500edfb55           |
    | Strategy            | workload_balance                               |
    | State               | PENDING                                        |
    | Efficacy indicators | [{'name': 'instance_migrations_count',         |
    |                     | 'description': 'The number of VM migrations to |
    |                     | be performed.', 'unit': None, 'value': 1.0},   |
    |                     | {'name': 'instances_count', 'description':     |
    |                     | 'The total number of audited instances in      |
    |                     | strategy.', 'unit': None, 'value': 4.0}]       |
    | Global efficacy     | [{'name': 'live_migrations_count',             |
    |                     | 'description': 'Ratio of migrated virtual      |
    |                     | machines to audited virtual machines', 'unit': |
    |                     | '%', 'value': 25.0}]                           |
    | Hostname            | None                                           |
    +---------------------+------------------------------------------------+
  11. アクションが成功したことを確認します。

    $ openstack optimize action list \
    --action-plan dfdcb491-89c5-4c07-a5ed-65d2085c488c

    出力例

    +------------------+---------+-----------+-------------------+---------+
    | UUID             | Parents | State     | Action Plan       | Action  |
    +------------------+---------+-----------+-------------------+---------+
    | 9a510bf9-ebac-   | []      | SUCCEEDED | f40dfa4e-1b96-    | migrate |
    | 450d-a4ea-       |         |           | 4883-b85f-        |         |
    | a10b66d6d869     |         |           | 3bfa73554359      |         |
    +------------------+---------+-----------+-------------------+---------+
  12. CPU 使用率の高いインスタンスの 1 つが別のコンピュートノードに移行されていることを確認します。

    $ openstack server list --long

    出力例

    この例では、インスタンス test03 が別のノード compute2 で実行されています。

    +--------+-------------------------------+
    | Name   | Host                          |
    +--------+-------------------------------+
    | test04 | compute2.ctlplane.localdomain |
    | test03 | compute2.ctlplane.localdomain |
    | test02 | compute2.ctlplane.localdomain |
    | test01 | compute1.ctlplane.localdomain |
    +--------+-------------------------------+
  13. openstackclient Pod を終了します。

    $ exit

4.5. ワークロード移行の効率化

zone migration strategy で Optimize サービス (watcher) を使用すると、Red Hat OpenStack Services on OpenShift (RHOSO) 環境で、ユーザーへの影響やハードウェアメンテナンスのダウンタイムを最小限に抑えながら、多数のインスタンスを効率的に移行できます。

注記

ゾーン移行ストラテジーにおける ゾーン という用語は、ユーザー定義のコンピュートノードとストレージプールのセットを指します。ゾーン は Openstack のアベイラビリティーゾーンを指すものではありません。

Expand
表4.5 目標とストラテジーの実証
目的ストラテジー

zone_migration

server_consolidation

前提条件

  • RHOSO 18.0 が稼働しており、Optimize サービス (watcher) が実行されている。
  • RHOSO 環境には、各ノードで少なくとも 1 つのインスタンスを実行する少なくとも 2 つのコンピュートノードが含まれています。
  • ワークステーションに oc コマンドラインツールがインストール済みである。
  • cluster-admin 権限を持つユーザーとして、RHOSO コントロールプレーンにアクセスできるワークステーションにログオン済みである。

手順

  1. ワークステーションから OpenStackClient Pod のリモートシェルにアクセスします。

    $ oc rsh -n openstack openstackclient
  2. RHOSO 環境に、各ノードで少なくとも 1 つのインスタンスを実行する少なくとも 2 つのコンピュートノードが含まれていることを確認します。

    $ openstack server list --long

    出力例

    この例では、2 つのインスタンスが compute1 で、1 つのインスタンスが compute2 で実行されています。compute1 ノードはメンテナンスがスケジュールされているため、zone migration strategy を指定した Optimize サービスを使用して、ユーザーへの影響なしにインスタンスを他のコンピュートノードにライブマイグレーションします。

    +--------+-------------------------------+
    | Name   | Host                          |
    +--------+-------------------------------+
    | test03 | compute2.ctlplane.localdomain |
    | test02 | compute1.ctlplane.localdomain |
    | test01 | compute1.ctlplane.localdomain |
    +--------+-------------------------------+
  3. ストラテジー zone_migration と目標 hardware_maintenance を使用する監査テンプレートを作成します。

    この例では、監査テンプレートの名前は ZoneMigration です。

    $ openstack optimize audittemplate create -s zone_migration ZoneMigration hardware_maintenance

    このストラテジーが使用するパラメーターの詳細は、ゾーンの移行 を参照してください。

    出力例

    +-------------+--------------------------------------+
    | Field       | Value                                |
    +-------------+--------------------------------------+
    | UUID        | 519d3a5e-30b2-48ae-aabf-83b246a12e13 |
    | Created At  | 2025-07-04T12:34:54.691287+00:00     |
    | Updated At  | None                                 |
    | Deleted At  | None                                 |
    | Description | None                                 |
    | Name        | ZoneMigration                        |
    | Goal        | hardware_maintenance                 |
    | Strategy    | zone_migration                       |
    | Audit Scope | []                                   |
    +-------------+--------------------------------------+
  4. 監査テンプレートが作成されたことを確認します。

    $ openstack optimize audittemplate list

    出力例

    +----------------------+------------------+
    | Goal                 | Strategy         |
    +----------------------+------------------+
    | hardware_maintenance | zone_migration   |
    +----------------------+------------------+
  5. ストラテジー zone_migration と目標 hardware_maintenance に基づいて監査テンプレートを使用する監査を実行します。環境に適した値でストラテジーパラメーターを更新します。

    この例では、次のストラテジーパラメーター値を持つ ZoneMigration 監査テンプレートが使用されています。

    • src_node: compute1 の値が含まれます。これは、メンテナンスの実行先のノードです。
    • dst_node: compute2 の値が含まれます。これは、compute1 で実行されているインスタンスが移行されるノードです。

      $ openstack optimize audit create -a ZoneMigration -p compute_nodes=\
      '[{"src_node":"compute1.ctlplane.localdomain", "dst_node":"compute2.ctlplane.localdomain"}]'

      出力例

      +---------------+------------------------------------------------------+
      | Field         | Value                                                |
      +---------------+------------------------------------------------------+
      | UUID          | 9e9eeb70-63bd-427e-a5a6-a2f049f1bc73                 |
      | Name          | zone_migration-2025-07-04T12:38:25.151645            |
      | Created At    | 2025-07-04T12:38:25.163096+00:00                     |
      | Updated At    | None                                                 |
      | Deleted At    | None                                                 |
      | State         | PENDING                                              |
      | Audit Type    | ONESHOT                                              |
      | Parameters    | {'compute_nodes': [{'src_node': 'compute1.ctlplane.  |
      |               | localdomain', 'dst_node': 'compute2.ctlplane.        |
      |               | localdomain'}], 'parallel_total': 6,                 |
      |               | 'parallel_per_node':                                 |
      |               | 2, 'parallel_per_pool': 2, 'with_attached_volume':   |
      |               | False}                                               |
      | Interval      | None                                                 |
      | Goal          | hardware_maintenance                                 |
      | Strategy      | zone_migration                                       |
      | Audit Scope   | []                                                   |
      | Auto Trigger  | False                                                |
      | Next Run Time | None                                                 |
      | Hostname      | None                                                 |
      | Start Time    | None                                                 |
      | End Time      | None                                                 |
      | Force         | False                                                |
      +---------------+------------------------------------------------------+
  6. Optimize サービスによって監査が作成されたことを確認します。

    $ openstack optimize audit list

    出力例

    State の値が SUCCEEDED の場合、監査が実行され、アクションプランが作成されています。

    +--------------------------------------+-----------+------------------+
    | UUID                                 | State     | Strategy         |
    +--------------------------------------+-----------+------------------+
    | 9e9eeb70-63bd-427e-a5a6-a2f049f1bc73 | SUCCEEDED | zone_migration   |
    +--------------------------------------+-----------+------------------+
  7. アクションプランを確認します。

    $ openstack optimize actionplan list \
    --audit  9e9eeb70-63bd-427e-a5a6-a2f049f1bc73 \
    -c UUID -c State -c "Global efficacy"

    出力例

    この例では、Live_instance_migrate_ratio は、アクションプランでライブマイグレーションされるインスタンスの割合を表します。つまり、アクションプラン内のライブマイグレーションの数を、ユーザー入力に従って移行できるインスタンスの数で割った値です。たとえば、src_node に 4 つのアクティブインスタンスがあり、そのうち 2 つがアクションプランで移行されている場合、比率は 50% になります。

    +---------------------------+-------------+----------------------------+
    | UUID                      | State       | Global efficacy            |
    +---------------------------+-------------+----------------------------+
    | 40305df2-c240-464b-ac56-  | RECOMMENDED | Live_instance_migrate_rati |
    | 62e51bf139ef              |             | o: 100.00 %                |
    |                           |             | Cold_instance_migrate_rati |
    |                           |             | o: 0.00 %                  |
    |                           |             | Volume_migrate_ratio: 0.00 |
    |                           |             | %                          |
    |                           |             | Volume_update_ratio: 0.00  |
    |                           |             | %                          |
    |                           |             |                            |
    +---------------------------+-------------+----------------------------+
  8. アクションプランに含まれるアクションをリストします。

    $ openstack optimize action list \
    --action-plan 40305df2-c240-464b-ac56-62e51bf139ef \
    -c 'UUID' -c 'State' -c 'Action'

    出力例

    この例では、アクションプランには 2 つのインスタンスを移行するための 2 つのアクションが含まれています。

    +--------------------------------------+---------+---------+
    | UUID                                 | State   | Action  |
    +--------------------------------------+---------+---------+
    | 680e6152-e163-443d-9bd4-178b73494aa4 | PENDING | migrate |
    | 51a04b16-7231-4001-b3be-d5125bcd2365 | PENDING | migrate |
    +--------------------------------------+---------+---------+
  9. アクションの詳細を表示できます。

    この例では、移行アクション 680e6152-e163-443d-9bd4-178b73494aa4 の詳細が要求されています。

    $ openstack optimize action show 680e6152-e163-443d-9bd4-178b73494aa4

    出力例

    この例では、アクションプランは test01 インスタンスを compute1 ノードから compute2 ノードに移行します。

    +-------------+--------------------------------------------------------+
    | Field       | Value                                                  |
    +-------------+--------------------------------------------------------+
    | UUID        | 680e6152-e163-443d-9bd4-178b73494aa4                   |
    | Created At  | 2025-07-04T12:38:26+00:00                              |
    | Updated At  | None                                                   |
    | Deleted At  | None                                                   |
    | Parents     | []                                                     |
    | State       | PENDING                                                |
    | Action Plan | 40305df2-c240-464b-ac56-62e51bf139ef                   |
    | Action      | migrate                                                |
    | Parameters  | {'migration_type': 'live', 'source_node':              |
    |             | 'compute1.ctlplane.localdomain', 'resource_name':      |
    |             | 'test01', 'destination_node':                          |
    |             | 'compute2.ctlplane.localdomain', 'resource_id':        |
    |             | 'd6ae1c7c-8e69-45ae-92b3-6218b8c1570b'}                |
    | Description | Moving a VM instance from source_node to               |
    |             | destination_node                                       |
    +-------------+--------------------------------------------------------+
  10. アクションプランを実行します。

    $ openstack optimize actionplan start \
    40305df2-c240-464b-ac56-62e51bf139ef

    出力例

    この例では、両方のインスタンスが compute1 から compute2 にライブマイグレーションされています。

    +---------------------+------------------------------------------------+
    | Field               | Value                                          |
    +---------------------+------------------------------------------------+
    | UUID                | 40305df2-c240-464b-ac56-62e51bf139ef           |
    | Created At          | 2025-07-04T12:38:26+00:00                      |
    | Updated At          | 2025-07-04T13:06:53+00:00                      |
    | Deleted At          | None                                           |
    | Audit               | 9e9eeb70-63bd-427e-a5a6-a2f049f1bc73           |
    | Strategy            | zone_migration                                 |
    | State               | PENDING                                        |
    | Efficacy indicators | [{'name': 'live_migrate_instance_count',       |
    |                     | 'description': 'The number of instances        |
    |                     | actually live migrated.', 'unit': None,        |
    |                     | 'value': 2.0}, {'name':                        |
    |                     | 'planned_live_migrate_instance_count',         |
    |                     | 'description': 'The number of instances        |
    |                     | planned to live migrate.', 'unit': None,       |
    |                     | 'value': 2.0}, {'name':                        |
    |                     | 'cold_migrate_instance_count', 'description':  |
    |                     | 'The number of instances actually cold         |
    |                     | migrated.', 'unit': None, 'value': 0.0},       |
    |                     | {'name':                                       |
    |                     | 'planned_cold_migrate_instance_count',         |
    |                     | 'description': 'The number of instances        |
    |                     | planned to cold migrate.', 'unit': None,       |
    |                     | 'value': 0.0}, {'name':                        |
    |                     | 'volume_migrate_count', 'description': 'The    |
    |                     | number of detached volumes actually            |
    |                     | migrated.', 'unit': None, 'value': 0.0},       |
    |                     | {'name': 'planned_volume_migrate_count',       |
    |                     | 'description': 'The number of detached volumes |
    |                     | planned to migrate.', 'unit': None, 'value':   |
    |                     | 0.0}, {'name': 'volume_update_count',          |
    |                     | 'description': 'The number of attached volumes |
    |                     | actually migrated.', 'unit': None, 'value':    |
    |                     | 0.0}, {'name': 'planned_volume_update_count',  |
    |                     | 'description': 'The number of attached volumes |
    |                     | planned to migrate.', 'unit': None, 'value':   |
    |                     | 0.0}]                                          |
    | Global efficacy     | [{'name': 'live_instance_migrate_ratio',       |
    |                     | 'description': 'Ratio of actual live migrated  |
    |                     | instances to planned live migrate instances.', |
    |                     | 'unit': '%', 'value': 100.0}, {'name':         |
    |                     | 'cold_instance_migrate_ratio', 'description':  |
    |                     | 'Ratio of actual cold migrated instances to    |
    |                     | planned cold migrate instances.', 'unit': '%', |
    |                     | 'value': 0}, {'name': 'volume_migrate_ratio',  |
    |                     | 'description': 'Ratio of actual detached       |
    |                     | volumes migrated to planned detached volumes   |
    |                     | migrate.', 'unit': '%', 'value': 0}, {'name':  |
    |                     | 'volume_update_ratio', 'description': 'Ratio   |
    |                     | of actual attached volumes migrated to planned |
    |                     | attached volumes migrate.', 'unit': '%',       |
    |                     | 'value': 0}]                                   |
    | Hostname            | None                                           |
    +---------------------+------------------------------------------------+

    アクションが成功したことを確認します。

    $ openstack optimize action list \
    --action-plan 40305df2-c240-464b-ac56-62e51bf139ef

    出力例

    +--------------------------------------+-----------+---------+
    | UUID                                 | State     | Action  |
    +--------------------------------------+-----------+---------+
    | 680e6152-e163-443d-9bd4-178b73494aa4 | SUCCEEDED | migrate |
    | 51a04b16-7231-4001-b3be-d5125bcd2365 | SUCCEEDED | migrate |
    +--------------------------------------+-----------+---------+
  11. すべてのインスタンスが別のコンピュートノードに移行されていることを確認します。

    $ openstack server list --long

    出力例

    この例では、compute1 で実行されていた 2 つのインスタンスが compute2 で実行されるようになりました。

    +--------+-------------------------------+
    | Name   | Host                          |
    +--------+-------------------------------+
    | test03 | compute2.ctlplane.localdomain |
    | test02 | compute2.ctlplane.localdomain |
    | test01 | compute2.ctlplane.localdomain |
    +--------+-------------------------------+
  12. openstackclient Pod を終了します。

    $ exit

4.6. 計画メンテナンスのためのコンピュートノードの準備

host maintenance strategy で Optimize サービス (watcher) を使用して、Red Hat OpenStack Services on OpenShift (RHOSO) 環境のコンピュートノードからすべてのインスタンスを移行し、ユーザーへの影響なしにホストメンテナンスを実行します。バックアップノードが提供されていない場合、Optimize サービスは nova-scheduler に依存してすべてのインスタンスを移行します。どちらの使用例でも、コンピュートメンテナンスノードは無効になります。

注記

ワークロードへの影響を最小限に抑えるには、負荷の少ない時間帯にメンテナンス期間を計画し、host maintenance strategy を使用してください。監査を実行するときは、デフォルトの audit_typeONESHOT を変更しないようにしてください。

Expand
表4.6 目標とストラテジーの実証
目的ストラテジー

cluster_maintaining

host_maintenance

前提条件

  • RHOSO 18.0 が稼働しており、Optimize サービス (watcher) が実行されている。
  • コンピュートノードが 2 つ以上ある。

    • 少なくとも 1 つのインスタンスが実行されているコンピュートノード 1 つ。
    • バックアップノードとして機能する 2 番目のコンピュートノード。
  • ワークステーションに oc コマンドラインツールがインストール済みである。
  • cluster-admin 権限を持つユーザーとして、RHOSO コントロールプレーンにアクセスできるワークステーションにログオン済みである。

手順

  1. ワークステーションから OpenStackClient Pod のリモートシェルにアクセスします。

    $ oc rsh -n openstack openstackclient
  2. 少なくとも 2 つのコンピュートノードと少なくとも 1 つのインスタンスがあることを確認します。

    $ openstack server list --long

    出力例

    この例では、1 つのインスタンスが compute1 で実行され、1 つのインスタンスが compute2 で実行されています。compute1 ノードはメンテナンスがスケジュールされているため、host maintenance strategy で Optimize サービスを使用して、ユーザーへの影響なしにインスタンスを compute1 から compute2 に移行します。

    +--------+-------------------------------+
    | Name   | Host                          |
    +--------+-------------------------------+
    | test02 | compute2.ctlplane.localdomain |
    | test01 | compute1.ctlplane.localdomain |
    +--------+-------------------------------+
  3. ストラテジー host_maintenance と目標 cluster_maintaining を使用する監査テンプレートを作成します。

    この例では、監査テンプレートの名前は HostMaintenance です。

    $ openstack optimize audittemplate create -s host_maintenance \
    HostMaintenance cluster_maintaining

    出力例

    +-------------+--------------------------------------+
    | Field       | Value                                |
    +-------------+--------------------------------------+
    | UUID        | 96c46352-352d-43eb-97ef-4bf3235d9574 |
    | Created At  | 2025-07-04T14:52:19.919765+00:00     |
    | Updated At  | None                                 |
    | Deleted At  | None                                 |
    | Description | None                                 |
    | Name        | HostMaintenance                      |
    | Goal        | cluster_maintaining                  |
    | Strategy    | host_maintenance                     |
    | Audit Scope | []                                   |
    +-------------+--------------------------------------+
  4. 監査テンプレートが作成されたことを確認します。

    $ openstack optimize audittemplate list

    出力例

    +----------------------+------------------+
    | Goal                 | Strategy         |
    +----------------------+------------------+
    | cluster_maintaining  | host_maintenance |
    +----------------------+------------------+
  5. ストラテジー host_maintenance と目標 cluster_maintaining に基づいて監査テンプレートを使用する監査を実行します。環境に適した値でストラテジーパラメーターを更新します。

    この例では、HostMaintenance 監査テンプレートが使用され、compute1 ホストのメンテナンスがスケジュールされています。

    $ openstack optimize audit create -a HostMaintenance \
    -p maintenance_node=compute1.ctlplane.localdomain

    このストラテジーが使用するパラメーターの詳細は、ホストメンテナンスストラテジー を参照してください。

    出力例

    +---------------+-------------------------------------------------------+
    | Field         | Value                                                 |
    +---------------+-------------------------------------------------------+
    | UUID          | 8cfb4abe-3720-4af2-a8a9-fba8fff1f442                  |
    | Name          | host_maintenance-2025-07-04T14:54:58.410413           |
    | Created At    | 2025-07-04T14:54:58.419668+00:00                      |
    | Updated At    | None                                                  |
    | Deleted At    | None                                                  |
    | State         | PENDING                                               |
    | Audit Type    | ONESHOT                                               |
    | Parameters    | {'maintenance_node': 'compute1.ctlplane.localdomain'} |
    | Interval      | None                                                  |
    | Goal          | cluster_maintaining                                   |
    | Strategy      | host_maintenance                                      |
    | Audit Scope   | []                                                    |
    | Auto Trigger  | False                                                 |
    | Next Run Time | None                                                  |
    | Hostname      | None                                                  |
    | Start Time    | None                                                  |
    | End Time      | None                                                  |
    | Force         | False                                                 |
    +---------------+-------------------------------------------------------+
  6. Optimize サービスによって監査が作成されたことを確認します。

    $ openstack optimize audit list

    出力例

    State の値が SUCCEEDED の場合、監査が実行され、アクションプランが作成されています。

    +--------------------------------------+-----------+------------------+
    | UUID                                 | State     | Strategy         |
    +--------------------------------------+-----------+------------------+
    | 8cfb4abe-3720-4af2-a8a9-fba8fff1f442 | SUCCEEDED | host_maintenance |
    +--------------------------------------+-----------+------------------+
  7. アクションプランを確認します。

    $ openstack optimize actionplan list \
    --audit 8cfb4abe-3720-4af2-a8a9-fba8fff1f442

    出力例

    +--------------------------------------+-------------+-----------------+
    | UUID                                 | State       | Global efficacy |
    +--------------------------------------+-------------+-----------------+
    | 40017617-7698-4ce7-b5ce-2917ec522a08 | RECOMMENDED |                 |
    +--------------------------------------+-------------+-----------------+
  8. アクションプランに含まれるアクションをリストします。

    $ openstack optimize action list \
    --action-plan 40017617-7698-4ce7-b5ce-2917ec522a08

    出力例

    この例では、アクションプランに 2 つのアクションが含まれています。

    +--------------------------------------+---------+---------------------------+
    | UUID                                 | State   | Action                    |
    +--------------------------------------+---------+---------------------------+
    | 19afe53e-4cf4-4b67-b910-92bca5f40186 | PENDING | change_nova_service_state |
    | 6e3154ac-279a-4b26-b993-9a6eea70309b | PENDING | migrate                   |
    +--------------------------------------+---------+---------------------------+
  9. アクションの詳細を表示できます。

    $ openstack optimize action show \
    6e3154ac-279a-4b26-b993-9a6eea70309b

    出力例

    この例では、アクションプランによって、compute1 ノードで現在実行されている 1 つのインスタンスが compute2 ノードに移行されます。

    +-------------+--------------------------------------------------------+
    | Field       | Value                                                  |
    +-------------+--------------------------------------------------------+
    | UUID        | 6e3154ac-279a-4b26-b993-9a6eea70309b                   |
    | Created At  | 2025-07-04T14:54:58+00:00                              |
    | Updated At  | None                                                   |
    | Deleted At  | None                                                   |
    | Parents     | ['19afe53e-4cf4-4b67-b910-92bca5f40186']               |
    | State       | PENDING                                                |
    | Action Plan | 40017617-7698-4ce7-b5ce-2917ec522a08                   |
    | Action      | migrate                                                |
    | Parameters  | {'migration_type': 'live', 'source_node':              |
    |             | '87254b5a-257b-48ea-aee0-0d4189d84fc7',                |
    |             | 'resource_name': 'test01', 'resource_id':              |
    |             | '19bb7593-1b6d-43aa-a0a1-f88921fb4b42'}                |
    | Description | Moving a VM instance from source_node to               |
    |             | destination_node                                       |
    +-------------+--------------------------------------------------------+

    $ openstack optimize action show \
    19afe53e-4cf4-4b67-b910-92bca5f40186

    出力例

    この例では、アクションプランによって compute1 ノードの状態が disabled に変更されます。

    +-------------+--------------------------------------------------------+
    | Field       | Value                                                  |
    +-------------+--------------------------------------------------------+
    | UUID        | 19afe53e-4cf4-4b67-b910-92bca5f40186                   |
    | Created At  | 2025-07-04T14:54:58+00:00                              |
    | Updated At  | None                                                   |
    | Deleted At  | None                                                   |
    | Parents     | []                                                     |
    | State       | PENDING                                                |
    | Action Plan | 40017617-7698-4ce7-b5ce-2917ec522a08                   |
    | Action      | change_nova_service_state                              |
    | Parameters  | {'state': 'disabled', 'disabled_reason':               |
    |             | 'watcher_maintaining', 'resource_name':                |
    |             | 'compute1.ctlplane.localdomain', 'resource_id':        |
    |             | '87254b5a-257b-48ea-aee0-0d4189d84fc7'}                |
    | Description | Disables or enables the nova-compute service.A         |
    |             | disabled nova-compute service can not be selected by   |
    |             | the nova for future deployment of new server.          |
    +-------------+--------------------------------------------------------+
  10. アクションプランを実行します。

    $ openstack optimize actionplan start \
    40017617-7698-4ce7-b5ce-2917ec522a08

    出力例

    +---------------------+--------------------------------------+
    | Field               | Value                                |
    +---------------------+--------------------------------------+
    | UUID                | 40017617-7698-4ce7-b5ce-2917ec522a08 |
    | Created At          | 2025-07-04T14:54:58+00:00            |
    | Updated At          | 2025-07-04T15:04:47+00:00            |
    | Deleted At          | None                                 |
    | Audit               | 8cfb4abe-3720-4af2-a8a9-fba8fff1f442 |
    | Strategy            | host_maintenance                     |
    | State               | PENDING                              |
    | Efficacy indicators | []                                   |
    | Global efficacy     | []                                   |
    | Hostname            | None                                 |
    +---------------------+--------------------------------------+
  11. アクションが成功したことを確認します。

    $ openstack optimize action list \
    --action-plan 40017617-7698-4ce7-b5ce-2917ec522a08

    このストラテジーが使用するパラメーターの詳細は、ホストメンテナンスストラテジー を参照してください。

    出力例

    この例では、インスタンスは compute1 ノードから移行され、compute1 の状態は無効に設定されました。

    +--------------------------------------+-----------+---------------------------+
    | UUID                                 | State     | Action                    |
    +--------------------------------------+-----------+---------------------------+
    | 19afe53e-4cf4-4b67-b910-92bca5f40186 | SUCCEEDED | change_nova_service_state |
    | 6e3154ac-279a-4b26-b993-9a6eea70309b | SUCCEEDED | migrate                   |
    +--------------------------------------+-----------+---------------------------+
  12. メンテナンスノードで実行されているすべてのインスタンスが移行されたことを確認します。

    $ openstack server list --long

    出力例

    この例では、compute1 ノードで実行されていたインスタンス test01 が、compute2 ノードで実行されています。

    +--------+-------------------------------+
    | Name   | Host                          |
    +--------+-------------------------------+
    | test02 | compute2.ctlplane.localdomain |
    | test01 | compute2.ctlplane.localdomain |
    +--------+-------------------------------+
  13. メンテナンスノードが無効になっていることを確認します。

    $ openstack compute service list

    出力例

    この例では、compute1 ノードの Statusdisabled になっています。

    +-------------------------------+----------+
    | Host                          | Status   |
    +-------------------------------+----------+
    | nova-cell0-conductor-0        | enabled  |
    | nova-scheduler-0              | enabled  |
    | nova-cell1-conductor-0        | enabled  |
    | compute2.ctlplane.localdomain | enabled  |
    | compute1.ctlplane.localdomain | disabled |
    +-------------------------------+----------+
  14. openstackclient Pod を終了します。

    $ exit

法律上の通知

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る