検索

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

download PDF
重要

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

Multiarch Tuning Operator は、マルチアーキテクチャークラスター、およびマルチアーキテクチャーコンピュート設定に移行中のシングルアーキテクチャークラスターにおける運用エクスペリエンスを強化します。

この Operator は、アーキテクチャーを考慮したワークロードのスケジューリングをサポートするために、clusterpodplacementconfigs カスタムリソース (CR) を実装します。

アーキテクチャーを考慮したワークロードのスケジューリングを有効にするには、ClusterPodPlacementConfig オブジェクトを作成する必要があります。ClusterPodPlacementConfig オブジェクトを作成すると、この Operator がオペランドをデプロイします。

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

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

オペランドがスケジューリングゲートを削除すると、Pod はスケジューリングサイクルに入ります。次に、サポートされているアーキテクチャーに基づいて、ノード上でワークロードがスケジュールされます。

重要

テクノロジープレビューバージョンの Multiarch Tuning Operator は、ネットワークが制限された環境のクラスターをサポートしていません。

4.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: tech-preview
        name: multiarch-tuning-operator
        source: redhat-operators
        sourceNamespace: openshift-marketplace
        installPlanApproval: Automatic
        startingCSV: multiarch-tuning-operator.v0.9.0

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

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

Subscription オブジェクトと OperatorGroup オブジェクトの設定の詳細は、「CLI を使用した OperatorHub からのインストール」を参照してください。

検証

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

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

    出力例

    NAME                               DISPLAY                     VERSION   REPLACES   PHASE
    multiarch-tuning-operator.v0.9.0   Multiarch Tuning Operator   0.9.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   multiarch-tuning-operator-catalog   tech-preview

4.11.2. Web コンソールを使用した Multiarch Tuning Operator のインストール

OpenShift Container Platform Web コンソールを使用して、Multiarch Tuning Operator をインストールできます。

前提条件

  • cluster-admin 権限でクラスターにアクセスできる。
  • OpenShift Container Platform Web コンソールにアクセスできる。

手順

  1. OpenShift Container Platform Web コンソールにログインします。
  2. Operators OperatorHub に移動します。
  3. 検索フィールドに Multiarch Tuning Operator と入力します。
  4. Multiarch Tuning Operator をクリックします。
  5. Version リストから Multiarch Tuning Operator のバージョンを選択します。
  6. Install をクリックします。
  7. Operator Installation ページで次のオプションを設定します。

    1. Update Channeltech-preview に設定します。
    2. Installation ModeAll namespaces on the cluster に設定します。
    3. Installed Namespace を、Operator recommended NamespaceSelect a Namespace に設定します。

      推奨される Operator namespace は openshift-multiarch-tuning-operator です。openshift-multiarch-tuning- operator namespace が存在しない場合は、Operator のインストール中に作成されます。

      Select a namespace を選択した場合は、Select Project リストから Operator の namespace を選択する必要があります。

    4. Update approvalAutomatic または Manual を選択します。

      Automatic 更新を選択すると、Operator Lifecycle Manager (OLM) が管理者の介入なしで Multiarch Tuning Operator の実行中のインスタンスを自動的に更新します。

      Manual 更新を選択すると、OLM は更新要求を作成します。クラスター管理者は、Multiarch Tuning Operator を新しいバージョンに更新するために、更新要求を手動で承認する必要があります。

  8. オプション: Enable Operator recommended cluster monitoring on this Namespace チェックボックスを選択します。
  9. Install をクリックします。

検証

  1. Operators Installed Operators に移動します。
  2. Multiarch Tuning Operator が、openshift-multiarch-tuning-operator namespace の Status フィールドに Succeeded としてリストされていることを確認します。

4.11.3. ClusterPodPlacementConfig オブジェクトの作成

