1.5. multicluster engine Operator のインストールとアップグレード


multicluster engine Operator は、クラスターフリートの管理を強化するソフトウェア Operator です。multicluster engine Operator は、クラウドおよびデータセンター全体の Red Hat OpenShift Container Platform および Kubernetes クラスターライフサイクル管理をサポートします。

このドキュメントでは、特定のコンポーネントまたは機能が OpenShift Container Platform のより新しいバージョンでのみデプロイおよびテストされている場合を除き、サポートされている最も古い OpenShift Container Platform バージョンを参照します。

完全なサポート情報は、multicluster engine Operator のサポートマトリックス を参照してください。ライフサイクルの情報は、Red Hat OpenShift Container Platform ライフサイクルポリシー を参照してください。

重要: Red Hat Advanced Cluster Management を使用している場合、multicluster engine for Kubernetes Operator はクラスターにすでにインストールされています。

非推奨: multicluster engine Operator 2.4 以前のバージョンはサポートされなくなりました。ドキュメントは引き続き利用可能になる可能性がありますが、修正された問題やその他の更新に関するエラータリリースは行われません。

ベストプラクティス: 最新バージョンにアップグレードします。

以下のドキュメントを参照してください。

1.5.1. オンライン接続時のインストール

multicluster engine Operator は、Operator Lifecycle Manager によってインストールされます。これは、multicluster engine Operator を含むコンポーネントのインストール、アップグレード、および削除を管理します。

必要なアクセス権: クラスター管理者

重要:

  • 外部クラスターに ManagedCluster リソースが設定されているクラスターに multicluster engine Operator をインストールできません。multicluster engine Operator をインストールする前に、外部クラスターから ManagedCluster リソースを削除する必要があります。
  • OpenShift Container Platform 専用環境の場合は、cluster-admin 権限が必要です。デフォルトで、dedicated-admin ロールには OpenShift Container Platform Dedicated 環境で namespace を作成するために必要な権限がありません。
  • デフォルトでは、multicluster engine Operator コンポーネントは追加設定なしで OpenShift Container Platform クラスターのワーカーノードにインストールされます。OpenShift Container Platform OperatorHub Web コンソールインターフェイスを使用するか、OpenShift Container Platform CLI を使用して multicluster engine Operator をワーカーノードにインストールできます。
  • OpenShift Container Platform クラスターをインフラストラクチャーノードで設定している場合は、OpenShift Container Platform CLI を使用し、追加のリソースパラメーターを指定して multicluster engine Operator をそのインフラストラクチャーノードにインストールできます。詳細は、インフラストラクチャーノードへのマルチクラスターエンジンのインストール セクションを参照してください。
  • OpenShift Container Platform または multicluster engine Operator で作成されていない Kubernetes クラスターをインポートする予定の場合は、イメージプルシークレットを設定する必要があります。イメージプルシークレットおよびその他の高度な設定方法は、このドキュメントの 詳細設定 セクションのオプションを参照してください。

1.5.1.1. 前提条件

multicluster engine Operator をインストールする前に、次の前提条件を確認してください。

  • OpenShift Container Platform クラスターがコンソールから OperatorHub カタログ内の multicluster engine Operator にアクセスできる。
  • catalog.redhat.com へのアクセスがある。
  • クラスターに外部クラスターに設定された ManagedCluster リソースが ない
  • サポートされているバージョンの OpenShift Container Platform を環境にデプロイし、OpenShift Container Platform CLI を使用してログインする。次のインストールドキュメントを参照してください。

  • OpenShift Container Platform のコマンドラインインターフェイス (CLI) は、oc コマンドを実行できるように設定している。OpenShift Container Platform CLI のインストールおよび設定の詳細は、CLI の使用方法 を参照してください。
  • namespace の作成が可能な OpenShift Container Platform のパーミッションを設定している。
  • operator の依存関係にアクセスするには、インターネット接続が必要。
  • OpenShift Container Platform Dedicated 環境にインストールするには、以下を参照してください。

    • OpenShift Container Platform Dedicated 環境が設定され、実行している。
    • エンジンのインストール先の OpenShift Container Platform Dedicated 環境での cluster-admin がある。
  • Red Hat OpenShift Container Platform に付属する Assisted Installer を使用してマネージドクラスターを作成する予定の場合は、要件について、OpenShift Container Platform ドキュメントの Assisted Installer を使用したインストールの準備 トピックを参照してください。

1.5.1.2. OpenShift Container Platform インストールの確認

レジストリー、ストレージサービスなど、サポート対象の OpenShift Container Platform バージョンがインストールされ、機能する状態である必要があります。OpenShift Container Platform のインストールの詳細は、OpenShift Container Platform のドキュメントを参照してください。

  1. multicluster engine Operator が OpenShift Container Platform クラスターにインストールされていないことを確認します。インストールできる multicluster engine Operator は、OpenShift Container Platform クラスターごとに 1 つだけです。インストールがない場合は、次の手順に進みます。
  2. OpenShift Container Platform クラスターが正しく設定されていることを確認するには、以下のコマンドを使用して OpenShift Container Platform Web コンソールにアクセスします。

    kubectl -n openshift-console get route console
    Copy to Clipboard Toggle word wrap

    以下の出力例を参照してください。

    console console-openshift-console.apps.new-coral.purple-chesterfield.com
    console   https   reencrypt/Redirect     None
    Copy to Clipboard Toggle word wrap
  3. ブラウザーで URL を開き、結果を確認します。コンソール URL の表示が console-openshift-console.router.default.svc.cluster.local の場合は、OpenShift Container Platform のインストール時に openshift_master_default_subdomain を設定します。https://console-openshift-console.apps.new-coral.purple-chesterfield.com の例を参照してください。

multicluster engine Operator のインストールに進むことができます。

1.5.1.3. OperatorHub Web コンソールインターフェイスからのインストール

ベストプラクティス: OpenShift Container Platform ナビゲーションの Administrator ビューから、OpenShift Container Platform で提供される OperatorHub Web コンソールインターフェイスをインストールします。

  1. Operators > OperatorHub を選択して利用可能な operator のリストにアクセスし、multicluster engine for Kubernetes Operator を選択します。
  2. Install をクリックします。
  3. Operator Installation ページで、インストールのオプションを選択します。

    • Namespace:

      • multicluster engine Operator エンジンは、独自の namespace またはプロジェクトにインストールする必要があります。
      • デフォルトでは、OperatorHub コンソールのインストールプロセスにより、multicluster-engine という名前の namespace が作成されます。ベストプラクティス: multicluster-engine namespace が使用可能な場合は、引き続き使用します。
      • multicluster-engine という名前の namespace が存在する場合は、別の namespace を選択してください。
    • チャネル: インストールするリリースに対応するチャネルを選択します。チャネルを選択すると、指定のリリースがインストールされ、そのリリース内の今後のエラータ更新が取得されます。
    • 承認ストラテジー: 承認ストラテジーでは、サブスクライブ先のチャネルまたはリリースに更新を適用するのに必要な人の間のやり取りを特定します。

      • そのリリース内の更新が自動的に適用されるようにするには、デフォルトで選択されている Automatic を選択します。
      • Manual を選択して、更新が利用可能になると通知を受け取ります。更新がいつ適用されるかについて懸念がある場合は、これがベストプラクティスになる可能性があります。

    注記: 次のマイナーリリースにアップグレードするには、OperatorHub ページに戻り、最新リリースの新規チャネルを選択する必要があります。

  4. Install を選択して変更を適用し、Operator を作成します。
  5. MultiClusterEngine カスタムリソースを作成するには、次のプロセスを参照してください。

    1. OpenShift Container Platform コンソールナビゲーションで、Installed Operators > multicluster engine for Kubernetes を選択します。
    2. MultiCluster Engine タブを選択します。
    3. Create MultiClusterEngine を選択します。
    4. YAML ファイルのデフォルト値を更新します。このドキュメントの MultiClusterEngine advanced configuration のオプションを参照してください。

      • 次の例は、エディターにコピーできるデフォルトのテンプレートを示しています。
      apiVersion: multicluster.openshift.io/v1
      kind: MultiClusterEngine
      metadata:
        name: multiclusterengine
      spec: {}
      Copy to Clipboard Toggle word wrap
  6. Create を選択して、カスタムリソースを初期化します。multicluster engine Operator エンジンがビルドされて起動するまで、最大 10 分かかる場合があります。

    MultiClusterEngine リソースが作成されると、リソースのステータスが MultiCluster Engine タブで Available になります。

