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


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

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

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

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

名前空間レベルでは、PodPlacementConfig オブジェクトで celArchitecturePlacement プラグインを使用して、Pod メタデータを評価する共通式言語 (CEL) 式に基づいて、ワークロードを特定のアーキテクチャーに配置できます。

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

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

CEL 配置またはイメージベースのアーキテクチャー検出の前に、以下の除外事項が適用されます。

  • Operator は、spec.nodeName がすでに設定されている Pod と、DaemonSet が所有する Pod を無視します。
  • Operator は、自身の名前空間内の Pod、kube- プレフィックスを持つ名前空間内の Pod、およびコントロールプレーンノードセレクターを持つ Pod を無視します。
  • Pod に kubernetes.io/arch ノードセレクター、または必要なノードアフィニティーのすべての用語にアーキテクチャー制約があり、かつアーキテクチャーベースの優先ノードアフィニティーがある場合、Operator はその Pod を無視します。この組み合わせにより、CEL が既存のアーキテクチャー上の制約を上書きすることを防ぎます。

その他の条件を満たす Pod については、CEL はアーキテクチャーセレクターと必須ノードアフィニティーを置き換えつつ、優先ノードアフィニティーを維持することができます。Pod にすでにアーキテクチャーベースの優先ノードアフィニティーが設定されている場合、Operator は CEL 配置ではなく、nodeAffinityScoring をスキップします。

イメージベースのアーキテクチャー検出において、Operator は既存のアーキテクチャーセレクターと必要なアフィニティー制約を保持します。一致する名前空間スコープの配置プラグインもクラスター全体の nodeAffinityScoring も処理を必要としない場合、既存のアーキテクチャー制約を持つ Pod は処理されません。

Operator をインストールする前に、既存のネットワークポリシーによって、Operator の Pod が Kubernetes API サーバーにアクセスできることを確認してください。送信側分離によってそのアクセスがブロックされる場合は、インストール前に必要な許可ポリシーを設定して、Operator が管理対象のネットワークポリシーを作成できるようにしてください。Ingress のみのデフォルト拒否ポリシーでは、この Egress をブロックしません。

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

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

前提条件

  • OpenShift CLI (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>

      <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>

      <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
トップに戻る