Multiarch Tuning Operator をインストールしたら、ClusterPodPlacementConfig オブジェクトを作成する必要があります。このオブジェクトを作成すると、Multiarch Tuning Operator が、アーキテクチャーを考慮したワークロードスケジューリングを可能にするオペランドをデプロイします。

注記

ClusterPodPlacementConfig オブジェクトのインスタンスは 1 つだけ作成できます。

ClusterPodPlacementConfig オブジェクトの設定例

apiVersion: multiarch.openshift.io/v1beta1
kind: ClusterPodPlacementConfig
metadata:
  name: cluster 1
spec:
  logVerbosityLevel: Normal 2
  namespaceSelector: 3
    matchExpressions:
      - key: multiarch.openshift.io/exclude-pod-placement
        operator: DoesNotExist

1
このフィールドの値を cluster に設定する必要があります。
2
オプション: フィールドの値を NormalDebugTrace、または TraceAll に設定できます。デフォルトでは、値は Normal に設定されています。
3
オプション: namespaceSelector を設定すると、Multiarch Tuning Operator の Pod 配置オペランドによって Pod の nodeAffinity を処理する必要がある namespace を選択できます。デフォルトではすべての namespace が考慮されます。

この例では、operator フィールドの値が DoesNotExist に設定されています。したがって、key フィールドの値 (multiarch.openshift.io/exclude-pod-placement) が namespace のラベルとして設定されている場合、オペランドはその namespace 内の Pod の nodeAffinity を処理しません。代わりに、オペランドはこのラベルを含まない namespace 内の Pod の nodeAffinity を処理します。

オペランドで特定の namespace 内の Pod の nodeAffinity のみを処理する場合は、次のように namespaceSelector を設定できます。

namespaceSelector:
  matchExpressions:
    - key: multiarch.openshift.io/include-pod-placement
      operator: Exists

この例では、operator フィールドの値が Exists に設定されています。したがって、オペランドは、multiarch.openshift.io/include-pod-placement ラベルを含む namespace 内の Pod の nodeAffinity のみを処理します。

重要

openshift-kube-hypershift- で始まる namespace は除外されます。

4.11.3.1. CLI を使用した ClusterPodPlacementConfig オブジェクトの作成

アーキテクチャーを考慮したワークロードのスケジューリングを可能にする Pod 配置オペランドをデプロイするには、OpenShift CLI (oc) を使用して ClusterPodPlacementConfig オブジェクトを作成します。

前提条件

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

手順

  1. ClusterPodPlacementConfig オブジェクトの YAML ファイルを作成します。

    ClusterPodPlacementConfig オブジェクトの設定例

    apiVersion: multiarch.openshift.io/v1beta1
    kind: ClusterPodPlacementConfig
    metadata:
      name: cluster
    spec:
      logVerbosityLevel: Normal
      namespaceSelector:
        matchExpressions:
          - key: multiarch.openshift.io/exclude-pod-placement
            operator: DoesNotExist

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

    $ oc create -f <file_name> 1
    1
    <file_name> は、ClusterPodPlacementConfig オブジェクトの YAML ファイルの名前に置き換えます。

検証

  • ClusterPodPlacementConfig オブジェクトが作成されたことを確認するには、次のコマンドを実行します。

    $ oc get clusterpodplacementconfig

    出力例

    NAME      AGE
    cluster   29s

4.11.3.2. Web コンソールを使用した ClusterPodPlacementConfig オブジェクトの作成

アーキテクチャーを考慮したワークロードのスケジューリングを可能にする Pod 配置オペランドをデプロイするには、OpenShift Container Platform Web コンソールを使用して ClusterPodPlacementConfig オブジェクトを作成します。

前提条件

  • cluster-admin 権限でクラスターにアクセスできる。
  • OpenShift Container Platform Web コンソールにアクセスできる。
  • Multiarch Tuning Operator がインストールされている。