1.5.1.4. OpenShift Container Platform CLI からのインストール

  1. Operator の要件を満たす、multicluster engine Operator エンジンの namespace を作成します。次のコマンドを実行します。namespace は、multicluster engine for Kubernetes Operator の namespace の名前です。namespace の値は、OpenShift Container Platform 環境では プロジェクト と呼ばれる場合があります。

    oc create namespace <namespace>
    Copy to Clipboard Toggle word wrap
  2. プロジェクトの namespace を、作成した namespace に切り替えます。namespace は、ステップ 1 で作成した multicluster engine for Kubernetes Operator の名前に置き換えます。

    oc project <namespace>
    Copy to Clipboard Toggle word wrap
  3. OperatorGroup リソースを設定するために YAML ファイルを作成します。namespace ごとに割り当てることができる Operator グループは 1 つだけです。default はお使いの operator グループ名に置き換えます。namespace はお使いのプロジェクトの namespace 名に置き換えます。以下の例を参照してください。

    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: <default>
      namespace: <namespace>
    spec:
      targetNamespaces:
      - <namespace>
    Copy to Clipboard Toggle word wrap
  4. 以下のコマンドを実行して OperatorGroup リソースを作成します。operator-group は、作成した operator グループの YAML ファイル名に置き換えます。

    oc apply -f <path-to-file>/<operator-group>.yaml
    Copy to Clipboard Toggle word wrap
  5. OpenShift Container Platform サブスクリプションを設定するための YAML ファイルを作成します。ファイルは次の例のようになります。<stable-2.x> は、使用しているサポート対象のバージョンを表すものに変更してください。

    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: multicluster-engine
    spec:
      sourceNamespace: openshift-marketplace
      source: redhat-operators
      channel: stable-2.x
      installPlanApproval: Automatic
      name: multicluster-engine
    Copy to Clipboard Toggle word wrap

    注記: インフラストラクチャーノードを設定するには、multicluster engine Operator のインフラストラクチャーノードの設定 を参照してください。

=

+ .以下のコマンドを実行して OpenShift Container Platform サブスクリプションを作成します。subscription は、作成したサブスクリプションファイル名に置き換えます。

+

oc apply -f <path-to-file>/<subscription>.yaml
Copy to Clipboard Toggle word wrap
  1. YAML ファイルを作成して、MultiClusterEngine カスタムリソースを設定します。デフォルトのテンプレートは、以下の例のようになります。

    apiVersion: multicluster.openshift.io/v1
    kind: MultiClusterEngine
    metadata:
      name: multiclusterengine
    spec: {}
    Copy to Clipboard Toggle word wrap

    注記: インフラストラクチャーノードに multicluster engine Operator をインストールする場合は、MultiClusterEngine カスタムリソースの追加設定 セクションを参照してください。

  2. 次のコマンドを実行して、MultiClusterEngine カスタムリソースを作成します。custom-resource は、カスタムリソースファイル名に置き換えます。

    oc apply -f <path-to-file>/<custom-resource>.yaml
    Copy to Clipboard Toggle word wrap

    以下のエラーで、この手順に失敗した場合でも、リソースは作成され、適用されます。リソースが作成されてから数分後にもう一度コマンドを実行します。

    error: unable to recognize "./mce.yaml": no matches for kind "MultiClusterEngine" in version "operator.multicluster-engine.io/v1"
    Copy to Clipboard Toggle word wrap
  3. 以下のコマンドを実行してカスタムリソースを編集します。次のコマンドを実行した後、MultiClusterEngine カスタムリソースステータスが status.phase フィールドに Available として表示されるまでに最大 10 分かかる場合があります。

    oc get mce -o=jsonpath='{.items[0].status.phase}'
    Copy to Clipboard Toggle word wrap

multicluster engine Operator を再インストールしても Pod が起動しない場合は、再インストールに失敗する場合のトラブルシューティング で、この問題を回避する手順を参照してください。

注記:

  • ClusterRoleBinding が指定された ServiceAccount は、multicluster engine Operator と、multicluster engine Operator をインストールする namespace にアクセスできるすべてのユーザー認証情報に、クラスター管理者権限を自動的に付与します。

承認された管理コンポーネントを実行するインフラストラクチャーノードを含むように OpenShift Container Platform クラスターを設定できるようになりました。インフラストラクチャーノードでコンポーネントを実行すると、それらの管理コンポーネントを実行しているノードの OpenShift Container Platform サブスクリプションクォータの割り当てる必要がなくなります。その手順は、multicluster engine Operator のインフラストラクチャーノードの設定 を参照してください。

1.5.2. multicluster engine Operator のインフラストラクチャーノードの設定

承認された multicluster engine Operator 管理コンポーネントを実行するインフラストラクチャーノードを含むように OpenShift Container Platform クラスターを設定します。インフラストラクチャーノードでコンポーネントを実行すると、multicluster engine Operator 管理コンポーネントを実行しているノードに OpenShift Container Platform サブスクリプションクォータが割り当てられることがなくなります。

OpenShift Container Platform クラスターにインフラストラクチャーノードを追加した後に、OpenShift Container Platform CLI からのインストール 手順に従い、以下の設定を Operator Lifecycle Manager サブスクリプションおよび MultiClusterEngine カスタムリソースに追加します。

1.5.2.1. OpenShift Container Platform クラスターへのインフラストラクチャーノードの設定

OpenShift Container Platform ドキュメントの インフラストラクチャーマシンセットの作成 で説明されている手順に従ってください。インフラストラクチャーノードは、Kubernetes の taintlabels を使用して設定され、管理以外のワークロードが実行されないようにします。

multicluster engine Operator によって提供されるインフラストラクチャーノードの有効化に対応できるように、インフラストラクチャーノードに次の taintslabels が適用されていることを確認します。

metadata:
  labels:
    node-role.kubernetes.io/infra: ""
spec:
  taints:
  - effect: NoSchedule
    key: node-role.kubernetes.io/infra
Copy to Clipboard Toggle word wrap

1.5.2.2. Operator Lifecycle Manager サブスクリプションの設定

