3.11. Multiarch Tuning Operator を使用してマルチアーキテクチャークラスター上のワークロードを管理する


Multiarch Tuning Operator は、マルチアーキテクチャークラスター内およびマルチアーキテクチャー環境に移行するシングルアーキテクチャークラスター内のワークロード管理を最適化します。

アーキテクチャーを考慮したワークロードスケジューリングにより、スケジューラーは Pod イメージのアーキテクチャーに一致するノードに Pod を配置できます。

スケジューラーは、新しい Pod のノードへの配置を決定する際に、デフォルトでは Pod のコンテナーイメージのアーキテクチャーを考慮しません。

アーキテクチャーを考慮したワークロードのスケジューリングを有効にするには、ClusterPodPlacementConfig オブジェクトを作成する必要があります。ClusterPodPlacementConfig オブジェクトを作成すると、Multiarch Tuning Operator は、アーキテクチャーを考慮したワークロードスケジューリングをサポートするために必要なオペランドをデプロイします。ClusterPodPlacementConfig オブジェクトの nodeAffinityScoring プラグインを使用して、ノードアーキテクチャーのクラスター全体のスコアを設定することもできます。nodeAffinityScoring プラグインを有効にすると、スケジューラーによって、互換性のあるアーキテクチャーを持つノードがフィルタリングされてから、スコアが最も高いノードに Pod が配置されます。

Pod が作成されると、オペランドは次のアクションを実行します。

  1. Pod のスケジュールを防止するスケジューリングゲート multiarch.openshift.io/scheduling-gate を追加します。
  2. kubernetes.io/arch ラベルでサポートされているアーキテクチャー値を含むスケジューリング述語を計算します。
  3. スケジューリング述語を Pod 仕様の nodeAffinity 要件として統合します。
  4. Pod からスケジューリングゲートを削除します。
重要

オペランドの次の動作に注意してください。

  • nodeSelector フィールドがすでにワークロードの kubernetes.io/arch ラベルで設定されている場合、オペランドはそのワークロードの nodeAffinity フィールドを更新しません。
  • nodeSelector フィールドがワークロードの kubernetes.io/arch ラベルで設定されていない場合、オペランドはそのワークロードの nodeAffinity フィールドを更新します。ただし nodeAffinity フィールドでは、オペランドは kubernetes.io/arch ラベルで設定されていないノードセレクター条件のみ更新します。
  • nodeName フィールドがすでに設定されている場合、Multiarch Tuning Operator は Pod を処理しません。
  • Pod が DaemonSet によって所有されている場合、オペランドは nodeAffinity フィールドを更新しません。
  • kubernetes.io/arch ラベルに nodeSelector または nodeAffinitypreferredAffinity の両方のフィールドが設定されている場合、オペランドは nodeAffinity フィールドを更新しません。
  • kubernetes.io/arch ラベルに nodeSelector または nodeAffinity フィールドのみが設定され、nodeAffinityScoring プラグインが無効になっている場合、オペランドは nodeAffinity フィールドを更新しません。
  • nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution フィールドに、kubernetes.io/arch ラベルに基づいてノードにスコアを割り当てる条件がすでに含まれている場合、オペランドは nodeAffinityScoring プラグイン内の設定を無視します。

3.11.1. CLI を使用した Multiarch Tuning Operator のインストール

OpenShift CLI (oc) を使用して、Multiarch Tuning Operator をインストールできます。

前提条件

  • oc がインストールされている。
  • cluster-admin 権限を持つユーザーとして oc にログインしている。

手順

  1. 次のコマンドを実行して、openshift-multiarch-tuning-operator という名前の新しいプロジェクトを作成します。

    $ oc create ns openshift-multiarch-tuning-operator
  2. OperatorGroup オブジェクトを作成します。

    1. OperatorGroup オブジェクトを作成するための設定を含む YAML ファイルを作成します。

      OperatorGroup オブジェクトを作成するための YAML 設定の例

      apiVersion: operators.coreos.com/v1
      kind: OperatorGroup
      metadata:
        name: openshift-multiarch-tuning-operator
        namespace: openshift-multiarch-tuning-operator
      spec: {}

    2. 以下のコマンドを実行して OperatorGroup オブジェクトを作成します。

      $ oc create -f <file_name> 
      1
      1
      <file_name> は、OperatorGroup オブジェクトの設定を含む YAML ファイルの名前に置き換えます。
  3. Subscription オブジェクトを作成します。

    1. Subscription オブジェクトを作成するための設定を含む YAML ファイルを作成します。

      Subscription オブジェクトを作成するための YAML 設定の例

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: openshift-multiarch-tuning-operator
        namespace: openshift-multiarch-tuning-operator
      spec:
        channel: stable
        name: multiarch-tuning-operator
        source: redhat-operators
        sourceNamespace: openshift-marketplace
        installPlanApproval: Automatic
        startingCSV: multiarch-tuning-operator.<version>

    2. 以下のコマンドを実行して Subscription オブジェクトを作成します。

      $ oc create -f <file_name> 
      1
      1
      <file_name> は、Subscription オブジェクトの設定を含む YAML ファイルの名前に置き換えます。
注記

Subscription オブジェクトと OperatorGroup オブジェクトの設定の詳細は、「CLI を使用してソフトウェアカタログからインストールする」を参照してください。

検証

  1. Multiarch Tuning Operator がインストールされていることを確認するには、次のコマンドを実行します。

    $ oc get csv -n openshift-multiarch-tuning-operator

    出力例

    NAME                                   DISPLAY                     VERSION       REPLACES                            PHASE
    multiarch-tuning-operator.<version>   Multiarch Tuning Operator   <version>     multiarch-tuning-operator.1.0.0      Succeeded

    Operator が Succeeded フェーズにある場合、インストールは成功しています。

  2. オプション: OperatorGroup オブジェクトが作成されたことを確認するには、次のコマンドを実行します。

    $ oc get operatorgroup -n openshift-multiarch-tuning-operator

    出力例

    NAME                                        AGE
    openshift-multiarch-tuning-operator-q8zbb   133m

  3. オプション: Subscription オブジェクトが作成されたことを確認するには、次のコマンドを実行します。

    $ oc get subscription -n openshift-multiarch-tuning-operator

    出力例

    NAME                        PACKAGE                     SOURCE                  CHANNEL
    multiarch-tuning-operator   multiarch-tuning-operator   redhat-operators        stable

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る