手順

  1. OpenShift Container Platform Web コンソールにログインします。
  2. Operators Installed Operators に移動します。
  3. Installed Operators ページで、Multiarch Tuning Operator をクリックします。
  4. Cluster Pod Placement Config タブをクリックします。
  5. Form view または YAML view のいずれかを選択します。
  6. ClusterPodPlacementConfig オブジェクトのパラメーターを設定します。
  7. Create をクリックします。
  8. オプション: ClusterPodPlacementConfig オブジェクトを編集する場合は、次の操作を実行します。

    1. Cluster Pod Placement Config タブをクリックします。
    2. オプションメニューから Edit ClusterPodPlacementConfig を選択します。
    3. YAML をクリックし、ClusterPodPlacementConfig オブジェクトのパラメーターを編集します。
    4. Save をクリックします。

検証

  • Cluster Pod Placement Config ページで、ClusterPodPlacementConfig オブジェクトが Ready 状態であることを確認します。

4.11.4. CLI を使用した ClusterPodPlacementConfig オブジェクトの削除

ClusterPodPlacementConfig オブジェクトのインスタンスは 1 つだけ作成できます。このオブジェクトを再作成する場合は、まず既存のインスタンスを削除する必要があります。

OpenShift CLI (oc) を使用してこのオブジェクトを削除できます。

前提条件

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

手順

  1. OpenShift CLI (oc) にログインします。
  2. 次のコマンドを実行して ClusterPodPlacementConfig オブジェクトを削除します。

    $ oc delete clusterpodplacementconfig cluster

検証

  • ClusterPodPlacementConfig オブジェクトが削除されたことを確認するには、次のコマンドを実行します。

    $ oc get clusterpodplacementconfig

    出力例

    No resources found

次のステップ

  • ClusterPodPlacementConfig オブジェクトを削除したら、SchedulingGated が原因で Pod が Pending フェーズになっていないことを確認します。次のコマンドを実行すると、ゲートが設定されたすべての Pod からスケジューリングゲートを削除できます。

    $ oc get pods -A -l multiarch.openshift.io/scheduling-gate=gated -o json  | jq 'del(.items[].spec.schedulingGates[] | select(.name=="multiarch.openshift.io/scheduling-gate"))' | oc apply -f -

4.11.5. Web コンソールを使用した ClusterPodPlacementConfig オブジェクトの削除

ClusterPodPlacementConfig オブジェクトのインスタンスは 1 つだけ作成できます。このオブジェクトを再作成する場合は、まず既存のインスタンスを削除する必要があります。

OpenShift Container Platform Web コンソールを使用してこのオブジェクトを削除できます。

前提条件

  • cluster-admin 権限でクラスターにアクセスできる。
  • OpenShift Container Platform Web コンソールにアクセスできる。
  • ClusterPodPlacementConfig オブジェクトを作成した。

手順

  1. OpenShift Container Platform Web コンソールにログインします。
  2. Operators Installed Operators に移動します。
  3. Installed Operators ページで、Multiarch Tuning Operator をクリックします。
  4. Cluster Pod Placement Config タブをクリックします。
  5. オプションメニューから Delete ClusterPodPlacementConfig を選択します。
  6. Delete をクリックします。

検証

  • Cluster Pod Placement Config ページで、ClusterPodPlacementConfig オブジェクトが削除されていることを確認します。

次のステップ

  • ClusterPodPlacementConfig オブジェクトを削除したら、SchedulingGated が原因で Pod が Pending フェーズになっていないことを確認します。OpenShift CLI (oc) で次のコマンドを実行すると、ゲートが設定されたすべての Pod からスケジューリングゲートを削除できます。

    $ oc get pods -A -l multiarch.openshift.io/scheduling-gate=gated -o json  | jq 'del(.items[].spec.schedulingGates[] | select(.name=="multiarch.openshift.io/scheduling-gate"))' | oc apply -f -

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

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