Operator Lifecycle Manager サブスクリプションを設定します。

  1. Operator Lifecycle Manager サブスクリプションを適用する前に、以下の追加設定を追加します。

    spec:
      config:
        nodeSelector:
          node-role.kubernetes.io/infra: ""
        tolerations:
        - key: node-role.kubernetes.io/infra
          effect: NoSchedule
          operator: Exists
    Copy to Clipboard Toggle word wrap
  2. アドオンを更新して、次のノードセレクターと toleration を含めます。klusterlet アドオンの設定 手順を使用する必要があります。

        nodeSelector:
          node-role.kubernetes.io/infra: ""
        tolerations:
        - key: node-role.kubernetes.io/infra
          effect: NoSchedule
          operator: Exists
    Copy to Clipboard Toggle word wrap
  3. Red Hat OpenShift Data Foundation をストレージプロビジョナーとして使用している場合は、Container Storage Interface Pod がインフラストラクチャーノードで実行できることを確認してください。詳細は、Red Hat OpenShift Data Foundation ドキュメントの Container Storage Interface (CSI) コンポーネントの配置の管理 を参照してください。

1.5.2.3. MultiClusterEngine カスタムリソースの追加設定

MultiClusterEngine カスタムリソースを適用する前に、以下の設定を追加します。

spec:
  nodeSelector:
    node-role.kubernetes.io/infra: ""
Copy to Clipboard Toggle word wrap

1.5.3. ネットワーク切断状態でのインストール

場合によっては、インターネットに接続されていない Red Hat OpenShift Container Platform クラスターに multicluster engine Operator をインストールする必要があります。ネットワーク接続のないエンジンにインストールする手順でも一部、オンラインインストールと同じ手順が必要になります。

インストール時にネットワークから直接パッケージにアクセスするのではなく、パッケージをダウンロードしておき、インストール時にアクセスできるようにする必要があります。

1.5.3.1. 前提条件

multicluster engine Operator をインストールする前に、次の要件を満たす必要があります。

  • サポートされている OpenShift Container Platform バージョンが環境にデプロイされていて、コマンドラインインターフェイス (CLI) を使用してログインしている。
  • catalog.redhat.com にアクセスできる。

    注記: ベアメタルクラスターを管理するには、サポートされている OpenShift Container Platform バージョンが必要です。

    OpenShift Container Platform のインストール を参照してください。

  • namespace の作成が可能な Red Hat OpenShift Container Platform の権限を設定している。
  • Operator の依存関係をダウンロードするために、インターネット接続のあるワークステーションが必要。

1.5.3.2. OpenShift Container Platform インストールの確認

  • レジストリー、ストレージサービスなど、サポート対象の OpenShift Container Platform バージョンがクラスターにインストールされ、機能する状態である必要があります。OpenShift Container Platform の詳細は、OpenShift Container Platform のドキュメント を参照してください。
  • 接続したら、次のコマンドを使用して OpenShift Container Platform Web コンソールにアクセスして確認します。

    oc -n openshift-console get route console
    Copy to Clipboard Toggle word wrap

    以下の出力例を参照してください。

    console console-openshift-console.apps.new-name.purple-name.com
    console   https   reencrypt/Redirect     None
    Copy to Clipboard Toggle word wrap

    この例のコンソール URL は https:// console-openshift-console.apps.new-coral.purple-chesterfield.com です。ブラウザーで URL を開き、結果を確認します。

    コンソール URL の表示が console-openshift-console.router.default.svc.cluster.local の場合は、OpenShift Container Platform のインストール時に openshift_master_default_subdomain を設定します。

1.5.3.3. 非接続環境でのインストール

重要: 必要なイメージをミラーリングレジストリーにダウンロードし、非接続環境で Operator をインストールする必要があります。ダウンロードがないと、デプロイメント時に ImagePullBackOff エラーが表示される可能性があります。

非接続環境に multicluster engine Operator をインストールするには、次の手順に従います。

  1. ミラーレジストリーを作成します。ミラーレジストリーがまだない場合は、Red Hat OpenShift Container Platform ドキュメントの 非接続環境でのミラーリング トピックの手順を実行して作成します。

    ミラーレジストリーがすでにある場合は、既存のレジストリーを設定して使用できます。

  2. 注記: ベアメタルの場合のみ、install-config.yaml ファイルに、接続なしのレジストリーの証明書情報を指定する必要があります。保護された非接続レジストリー内のイメージにアクセスするには、multicluster engine Operator がレジストリーにアクセスできるように、証明書情報を指定する必要があります。

    1. レジストリーから証明書情報をコピーします。
    2. エディターで install-config.yaml ファイルを開きます。
    3. additionalTrustBundle: | のエントリーを検索します。
    4. additionalTrustBundle の行の後に証明書情報を追加します。追加後の内容は以下の例のようになります。

      additionalTrustBundle: |
        -----BEGIN CERTIFICATE-----
        certificate_content
        -----END CERTIFICATE-----
      sshKey: >-
      Copy to Clipboard Toggle word wrap
  3. オプション: インストール後にホストにアクセスできるようにする 1 つまたは複数の SSH 公開鍵を指定できます。以下の例を参照してください。

    sshKey: |
      ssh-rsa <public-key-1>
      ssh-rsa <public-key-2>
      ssh-rsa <public-key-3>
    Copy to Clipboard Toggle word wrap
  4. 重要: 以下のガバナンスポリシーが必要な場合は、非接続イメージレジストリーの追加ミラーが必要です。

    • Container Security Operator ポリシー: registry.redhat.io/quay ソースでイメージを見つけます。
    • Compliance Operator ポリシー: registry.redhat.io/compliance ソースでイメージを見つけます。
    • Gatekeeper Operator ポリシー: registry.redhat.io/gatekeeper ソースでイメージを見つけます。

      3 つのすべての Operator は、以下のミラー一覧を参照してください。

        - mirrors:
          - <your_registry>/rhacm2
          source: registry.redhat.io/rhacm2
        - mirrors:
          - <your_registry>/quay
          source: registry.redhat.io/quay
        - mirrors:
          - <your_registry>/compliance
          source: registry.redhat.io/compliance
    Copy to Clipboard Toggle word wrap
  5. install-config.yaml ファイルを保存します。
  6. mce-policy.yaml という名前の ImageContentSourcePolicy を含む YAML ファイルを作成します。注記: 実行中のクラスターでこれを変更すると、すべてのノードのローリング再起動が実行されます。

    apiVersion: operator.openshift.io/v1alpha1
    kind: ImageContentSourcePolicy
    metadata:
      name: mce-repo
    spec:
      repositoryDigestMirrors:
      - mirrors:
        - mirror.registry.com:5000/multicluster-engine
        source: registry.redhat.io/multicluster-engine
    Copy to Clipboard Toggle word wrap
  7. 以下のコマンドを入力して ImageContentSourcePolicy ファイルを適用します。

    oc apply -f mce-policy.yaml
    Copy to Clipboard Toggle word wrap
  8. ネットワーク接続されていない Operator Lifecycle Manager の Red Hat Operator とコミュニティーの Operator を有効にします。

    multicluster engine Operator は、Operator Lifecycle Manager Red Hat Operator カタログに含まれています。

  9. Red Hat Operator カタログの非接続 Operator Lifecycle Manager を設定します。Red Hat OpenShift Container Platform ドキュメントの ネットワークが制限された環境での Operator Lifecycle Manager の使用 の手順を実行します。
  10. Operator Lifecycle Manager カタログからの multicluster engine operator for Kubernetes のインストールを続行します。

必要な手順は、ネットワーク接続時のオンラインインストール を参照してください。

1.5.4. ポリシーを使用した非接続クラスターのアップグレード

MultiClusterHub Operator を使用してハブクラスターコンポーネントを管理、アップグレード、およびインストールする Red Hat Advanced Cluster Management for Kubernetes ハブクラスターがある場合は、Red Hat Advanced Cluster Management のポリシーで OpenShift Update Service を使用して、非接続環境の複数のクラスターをアップグレードできます。

OpenShift Update Service は、独立した Operator およびオペランドです。マネージドクラスターの利用可能なバージョンを監視し、そのバージョンを非接続環境におけるアップグレードで利用できるようにします。OpenShift Update Service は次のアクションを実行できます。

外部レジストリー CA 証明書の詳細は、OpenShift Container Platform ドキュメントの イメージレジストリーアクセス用の追加トラストストアの設定 を参照してください。

1.5.4.1. 前提条件

OpenShift Update Service を使用して非接続クラスターをアップグレードするには、以下の前提条件を満たす必要があります。

  • Red Hat Advanced Cluster Management がインストールされている。Red Hat Advanced Cluster Management インストールおよびアップグレード に関するドキュメントを参照してください。
  • 制限付きの OLM が設定されたサポート対象の Red Hat OpenShift Container Platform バージョンで実行されているハブクラスター。制限付きの OLM の設定方法は、ネットワークが制限された環境での Operator Lifecycle Manager の使用 を参照してください。制限付きの OLM を設定するときに、カタログソースイメージをメモしてください。
  • ハブクラスターが管理する OpenShift Container Platform クラスター。
  • クラスターイメージをミラーリングできるローカルリポジトリーへのアクセス認証情報が必要です。詳細は、非接続環境のミラーリング を参照してください。

    注記: アップグレードするクラスターの現在のバージョンのイメージを、ミラーリングされたイメージの 1 つとして、引き続き利用できるようにしておく必要があります。アップグレードが失敗した場合、クラスターはアップグレードを試行したときのバージョンに戻ります。

1.5.4.2. 非接続ミラーレジストリーの準備

ローカルのミラーリングレジストリーに、アップグレード前の現行のイメージと、アップグレード後のイメージの療法をミラーリングする必要があります。

イメージをミラーリングするには以下の手順を実行します。

  1. 次の例のような内容を含むスクリプトファイルを作成します。<pull-secret> は、OpenShift Container Platform プルシークレットへのパスに置き換えます。

    UPSTREAM_REGISTRY=quay.io
    PRODUCT_REPO=openshift-release-dev
    RELEASE_NAME=ocp-release
    OCP_RELEASE=4.17.2-x86_64
    LOCAL_REGISTRY=$(hostname):5000
    LOCAL_SECRET_JSON=<pull-secret>
    
    oc adm -a ${LOCAL_SECRET_JSON} release mirror \
    --from=${UPSTREAM_REGISTRY}/${PRODUCT_REPO}/${RELEASE_NAME}:${OCP_RELEASE} \
    --to=${LOCAL_REGISTRY}/ocp4 \
    --to-release-image=${LOCAL_REGISTRY}/ocp4/release:${OCP_RELEASE}
    Copy to Clipboard Toggle word wrap
  2. スクリプトを実行して、イメージのミラーリング、設定の設定、リリースイメージとリリースコンテンツの分離を行います。

1.5.4.3. OpenShift Update Service の Operator のデプロイ

OpenShift Container Platform 環境で OpenShift Update Service の Operator をデプロイするには、以下の手順を実行します。

  1. ハブクラスターで、OpenShift Container Platform の Operator ハブにアクセスします。
  2. OpenShift Update Service Operator を選択して Operator をデプロイし、必要に応じてデフォルト値を更新します。Operator をデプロイすると、openshift-update-service という名前の新しいプロジェクトが作成されます。
  3. Operator のインストールが完了するまで待ちます。

oc get pods コマンドを実行すると、インストールのステータスを確認できます。Operator の状態が running であることを確認します。

1.5.4.4. グラフデータの init container のビルド

OpenShift Update Service はグラフデータ情報を使用して、利用可能なアップグレードを検索します。インターネット接続環境では、OpenShift Update Service は利用可能なアップグレードのグラフデータ情報を update-service グラフデータの GitHub リポジトリー から直接取得します。

非接続環境では、init container を使用して、グラフデータをローカルリポジトリーで利用できるようにする必要があります。

以下の手順を実行して、グラフデータの init container を作成します。

  1. 次のコマンドを実行して、グラフデータ の Git リポジトリーをクローンします。

    git clone https://github.com/openshift/cincinnati-graph-data
    Copy to Clipboard Toggle word wrap
  2. グラフデータの init の情報が含まれるファイルを作成します。cincinnati-operator GitHub リポジトリーにサンプルの Dockerfile があります。

    • FROM 値は、OpenShift Update Service がイメージを検索する先の外部レジストリーに置き換えます。
    • RUN コマンドはディレクトリーを作成し、アップグレードファイルをパッケージ化します。
    • CMD コマンドは、パッケージファイルをローカルリポジトリーにコピーして、ファイルをデプロイメントしてアップグレードします。
  3. 次のコマンドを実行して graph data init container をビルドします。

    podman build -f <docker-path> -t <graph-path>:latest
    Copy to Clipboard Toggle word wrap

    <docker-path> は、前のステップで作成したファイルへのパスに置き換えます。

    <graph-path> は、ローカルのグラフデータ init container へのパスに置き換えます。

  4. 次のコマンドを実行して graph data init container をプッシュします。

    podman push <graph-path>:latest --authfile=<pull-secret>.json
    Copy to Clipboard Toggle word wrap

    <graph-path> は、ローカルのグラフデータ init container へのパスに置き換えます。

    <pull-secret> は、プルシークレットファイルへのパスに置き換えます。

オプション: podman がインストールされていない場合は、ステップ 3 と 4 の podmandocker に置き換えます。

1.5.4.5. ミラーリングされたレジストリーの証明書の設定

セキュアな外部コンテナーレジストリーを使用してミラーリングされた OpenShift Container Platform リリースイメージを保存する場合は、アップグレードグラフをビルドするために OpenShift Update Service からこのレジストリーへのアクセス権が必要です。

OpenShift Update Service Pod と連携するように CA 証明書を設定するには、以下の手順を実行します。

  1. image.config.openshift.io にある OpenShift Container Platform 外部レジストリー API を検索します。これは、外部レジストリーの CA 証明書の保存先です。詳細は、関連情報セクションの イメージレジストリーアクセス用の追加トラストストアの設定 を参照してください。
  2. openshift-config namespace に ConfigMap を作成し、updateservice-registry セクションに CA 証明書を追加します。以下の例を参照してください。

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: trusted-ca
    data:
      updateservice-registry: |
        -----BEGIN CERTIFICATE-----
        ...
        -----END CERTIFICATE-----
    Copy to Clipboard Toggle word wrap
  3. image.config.openshift.io API の cluster リソースを編集して、additionalTrustedCA フィールドを作成した ConfigMap 名に設定します。次のコマンドを実行し、<trusted_ca> を新しい ConfigMap へのパスに置き換えます。

    oc patch image.config.openshift.io cluster -p '{"spec":{"additionalTrustedCA":{"name":"<trusted_ca>"}}}' --type merge
    Copy to Clipboard Toggle word wrap

image.config.openshift.io API と、openshift-config namespace に作成した ConfigMap の変更は、OpenShift Update Service Operator によって監視されています。CA 証明書が変更されると、デプロイメントが再起動されます。