前提条件

  • oc がインストールされている。
  • cluster-admin 権限を持つユーザーとして oc にログインしている。
  • ClusterPodPlacementConfig オブジェクトを削除した。

    重要

    Multiarch Tuning Operator をアンインストールする前に、ClusterPodPlacementConfig オブジェクトを削除する必要があります。ClusterPodPlacementConfig オブジェクトを削除せずに Operator をアンインストールすると、予期しない動作が発生する可能性があります。

手順

  1. 次のコマンドを実行して、Multiarch Tuning Operator の Subscription オブジェクト名を取得します。

    $ oc get subscription.operators.coreos.com -n <namespace> 1
    1
    <namespace> は、Multiarch Tuning Operator をアンインストールする namespace の名前に置き換えます。

    出力例

    NAME                                  PACKAGE                     SOURCE             CHANNEL
    openshift-multiarch-tuning-operator   multiarch-tuning-operator   redhat-operators   tech-preview

  2. 次のコマンドを実行して、Multiarch Tuning Operator の currentCSV 値を取得します。

    $ oc get subscription.operators.coreos.com <subscription_name> -n <namespace> -o yaml | grep currentCSV 1
    1
    <subscription_name>Subscription オブジェクト名に置き換えます。例: openshift-multiarch-tuning-operator.<namespace> は、Multiarch Tuning Operator をアンインストールする namespace の名前に置き換えます。

    出力例

    currentCSV: multiarch-tuning-operator.v0.9.0

  3. 次のコマンドを実行して、Subscription オブジェクトを削除します。

    $ oc delete subscription.operators.coreos.com <subscription_name> -n <namespace> 1
    1
    <subscription_name>Subscription オブジェクト名に置き換えます。<namespace> は、Multiarch Tuning Operator をアンインストールする namespace の名前に置き換えます。

    出力例

    subscription.operators.coreos.com "openshift-multiarch-tuning-operator" deleted

  4. 次のコマンドを実行して、currentCSV 値を使用してターゲット namespace 内の Multiarch Tuning Operator の CSV を削除します。

    $ oc delete clusterserviceversion <currentCSV_value> -n <namespace> 1
    1
    <currentCSV> は、Multiarch Tuning Operator の currentCSV 値に置き換えます。たとえば、multiarch-tuning-operator.v0.9.0 です。<namespace> は、Multiarch Tuning Operator をアンインストールする namespace の名前に置き換えます。

    出力例

    clusterserviceversion.operators.coreos.com "multiarch-tuning-operator.v0.9.0" deleted

検証

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

    $ oc get csv -n <namespace> 1
    1
    <namespace> は、Multiarch Tuning Operator をアンインストールした namespace の名前に置き換えます。

    出力例

    No resources found in openshift-multiarch-tuning-operator namespace.

4.11.7. Web コンソールを使用した Multiarch Tuning Operator のアンインストール

OpenShift Container Platform Web コンソールを使用して、Multiarch Tuning Operator をアンインストールできます。

前提条件

  • cluster-admin 権限でクラスターにアクセスできます。
  • ClusterPodPlacementConfig オブジェクトを削除した。

    重要

    Multiarch Tuning Operator をアンインストールする前に、ClusterPodPlacementConfig オブジェクトを削除する必要があります。ClusterPodPlacementConfig オブジェクトを削除せずに Operator をアンインストールすると、予期しない動作が発生する可能性があります。

手順

  1. OpenShift Container Platform Web コンソールにログインします。
  2. Operators OperatorHub に移動します。
  3. 検索フィールドに Multiarch Tuning Operator と入力します。
  4. Multiarch Tuning Operator をクリックします。
  5. Details タブをクリックします。
  6. Actions メニューから、Uninstall Operator を選択します。
  7. プロンプトが表示されたら、Uninstall をクリックします。

検証

  1. Operators Installed Operators に移動します。
  2. Installed Operator ページで、Multiarch Tuning Operator がリストされていないことを確認します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.