1.5.4.6. OpenShift Update Service インスタンスのデプロイ

ハブクラスターへの OpenShift Update Service インスタンスのデプロイを完了すると、そのインスタンスは、クラスターアップグレード用のイメージがミラーリングされる場所に配置され、非接続のマネージドクラスターで使用できるようになります。

インスタンスをデプロイするには、以下の手順を実行します。

  1. Operator のデフォルトの namespace を使用しない場合は、コンソールで Administration > Namespaces に移動して変更します。
  2. OpenShift Container Platform コンソールの Installed Operator セクションで、OpenShift Update Service Operator を選択します。
  3. メニューから Create Instance を選択します。
  4. OpenShift Update Service インスタンスからコンテンツを貼り付けます。YAML ファイルは以下のマニフェストのようになります。

    apiVersion: update-service.openshift.io/v1beta2
    kind: update-service
    metadata:
      name: openshift-cincinnati-instance
      namespace: openshift-update-service
    spec:
      registry: <registry-host-name>:<port> 
    1
    
      replicas: 1
      repository: ${LOCAL_REGISTRY}/ocp4/release
      graphDataImage: '<host-name>:<port>/cincinnati-graph-data-container' 
    2
    Copy to Clipboard Toggle word wrap
    1
    ローカルにあるイメージの非接続レジストリーへのパスに置き換えます。
    2
    グラフデータ init container へのパスに置き換えます。これは、podman push コマンドを使用して、グラフデータ init container をプッシュする時に使用した値と同じです。
  5. Create を選択してインスタンスを作成します。
  6. ハブクラスター CLI で oc get pods コマンドを入力し、インスタンス作成のステータスを表示します。

これには数分かかる場合があります。コマンドの結果にインスタンスと Operator が実行中であることが示されたら、プロセスは完了です。

1.5.4.7. オプション: デフォルトのレジストリーをオーバーライドするポリシーのデプロイ

次の手順は、ミラーリングされたレジストリーにリリースをミラーリングした場合にのみ適用されます。

非推奨: PlacementRule

OpenShift Container Platform にはイメージレジストリーのデフォルト値があり、この値でアップグレードパッケージの検索先を指定します。非接続環境では、リリースイメージをミラーリングするローカルイメージレジストリーへのパスに値を置き換えるポリシーを作成してください。

ポリシーを作成するには、以下の手順を実行します。

  1. ハブクラスターの OpenShift Container Platform 環境にログインします。
  2. コンソールから、Governance > Create policy を選択します。
  3. YAML スイッチを On に設定して、ポリシーの YAML バージョンを表示します。
  4. YAML コードのコンテンツをすべて削除します。
  5. 以下の YAML コンテンツをウィンドウに貼り付け、カスタムポリシーを作成します。

    apiVersion: policy.open-cluster-management.io/v1
    kind: Policy
    metadata:
      name: policy-mirror
      namespace: default
    spec:
      disabled: false
      remediationAction: enforce
      policy-templates:
        - objectDefinition:
            apiVersion: policy.open-cluster-management.io/v1
            kind: ConfigurationPolicy
            metadata:
              name: policy-image-content-source-policy
            spec:
              object-templates:
                - complianceType: musthave
                  objectDefinition:
                    apiVersion: operator.openshift.io/v1alpha1
                    kind: ImageContentSourcePolicy
                    metadata:
                      name: <your-local-mirror-name> 
    1
    
                    spec:
                      repositoryDigestMirrors:
                        - mirrors:
                            - <your-registry> 
    2
    
                          source: registry.redhat.io
    ---
    apiVersion: policy.open-cluster-management.io/v1
    kind: PlacementBinding
    metadata:
      name: binding-policy-mirror
      namespace: default
    placementRef:
      name: placement-policy-mirror
      kind: PlacementRule
      apiGroup: apps.open-cluster-management.io
    subjects:
    - name: policy-mirror
      kind: Policy
      apiGroup: policy.open-cluster-management.io
    ---
    apiVersion: apps.open-cluster-management.io/v1
    kind: PlacementRule
    metadata:
      name: placement-policy-mirror
      namespace: default
    spec:
      clusterSelector:
        matchExpressions:
          []  
    3
    Copy to Clipboard Toggle word wrap
    1
    ローカルミラーの名前に置き換えます。
    2
    ローカルミラーリポジトリーへのパスに置き換えます。oc adm release mirror コマンドを実行すると、ローカルミラーへのパスを確認できます。
    3
    指定されていない場合は、すべてのクラスターが選択されます。
  6. Enforce if supported を選択します。
  7. Create を選択してポリシーを作成します。

1.5.4.8. 非接続カタログソースをデプロイするためのポリシーのデプロイ

Catalogsource ポリシーをマネージドクラスターにプッシュすると、デフォルトの場所を、インターネットに接続された場所から非接続のローカルレジストリーに変更できます。

デフォルトの場所を変更するには、次の手順を実行します。

  1. コンソールメニューで、Governance > Create policy を選択します。
  2. YAML スイッチを On に設定して、ポリシーの YAML バージョンを表示します。
  3. YAML コードのコンテンツをすべて削除します。
  4. 以下の YAML コンテンツをウィンドウに貼り付け、カスタムポリシーを作成します。

    apiVersion: policy.open-cluster-management.io/v1
    kind: Policy
    metadata:
      name: policy-catalog
      namespace: default
    spec:
      disabled: false
      remediationAction: enforce
      policy-templates:
        - objectDefinition:
            apiVersion: policy.open-cluster-management.io/v1
            kind: ConfigurationPolicy
            metadata:
              name: policy-catalog
            spec:
              object-templates:
                - complianceType: musthave
                  objectDefinition:
                    apiVersion: config.openshift.io/v1
                    kind: OperatorHub
                    metadata:
                      name: cluster
                    spec:
                      disableAllDefaultSources: true
                - complianceType: musthave
                  objectDefinition:
                    apiVersion: operators.coreos.com/v1alpha1
                    kind: CatalogSource
                    metadata:
                      name: my-operator-catalog
                      namespace: openshift-marketplace
                    spec:
                      sourceType: grpc
                      image: '<registry_host_name>:<port>/olm/redhat-operators:v1' 
    1
    
                      displayName: My Operator Catalog
                      publisher: grpc
    ---
    apiVersion: policy.open-cluster-management.io/v1
    kind: PlacementBinding
    metadata:
      name: binding-policy-catalog
      namespace: default
    placementRef:
      name: placement-policy-catalog
      kind: PlacementRule
      apiGroup: apps.open-cluster-management.io
    subjects:
    - name: policy-catalog
      kind: Policy
      apiGroup: policy.open-cluster-management.io
    ---
    apiVersion: apps.open-cluster-management.io/v1
    kind: PlacementRule
    metadata:
      name: placement-policy-catalog
      namespace: default
    spec:
      clusterSelector:
        matchExpressions:
          []  
    2
    Copy to Clipboard Toggle word wrap
    1
    ローカルの制限付きカタログソースイメージへのパスに置き換えます。
    2
    指定されていない場合は、すべてのクラスターが選択されます。
  5. Enforce if supported を選択します。
  6. Create を選択してポリシーを作成します。

1.5.4.9. マネージドクラスターのパラメーターを変更するためのポリシーのデプロイ

ClusterVersion ポリシーをマネージドクラスターにプッシュすると、クラスターのアップグレードの取得先となるデフォルトの場所を変更できます。

以下の手順を実行します。

  1. マネージドクラスターから次のコマンドを実行して、ClusterVersion アップストリームパラメーターが、現在デフォルトのパブリック OpenShift Update Service オペランドになっていることを確認します。

    oc get clusterversion -o yaml
    Copy to Clipboard Toggle word wrap
  2. ハブクラスターから次のコマンドを実行して、OpenShift Update Service オペランドへのルート URL を特定します。

    oc get routes
    Copy to Clipboard Toggle word wrap

    後の手順のために、結果を記録しておきます。

  3. ハブクラスターのコンソールメニューで、Governance > Create a policy を選択します。
  4. YAML スイッチを On に設定して、ポリシーの YAML バージョンを表示します。
  5. YAML コードのコンテンツをすべて削除します。
  6. 以下の YAML コンテンツをウィンドウに貼り付け、カスタムポリシーを作成します。

    apiVersion: policy.open-cluster-management.io/v1
    kind: Policy
    metadata:
      name: policy-cluster-version
      namespace: default
      annotations:
        policy.open-cluster-management.io/standards: null
        policy.open-cluster-management.io/categories: null
        policy.open-cluster-management.io/controls: null
    spec:
      disabled: false
      remediationAction: enforce
      policy-templates:
        - objectDefinition:
            apiVersion: policy.open-cluster-management.io/v1
            kind: ConfigurationPolicy
            metadata:
              name: policy-cluster-version
            spec:
              object-templates:
                - complianceType: musthave
                  objectDefinition:
                    apiVersion: config.openshift.io/v1
                    kind: ClusterVersion
                    metadata:
                      name: version
                    spec:
                      channel: stable-4.4
                      upstream: >-
                        https://example-cincinnati-policy-engine-uri/api/upgrades_info/v1/graph 
    1
    
    
    ---
    apiVersion: policy.open-cluster-management.io/v1
    kind: PlacementBinding
    metadata:
      name: binding-policy-cluster-version
      namespace: default
    placementRef:
      name: placement-policy-cluster-version
      kind: PlacementRule
      apiGroup: apps.open-cluster-management.io
    subjects:
    - name: policy-cluster-version
      kind: Policy
      apiGroup: policy.open-cluster-management.io
    ---
    apiVersion: apps.open-cluster-management.io/v1
    kind: PlacementRule
    metadata:
      name: placement-policy-cluster-version
      namespace: default
    spec:
      clusterSelector:
        matchExpressions:
          [] 
    2
    Copy to Clipboard Toggle word wrap
    1
    ハブクラスターの OpenShift Update Service オペランドへのパスに置き換えます。指定されていない場合は、すべてのクラスターが選択されます。

    以下の手順を実行すると、オペランドへのパスを確認できます。

    1. ハブクラスターで oc get routes -A コマンドを実行します。
    2. update-service へのルートを確認します。

      オペランドへのパスは、HOST/PORT フィールドの値です。

  7. Enforce if supported を選択します。
  8. Create を選択してポリシーを作成します。
  9. マネージドクラスターの CLI で次のコマンドを実行して、ClusterVersion のアップストリームパラメーターが、ローカルハブクラスターの OpenShift Update Service URL で更新されていることを確認します。

    oc get clusterversion -o yaml
    Copy to Clipboard Toggle word wrap
  10. 結果は、以下の内容のようになります。

    apiVersion: v1
    items:
    - apiVersion: config.openshift.io/v1
      kind: ClusterVersion
    [..]
      spec:
        channel: stable-4.4
        upstream: https://<hub-cincinnati-uri>/api/upgrades_info/v1/graph
    Copy to Clipboard Toggle word wrap

1.5.4.10. 利用可能なアップグレードの表示

以下の手順を実行して、マネージドクラスターで利用可能なアップグレード一覧を確認します。

  1. コンソールで、Infrastructure > Clusters を選択します。
  2. 状態が Ready のクラスターを選択します。
  3. Actions メニューから Upgrade cluster を選択します。
  4. オプションのアップグレードパスが利用可能であることを確認します。

注記: 現行バージョンがローカルのイメージリポジトリーにミラーリングされていないと、利用可能なアップグレードバージョンは表示されません。

1.5.4.11. チャネルの選択

Red Hat Advanced Cluster Management コンソールを使用して、OpenShift Container Platform でのクラスターアップグレード用のチャネルを選択できます。これらのバージョンはミラーレジストリーで利用可能である必要があります。

チャネルの選択 の手順を実行して、アップグレードチャネルを指定します。

1.5.4.12. クラスターのアップグレード

非接続レジストリーを設定すると、Red Hat Advanced Cluster Management と OpenShift Update Service が非接続レジストリーを使用して、アップグレードが利用可能かどうかを確認します。

利用可能なアップグレードが表示されない場合は、クラスターの現行のリリースイメージと、1 つ後のイメージがローカルリポジトリーにミラーリングされていることを確認します。

クラスターの現行バージョンのリリースイメージが利用できないと、アップグレードは利用できません。

以下の手順を実行してアップグレードします。

  1. コンソールで、Infrastructure > Clusters を選択します。
  2. 利用可能なアップグレードがある場合は、選択するクラスターを見つけます。
  3. アップグレードが利用可能な場合は、クラスターの Distribution version 列にアップグレードが利用可能であることが表示されます。
  4. クラスターの Options メニュー、Upgrade cluster の順に選択します。
  5. アップグレードのターゲットバージョン、Upgrade の順に選択します。

クラスターのアップグレードに失敗すると、Operator は通常アップグレードを数回再試行し、停止し、コンポーネントに問題があるステータスを報告します。場合によっては、アップグレードプロセスは、プロセスの完了を繰り返し試行します。アップグレードが失敗した後にクラスターを以前のバージョンにロールバックすることはサポートされていません。クラスターのアップグレードに失敗した場合は、Red Hat サポートにお問い合わせください。

1.5.4.12.1. 関連情報

外部レジストリー CA 証明書の詳細は、OpenShift Container Platform ドキュメントの イメージレジストリーアクセス用の追加トラストストアの設定 を参照してください。

1.5.5. 詳細設定

multicluster engine Operator は、必要なすべてのコンポーネントをデプロイする Operator を使用してインストールされます。multicluster engine Operator は、インストール中またはインストール後にさらに設定できます。ここでは、詳細設定オプションを説明します。

1.5.5.1. デプロイされるコンポーネント

次の属性を 1 つ以上 MultiClusterEngine カスタムリソースに追加します。

Expand
表1.6 デプロイされるコンポーネントの表

名前

説明

有効

assisted-service

最小限のインフラストラクチャー前提条件と包括的なプリフライト検証を使用して OpenShift Container Platform をインストールします。

True

cluster-api

マネージドクラスター内からクラスター API ライフサイクルを処理する機能を提供します。

False

cluster-api-provider-aws

AWS のクラスターを作成、設定、管理するための Kubernetes スタイルの API を提供します。

False

cluster-api-provider-openshift-assisted-preview

Assisted Installer によるクラスターの作成、設定、管理のための Kubernetes スタイルの API を提供します。

False

cluster-api-provider-metal3-preview

ベアメタルインフラストラクチャー上でのクラスターの作成、設定、管理のための Kubernetes スタイルの API を提供します。

False

cluster-lifecycle

OpenShift Container Platform および Kubernetes ハブクラスターにクラスター管理機能を提供します。

True

cluster-manager

クラスター環境内のさまざまなクラスター関連操作を管理します。

True

cluster-proxy-addon

リバースプロキシーサーバーを使用して、ハブクラスターとマネージドクラスター両方での apiserver-network-proxy のインストールを自動化します。

True

console-mce

multicluster engine Operator コンソールのプラグインを有効にします。

True

discovery

OpenShift Cluster Manager 内の新しいクラスターを検出して識別します。

True

hive

OpenShift Container Platform クラスターの初期設定をプロビジョニングして実行します。

True

hypershift

コストと時間の効率性、クラウド間の移植性を備えた OpenShift Container Platform コントロールプレーンを大規模にホストします。

True

hypershift-local-hosting

ローカルクラスター環境内でのローカルホスティング機能を有効にします。

True

image-based-install-operator

インストールを完了するために、シングルノード OpenShift クラスターにサイト設定を提供します。

False

local-cluster

multicluster engine Operator がデプロイされるローカルハブクラスターのインポートと自己管理を有効にします。

True

managedserviceacccount

サービスアカウントをマネージドクラスターに同期し、トークンをシークレットリソースとして収集してハブクラスターに返します。

True

server-foundation

マルチクラスター環境内のサーバー側操作のための基本的なサービスを提供します。

True

multicluster engine Operator をクラスターにインストールする場合、上記のコンポーネントすべてがデフォルトで有効になるわけではありません。

MultiClusterEngine カスタムリソースに 1 つ以上の属性を追加することで、インストール中またはインストール後に multicluster engine Operator をさらに設定できます。追加できる属性は、このまま読み進めてください。

1.5.5.2. コンソールとコンポーネントの設定

次の例では、コンポーネントを有効または無効にするために使用できる spec.overrides デフォルトテンプレートを表示します。

apiVersion: operator.open-cluster-management.io/v1
kind: MultiClusterEngine
metadata:
  name: multiclusterengine
spec:
  overrides:
    components:
    - name: <name> 
1

      enabled: true
Copy to Clipboard Toggle word wrap
  1. name をコンポーネントの名前に置き換えます。

あるいは、以下のコマンドを実行します。namespace プロジェクトの名前に置き換え、name をコンポーネントの名前に置き換えます。

oc patch MultiClusterEngine <multiclusterengine-name> --type=json -p='[{"op": "add", "path": "/spec/overrides/components/-","value":{"name":"<name>","enabled":true}}]'
Copy to Clipboard Toggle word wrap

1.5.5.3. local-cluster の有効化

デフォルトでは、multicluster engine Operator を実行しているクラスターは ローカルクラスター です。これは、自身を管理するハブクラスターであり、クラスターのリストでは local-cluster として指定されます。

MultiClusterEngine リソースでは、ローカルクラスター名は spec.localClusterName 値から設定されます。enabled 設定は、機能を有効にするか無効にするかを指定します。

enabled: true 設定はクラスターを local-cluster として指定しますが、enabled: false 設定は指定しません。local-clusterenabled: true 値で有効になっている次のサンプルを参照してください。

apiVersion: multicluster.openshift.io/v1
kind: MultiClusterEngine
metadata:
  name: multiclusterengine
spec:
  localClusterName: <your-local-cluster-name>
  overrides:
    components:
    - name: local-cluster
      enabled: true
Copy to Clipboard Toggle word wrap

enabled フィールドが false に設定されている場合は、local-cluster 名を変更できます。<your-local-cluster-name> 値には 34 文字以下を使用する必要があります。local-clusterenabled: true に設定されている場合、名前を変更できません。

multicluster engine Operator を local-cluster として 指定せずに インストールするには、spec.overrides.components 設定を enabled: false に変更します。以下の YAML 例を参照してください。

apiVersion: multicluster.openshift.io/v1
kind: MultiClusterEngine
metadata:
  name: multiclusterengine
spec:
  localClusterName: <your-local-cluster-name>
  overrides:
    components:
    - name: local-cluster
      enabled: false
Copy to Clipboard Toggle word wrap

1.5.5.4. カスタムイメージプルシークレット

OpenShift Container Platform または multicluster engine Operator によって作成されていない Kubernetes クラスターをインポートする予定の場合は、配布レジストリーから権限のあるコンテンツにアクセスするために、OpenShift Container Platform プルシークレット情報を含むシークレットを生成します。

OpenShift Container Platform クラスターのシークレット要件は、OpenShift Container Platform および multicluster engine for Kubernetes Operator によって自動的に解決されます。そのため、管理対象とする他のタイプの Kubernetes クラスターをインポートしない場合は、シークレットを作成する必要はありません。

重要: これらのシークレットは namespace に依存するため、エンジンに使用する namespace にいることを確認してください。

  1. cloud.redhat.com/openshift/install/pull-secret から Download pull secret を選択して、OpenShift Container Platform のプルシークレットファイルをダウンロードします。OpenShift Container Platform プルシークレットは Red Hat カスタマーポータル ID に関連しており、すべての Kubernetes プロバイダーで同じです。
  2. 以下のコマンドを実行してシークレットを作成します。

    oc create secret generic <secret> -n <namespace> --from-file=.dockerconfigjson=<path-to-pull-secret> --type=kubernetes.io/dockerconfigjson
    Copy to Clipboard Toggle word wrap
    • secret は作成するシークレット名に置き換えます。
    • シークレットは namespace 固有であるため、namespace はプロジェクトの namespace に置き換えます。
    • path-to-pull-secret はダウンロードした OpenShift Container Platform のプルシークレットへのパスに置き換えます。

以下の例では、カスタムプルシークレットを使用する場合に使用する spec.imagePullSecret テンプレートを表示しています。secret は、プルシークレット名に置き換えます。

apiVersion: multicluster.openshift.io/v1
kind: MultiClusterEngine
metadata:
  name: multiclusterengine
spec:
  imagePullSecret: <secret>
Copy to Clipboard Toggle word wrap

1.5.5.5. ターゲット namespace

MultiClusterEngine カスタムリソースで場所を指定することにより、指定された namespace にオペランドをインストールできます。この namespace は、MultiClusterEngine カスタムリソースの適用時に作成されます。

重要: ターゲット namespace が指定されていない場合、Operator は multicluster-engine namespace にインストールし、MultiClusterEngine カスタムリソース仕様で設定します。

次の例は、ターゲット namespace を指定するために使用できる spec.targetNamespace テンプレートを示しています。target を宛先 namespace の名前に置き換えます。注記: target namespace を default namespace にすることはできません。

apiVersion: multicluster.openshift.io/v1
kind: MultiClusterEngine
metadata:
  name: multiclusterengine
spec:
  targetNamespace: <target>
Copy to Clipboard Toggle word wrap

1.5.5.6. availabilityConfig

ハブクラスターには、HighBasic の 2 つの可用性があります。デフォルトでは、ハブクラスターには High の可用性があります。これにより、ハブクラスターコンポーネントに replicaCount 2 が提供されます。これにより、フェイルオーバー時のサポートが向上しますが、Basic 可用性よりも多くのリソースを消費します。これにより、コンポーネントには replicaCount 1 が提供されます。

重要: シングルノード OpenShift クラスターで multicluster engine Operator を使用している場合は、spec.availabilityConfigBasic に設定してください。

以下の例は、Basic の可用性のある spec.availabilityConfig テンプレートを示しています。

apiVersion: multicluster.openshift.io/v1
kind: MultiClusterEngine
metadata:
  name: multiclusterengine
spec:
  availabilityConfig: "Basic"
Copy to Clipboard Toggle word wrap

1.5.5.7. nodeSelector

MultiClusterEngine でノードセレクターのセットを定義して、クラスター上の特定のノードにインストールできます。次の例は、ラベル node-role.kubernetes.io/infra を持つノードに Pod を割り当てる spec.nodeSelector を示しています。

spec:
  nodeSelector:
    node-role.kubernetes.io/infra: ""
Copy to Clipboard Toggle word wrap

Red Hat Advanced Cluster Management for Kubernetes ハブクラスターのノードセレクターのセットを定義するには、Red Hat Advanced Cluster Management ドキュメントの nodeSelector を参照してください。

1.5.5.8. tolerations

許容範囲のリストを定義して、MultiClusterEngine がクラスターで定義された特定の taint を許容できるようにすることができます。以下の例は、node-role.kubernetes.io/infra taint に一致する spec.tolerations を示しています。

spec:
  tolerations:
  - key: node-role.kubernetes.io/infra
    effect: NoSchedule
    operator: Exists
Copy to Clipboard Toggle word wrap

以前の infra-node toleration は、設定に toleration を指定せずにデフォルトで Pod に設定されます。設定で許容値をカスタマイズすると、このデフォルトの動作が置き換えられます。

Red Hat Advanced Cluster Management for Kubernetes ハブクラスターの toleration リストを定義するには、Red Hat Advanced Cluster Management ドキュメントの tolerations を参照してください。

1.5.5.9. ManagedServiceAccount アドオン

ManagedServiceAccount アドオンを使用すると、マネージドクラスターでサービスアカウントを作成または削除できます。このアドオンを有効にしてインストールするには、spec.overridesMultiClusterEngine 仕様に以下を含めます。

apiVersion: multicluster.openshift.io/v1
kind: MultiClusterEngine
metadata:
  name: multiclusterengine
spec:
  overrides:
    components:
    - name: managedserviceaccount
      enabled: true
Copy to Clipboard Toggle word wrap

ManagedServiceAccount アドオンは、MultiClusterEngine の作成後にコマンドラインでリソースを編集し、managedserviceaccount コンポーネントを enabled: true に設定することで有効にできます。または、次のコマンドを実行して、<multiclusterengine-name> を MultiClusterEngine リソースの名前に置き換えることもできます。

oc patch MultiClusterEngine <multiclusterengine-name> --type=json -p='[{"op": "add", "path": "/spec/overrides/components/-","value":{"name":"managedserviceaccount","enabled":true}}]'
Copy to Clipboard Toggle word wrap

1.5.6. アンインストール

multicluster engine for Kubernetes Operator のアンインストールには、カスタムリソースの削除完全な Operator アンインストール という 2 つの異なるレベルのプロセスがあります。アンインストールプロセスの完了に最長 5 分かかる可能性があります。

  • カスタムリソースの削除は、最も基本的なアンインストールの種類で、MultiClusterEngine インスタンスのカスタムリソースを削除しますが、他の必要なコンポーネントが残されたままになります。このレベルのアンインストールは、同じ設定とコンポーネントを使用して再インストールする予定の場合に役立ちます。
  • 2 番目のレベルは、より完全なアンインストールで、カスタムリソース定義などのコンポーネントを除き、ほとんどの Operator コンポーネントを削除します。この手順を続行すると、カスタムリソースの削除で削除されていないコンポーネントおよびサブスクリプションがすべて削除されます。アンインストールが済むと、カスタムリソースの前に Operator を再インストールする必要があります。

1.5.6.1. 前提条件: 有効化されたサービスのデタッチ

multicluster engine for Kubernetes Operator をアンインストールする前に、そのエンジンによって管理されているすべてのクラスターをデタッチする必要があります。エラーを回避するには、エンジンによって管理されているすべてのクラスターをデタッチしてから、アンインストールを再試行してください。

  • マネージドクラスターがアタッチされている場合は、以下のメッセージが表示される可能性があります。

    Cannot delete MultiClusterEngine resource because ManagedCluster resource(s) exist
    Copy to Clipboard Toggle word wrap

    クラスターのデタッチの詳細は、クラスターの作成 でお使いのプロバイダーの情報を選択して、管理からのクラスターの削除 セクションを参照してください。

1.5.6.2. コマンドを使用したリソースの削除

  1. まだの場合には、oc コマンドが実行できるように、OpenShift Container Platform CLI が設定されていることを確認してください。oc コマンドの設定方法の詳細は、OpenShift Container Platform ドキュメントの OpenShift CLI の使用を開始 を参照してください。
  2. 以下のコマンドを入力してプロジェクトの namespace に移動します。namespace はお使いのプロジェクトの namespace 名に置き換えます。

    oc project <namespace>
    Copy to Clipboard Toggle word wrap
  3. 次のコマンドを入力して、MultiClusterEngine カスタムリソースを削除します。

    oc delete multiclusterengine --all
    Copy to Clipboard Toggle word wrap

    以下のコマンドを入力して進捗を表示できます。

    oc get multiclusterengine -o yaml
    Copy to Clipboard Toggle word wrap
  4. 次のコマンドを入力して、インストール先の namespace にある multicluster-engine の ClusterServiceVersion を削除します。v2.x.0 変数はバージョンに置き換えます。
❯ oc get csv
NAME                         DISPLAY                              VERSION   REPLACES   PHASE
multicluster-engine.v2.x.0   multicluster engine for Kubernetes   2.x.0                Succeeded

❯ oc delete clusterserviceversion multicluster-engine.v2.x.0
❯ oc delete sub multicluster-engine
Copy to Clipboard Toggle word wrap

ここに表示されている CSV バージョンは異なる場合があります。

1.5.6.3. コンソールを使用したコンポーネントの削除

Red Hat OpenShift Container Platform コンソールを使用してアンインストールする場合に、Operator を削除します。コンソールを使用してアンインストールを行うには、以下の手順を実行します。

  1. OpenShift Container Platform コンソールナビゲーションで、Operators > Installed Operators > multicluster engine for Kubernetes を選択します。
  2. MultiClusterEngine カスタムリソースを削除します。

    1. Multiclusterengine のタブを選択します。
    2. MultiClusterEngine カスタムリソースの Options メニューを選択します。
    3. Delete MultiClusterEngine を選択します。
  3. 次のセクションの手順に従って、クリーンアップスクリプトを実行します。

    ヒント: 同じ multicluster engine for Kubernetes Operator バージョンを再インストールする場合は、この手順の残りのステップをスキップして、カスタムリソースを再インストールできます。

  4. Installed Operators に移動します。
  5. Options メニューから Uninstall operator を選択して、_ multicluster engine for Kubernetes_ Operator を削除してください。

1.5.6.4. アンインストールのトラブルシューティング

マルチクラスターエンジンのカスタムリソースが削除されていない場合は、クリーンアップスクリプトを実行して、残っている可能性のあるアーティファクトをすべて削除します。

  1. 以下のスクリプトをファイルにコピーします。

    #!/bin/bash
    oc delete apiservice v1.admission.cluster.open-cluster-management.io v1.admission.work.open-cluster-management.io
    oc delete validatingwebhookconfiguration multiclusterengines.multicluster.openshift.io
    oc delete mce --all
    Copy to Clipboard Toggle word wrap

詳細は、非接続環境のミラーリング を参照してください。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat