1.3. マルチクラスターエンジン Operator のインストールとアップグレード
multicluster engine Operator は、クラスターフリートの管理を強化するソフトウェア Operator です。multicluster engine Operator は、クラウドおよびデータセンター全体の Red Hat OpenShift Container Platform および Kubernetes クラスターライフサイクル管理をサポートします。
非推奨: マルチクラスターエンジン Operator 2.3 以前のバージョンはサポートされなくなりました。ドキュメントはそのまま利用できますが、エラータやその他の更新は提供されません。
ベストプラクティス: 最新バージョンにアップグレードします。
このドキュメントでは、特定のコンポーネントまたは機能が OpenShift Container Platform のより新しいバージョンでのみデプロイおよびテストされている場合を除き、サポートされている最も古い OpenShift Container Platform バージョンを参照します。
フルサポート情報については、サポートマトリックス を参照してください。ライフサイクルの情報は、Red Hat OpenShift Container Platform ライフサイクルポリシー を参照してください。
重要: バージョン 2.5 以降で Red Hat Advanced Cluster Management を使用している場合、Kubernetes Operator 用のマルチクラスターエンジンはすでにクラスターにインストールされています。
以下のドキュメントを参照してください。
1.3.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 または Kubernetes Operator のマルチクラスターエンジンによって作成されていない Kubernetes クラスターをインポートする場合は、イメージプルシークレットを設定する必要があります。イメージプルシークレットおよびその他の高度な設定方法については、このドキュメントの 詳細設定 セクションのオプションを参照してください。
1.3.1.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
Kubernetes Operator 用のマルチクラスターエンジンをインストールする前に、次の要件を確認してください。
- Red Hat OpenShift Container Platform クラスターが、OpenShift Container Platform コンソールから OperatorHub カタログの multicluster engine Operator にアクセスできる。
- catalog.redhat.com へのアクセスがある。
-
クラスターに外部クラスターに設定された
ManagedCluster
リソースが ない。 お使いの環境に OpenShift Container Platform 4.13 以降をデプロイし、OpenShift Container Platform CLI でログインしている。以下の OpenShift Container Platform のインストールドキュメントを参照してください。
-
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.3.1.2. OpenShift Container Platform インストールの確認 リンクのコピーリンクがクリップボードにコピーされました!
レジストリー、ストレージサービスなど、サポート対象の OpenShift Container Platform バージョンがインストールされ、機能する状態である必要があります。OpenShift Container Platform のインストールの詳細は、OpenShift Container Platform のドキュメントを参照してください。
- multicluster engine Operator が OpenShift Container Platform クラスターにインストールされていないことを確認します。インストールできる multicluster engine Operator は、OpenShift Container Platform クラスターごとに 1 つだけです。インストールがない場合は、次の手順に進みます。
OpenShift Container Platform クラスターが正しく設定されていることを確認するには、以下のコマンドを使用して OpenShift Container Platform Web コンソールにアクセスします。
kubectl -n openshift-console get route console
kubectl -n openshift-console get route console
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の出力例を参照してください。
console console-openshift-console.apps.new-coral.purple-chesterfield.com console https reencrypt/Redirect None
console console-openshift-console.apps.new-coral.purple-chesterfield.com console https reencrypt/Redirect None
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
ブラウザーで 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.3.1.3. OperatorHub Web コンソールインターフェイスからのインストール リンクのコピーリンクがクリップボードにコピーされました!
ベストプラクティス: OpenShift Container Platform ナビゲーションの Administrator ビューから、OpenShift Container Platform で提供される OperatorHub Web コンソールインターフェイスをインストールします。
- Operators > OperatorHub を選択して利用可能な operator のリストにアクセスし、multicluster engine for Kubernetes Operator を選択します。
-
Install
をクリックします。 Operator Installation ページで、インストールのオプションを選択します。
Namespace:
- multicluster engine Operator エンジンは、独自の namespace またはプロジェクトにインストールする必要があります。
-
デフォルトでは、OperatorHub コンソールのインストールプロセスにより、
multicluster-engine
という名前の namespace が作成されます。ベストプラクティス:multicluster-engine
namespace が使用可能な場合は、引き続き使用します。 -
multicluster-engine
という名前の namespace が存在する場合は、別の namespace を選択してください。
- チャネル: インストールするリリースに対応するチャネルを選択します。チャネルを選択すると、指定のリリースがインストールされ、そのリリース内の今後のエラータ更新が取得されます。
承認ストラテジー: 承認ストラテジーでは、サブスクライブ先のチャネルまたはリリースに更新を適用するのに必要な人の間のやり取りを特定します。
- そのリリース内の更新が自動的に適用されるようにするには、デフォルトで選択されている Automatic を選択します。
- Manual を選択して、更新が利用可能になると通知を受け取ります。更新がいつ適用されるかについて懸念がある場合は、これがベストプラクティスになる可能性があります。
注記: 次のマイナーリリースにアップグレードするには、OperatorHub ページに戻り、最新リリースの新規チャネルを選択する必要があります。
- Install を選択して変更を適用し、Operator を作成します。
MultiClusterEngine カスタムリソースを作成するには、次のプロセスを参照してください。
- OpenShift Container Platform コンソールナビゲーションで、Installed Operators > multicluster engine for Kubernetes を選択します。
- MultiCluster Engine タブを選択します。
- Create MultiClusterEngine を選択します。
YAML ファイルのデフォルト値を更新します。このドキュメントの MultiClusterEngine advanced configuration のオプションを参照してください。
- 次の例は、エディターにコピーできるデフォルトのテンプレートを示しています。
apiVersion: multicluster.openshift.io/v1 kind: MultiClusterEngine metadata: name: multiclusterengine spec: {}
apiVersion: multicluster.openshift.io/v1 kind: MultiClusterEngine metadata: name: multiclusterengine spec: {}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Create を選択して、カスタムリソースを初期化します。multicluster engine Operator エンジンがビルドされて起動するまで、最大 10 分かかる場合があります。
MultiClusterEngine リソースが作成されると、リソースのステータスが MultiCluster Engine タブで
Available
になります。
1.3.1.4. OpenShift Container Platform CLI からのインストール リンクのコピーリンクがクリップボードにコピーされました!
Operator の要件を満たす、multicluster engine Operator エンジンの namespace を作成します。次のコマンドを実行します。
namespace
は、multicluster engine for Kubernetes Operator の namespace の名前です。namespace
の値は、OpenShift Container Platform 環境では プロジェクト と呼ばれる場合があります。oc create namespace <namespace>
oc create namespace <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow プロジェクトの namespace を、作成した namespace に切り替えます。
namespace
は、ステップ 1 で作成した multicluster engine for Kubernetes Operator の名前に置き換えます。oc project <namespace>
oc project <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OperatorGroup
リソースを設定するために YAML ファイルを作成します。namespace ごとに割り当てることができる Operator グループは 1 つだけです。default
はお使いの operator グループ名に置き換えます。namespace
はお使いのプロジェクトの namespace 名に置き換えます。以下の例を参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して
OperatorGroup
リソースを作成します。operator-group
は、作成した operator グループの YAML ファイル名に置き換えます。oc apply -f <path-to-file>/<operator-group>.yaml
oc apply -f <path-to-file>/<operator-group>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Container Platform サブスクリプションを設定するための YAML ファイルを作成します。ファイルは以下の例のようになります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記: インフラストラクチャーノードに Kubernetes Operator 用のマルチクラスターエンジンをインストールする場合は、Operator Lifecycle Manager サブスクリプションの追加設定 セクションを参照してください。
以下のコマンドを実行して OpenShift Container Platform サブスクリプションを作成します。
subscription
は、作成したサブスクリプションファイル名に置き換えます。oc apply -f <path-to-file>/<subscription>.yaml
oc apply -f <path-to-file>/<subscription>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow YAML ファイルを作成して、
MultiClusterEngine
カスタムリソースを設定します。デフォルトのテンプレートは、以下の例のようになります。apiVersion: multicluster.openshift.io/v1 kind: MultiClusterEngine metadata: name: multiclusterengine spec: {}
apiVersion: multicluster.openshift.io/v1 kind: MultiClusterEngine metadata: name: multiclusterengine spec: {}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記: インフラストラクチャーノードに multicluster engine Operator をインストールする場合は、MultiClusterEngine カスタムリソースの追加設定 セクションを参照してください。
次のコマンドを実行して、
MultiClusterEngine
カスタムリソースを作成します。custom-resource
は、カスタムリソースファイル名に置き換えます。oc apply -f <path-to-file>/<custom-resource>.yaml
oc apply -f <path-to-file>/<custom-resource>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のエラーで、この手順に失敗した場合でも、リソースは作成され、適用されます。リソースが作成されてから数分後にもう一度コマンドを実行します。
error: unable to recognize "./mce.yaml": no matches for kind "MultiClusterEngine" in version "operator.multicluster-engine.io/v1"
error: unable to recognize "./mce.yaml": no matches for kind "MultiClusterEngine" in version "operator.multicluster-engine.io/v1"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行してカスタムリソースを編集します。次のコマンドを実行した後、
MultiClusterEngine
カスタムリソースステータスがstatus.phase
フィールドにAvailable
として表示されるまでに最大 10 分かかる場合があります。oc get mce -o=jsonpath='{.items[0].status.phase}'
oc get mce -o=jsonpath='{.items[0].status.phase}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
multicluster engine Operator を再インストールしても Pod が起動しない場合は、再インストールに失敗する場合のトラブルシューティング で、この問題を回避する手順を参照してください。
注記:
-
ClusterRoleBinding
が指定されたServiceAccount
は、クラスター管理者権限をマルチクラスターエンジン Operator と、マルチクラスターエンジン Operator をインストールする namespace にアクセスできるすべてのユーザー認証情報に自動的に付与します。
1.3.1.5. インフラストラクチャーノードへのインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターを、承認された管理コンポーネントを実行するためのインフラストラクチャーノードを組み込むように設定できます。インフラストラクチャーノードでコンポーネントを実行すると、それらの管理コンポーネントを実行しているノードの OpenShift Container Platform サブスクリプションクォータの割り当てる必要がなくなります。
OpenShift Container Platform クラスターにインフラストラクチャーノードを追加した後に、OpenShift Container Platform CLI からのインストール 手順に従い、以下の設定を Operator Lifecycle Manager サブスクリプションおよび MultiClusterEngine
カスタムリソースに追加します。
1.3.1.5.1. インフラストラクチャーノードを OpenShift Container Platform クラスターに追加する リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform ドキュメントの インフラストラクチャーマシンセットの作成 で説明されている手順に従ってください。インフラストラクチャーノードは、Kubernetes の taint
および label
で設定され、管理以外のワークロードがそれらで稼働し続けます。
マルチクラスターエンジン Operator が提供するインフラストラクチャーノードの有効化と互換性を持たせるには、インフラストラクチャーノードに次の taint
と label
が適用されていることを確認します。
1.3.1.5.2. Operator Lifecycle Manager サブスクリプションの追加設定 リンクのコピーリンクがクリップボードにコピーされました!
Operator Lifecycle Manager サブスクリプションを適用する前に、以下の追加設定を追加します。
1.3.1.5.3. MultiClusterEngine カスタムリソースの追加設定 リンクのコピーリンクがクリップボードにコピーされました!
MultiClusterEngine
カスタムリソースを適用する前に、以下の設定を追加します。
spec: nodeSelector: node-role.kubernetes.io/infra: ""
spec:
nodeSelector:
node-role.kubernetes.io/infra: ""
1.3.2. ネットワーク切断状態でのインストール リンクのコピーリンクがクリップボードにコピーされました!
場合によっては、インターネットに接続されていない Red Hat OpenShift Container Platform クラスターに multicluster engine Operator をインストールする必要があります。ネットワーク接続のないエンジンにインストールする手順でも一部、オンラインインストールと同じ手順が必要になります。
重要: 2 つの製品が同じ管理コンポーネントを提供するため、Red Hat Advanced Cluster Management がインストールされていないクラスターにマルチクラスターエンジン Operator をインストールします。Red Hat Advanced Cluster Management がインストールされていないクラスターにマルチクラスターエンジン Operator をインストールします。Red Hat Advanced Cluster Management バージョン 2.5.0 以降を使用している場合は、マルチクラスターエンジン Operator はすでにクラスターにインストールされています。
インストール時にネットワークから直接パッケージにアクセスするのではなく、パッケージをダウンロードしておき、インストール時にアクセスできるようにする必要があります。
1.3.2.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
マルチクラスターエンジン Operator をインストールする前に、次の要件を満たしている必要があります。
- お使いの環境に Red Hat OpenShift Container Platform バージョン 4.13 以降をインストールし、コマンドラインインターフェイス (CLI) でログインしている。
catalog.redhat.com にアクセスできる。
注記: ベアメタルクラスターを管理する場合は、OpenShift Container Platform バージョン 4.13 以降が必要です。
OpenShift Container Platform のインストール を参照してください。
-
Red Hat OpenShift Container Platform の CLI がバージョン 4.13 以降であり、
oc
コマンドを実行するように設定されている。 - namespace の作成が可能な Red Hat OpenShift Container Platform の権限を設定している。
- Operator の依存関係をダウンロードするために、インターネット接続のあるワークステーションが必要。
1.3.2.2. OpenShift Container Platform インストールの確認 リンクのコピーリンクがクリップボードにコピーされました!
- レジストリー、ストレージサービスなど、サポート対象の OpenShift Container Platform バージョンがクラスターにインストールされ、機能する状態である必要があります。OpenShift Container Platform バージョン 4.13 の詳細は、OpenShift Container Platform ドキュメント を参照してください。
接続されている場合は、以下のコマンドを使用して OpenShift Container Platform Web コンソールにアクセスすることにより、OpenShift Container Platform クラスターが正しく設定されていることを確認できます。
kubectl -n openshift-console get route console
kubectl -n openshift-console get route console
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の出力例を参照してください。
console console-openshift-console.apps.new-coral.purple-chesterfield.com console https reencrypt/Redirect None
console console-openshift-console.apps.new-coral.purple-chesterfield.com console https reencrypt/Redirect None
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例のコンソール 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.3.2.3. 非接続環境でのインストール リンクのコピーリンクがクリップボードにコピーされました!
重要: 必要なイメージをミラーリングレジストリーにダウンロードし、非接続環境で Operator をインストールする必要があります。ダウンロードがないと、デプロイメント時に ImagePullBackOff
エラーが表示される可能性があります。
非接続環境に multicluster engine Operator をインストールするには、次の手順に従います。
ミラーレジストリーを作成します。ミラーレジストリーがまだない場合は、Red Hat OpenShift Container Platform ドキュメントの 非接続インストールのミラーリング の手順を実行してミラーレジストリーを作成してください。
ミラーレジストリーがすでにある場合は、既存のレジストリーを設定して使用できます。
注記: ベアメタルの場合のみ、
install-config.yaml
ファイルに、接続なしのレジストリーの証明書情報を指定する必要があります。保護された非接続レジストリー内のイメージにアクセスするには、multicluster engine Operator がレジストリーにアクセスできるように、証明書情報を指定する必要があります。- レジストリーから証明書情報をコピーします。
-
エディターで
install-config.yaml
ファイルを開きます。 -
additionalTrustBundle: |
のエントリーを検索します。 additionalTrustBundle
の行の後に証明書情報を追加します。追加後の内容は以下の例のようになります。additionalTrustBundle: | -----BEGIN CERTIFICATE----- certificate_content -----END CERTIFICATE----- sshKey: >-
additionalTrustBundle: | -----BEGIN CERTIFICATE----- certificate_content -----END CERTIFICATE----- sshKey: >-
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
重要: 以下のガバナンスポリシーが必要な場合は、非接続イメージレジストリーの追加ミラーが必要です。
-
Container Security Operator ポリシー:
registry.redhat.io/quay
ソースでイメージを見つけます。 -
Compliance Operator ポリシー:
registry.redhat.io/compliance
ソースでイメージを見つけます。 Gatekeeper Operator ポリシー:
registry.redhat.io/gatekeeper
ソースでイメージを見つけます。3 つのすべての Operator は、以下のミラー一覧を参照してください。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Container Security Operator ポリシー:
-
install-config.yaml
ファイルを保存します。 mce-policy.yaml
という名前のImageContentSourcePolicy
を含む YAML ファイルを作成します。注記: 実行中のクラスターでこれを変更すると、すべてのノードのローリング再起動が実行されます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを入力して ImageContentSourcePolicy ファイルを適用します。
oc apply -f mce-policy.yaml
oc apply -f mce-policy.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ネットワーク接続されていない Operator Lifecycle Manager の Red Hat Operator とコミュニティーの Operator を有効にします。
multicluster engine Operator は、Operator Lifecycle Manager Red Hat Operator カタログに含まれています。
- Red Hat Operator カタログの非接続 Operator Lifecycle Manager を設定します。Red Hat OpenShift Container Platform ドキュメントの ネットワークが制限された環境での Operator Lifecycle Manager の使用 の手順を実行します。
- 非接続の Operator Lifecycle Manager にイメージを取得したので、引き続き Operator Lifecycle Manager カタログから Kubernetes 用のマルチクラスターエンジン Operator をインストールします。
必要な手順については、ネットワーク接続時のオンラインインストール を参照してください。
1.3.3. 詳細設定 リンクのコピーリンクがクリップボードにコピーされました!
multicluster engine Operator は、必要なすべてのコンポーネントをデプロイする Operator を使用してインストールされます。multicluster engine Operator は、インストール中またはインストール後にさらに設定できます。ここでは、詳細設定オプションを説明します。
1.3.3.1. デプロイされるコンポーネント リンクのコピーリンクがクリップボードにコピーされました!
次の属性を 1 つ以上 MultiClusterEngine
カスタムリソースに追加します。
名前 | 説明 | 有効 |
assisted-service | 最小限のインフラストラクチャー前提条件と包括的なプリフライト検証を使用して OpenShift Container Platform をインストールします。 | True |
cluster-lifecycle | OpenShift Container Platform および Kubernetes ハブクラスターにクラスター管理機能を提供します。 | True |
cluster-manager | クラスター環境内のさまざまなクラスター関連操作を管理します。 | True |
cluster-proxy-addon |
リバースプロキシーサーバーを使用して、ハブクラスターとマネージドクラスター両方での | 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 |
local-cluster | multicluster engine Operator がデプロイされるローカルハブクラスターのインポートと自己管理を有効にします。 | True |
managedserviceacccount | サービスアカウントをマネージドクラスターに同期し、トークンをシークレットリソースとして収集してハブクラスターに戻します。 | False |
server-foundation | マルチクラスター環境内のサーバー側操作のための基本的なサービスを提供します。 | True |
multicluster engine Operator をクラスターにインストールする場合、上記のコンポーネントすべてがデフォルトで有効になるわけではありません。
MultiClusterEngine
カスタムリソースに 1 つ以上の属性を追加することで、インストール中またはインストール後に multicluster engine Operator をさらに設定できます。追加できる属性は、このまま読み進めてください。
1.3.3.2. コンソールとコンポーネントの設定 リンクのコピーリンクがクリップボードにコピーされました!
次の例では、コンポーネントを有効または無効にするために使用できる spec.overrides
デフォルトテンプレートを表示します。
-
name
をコンポーネントの名前に置き換えます。
あるいは、以下のコマンドを実行します。namespace
プロジェクトの名前に置き換え、name
をコンポーネントの名前に置き換えます。
oc patch MultiClusterEngine <multiclusterengine-name> --type=json -p='[{"op": "add", "path": "/spec/overrides/components/-","value":{"name":"<name>","enabled":true}}]'
oc patch MultiClusterEngine <multiclusterengine-name> --type=json -p='[{"op": "add", "path": "/spec/overrides/components/-","value":{"name":"<name>","enabled":true}}]'
1.3.3.3. local-cluster の有効化 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、multicluster engine Operator を実行しているクラスターが、そのクラスターを自己管理します。クラスターの自己管理なしで multicluster engine Operator をインストールするには、MultiClusterEngine
セクションの spec.overrides.components
設定で次の値を指定します。
-
name
値は、ハブクラスターをlocal-cluster
として識別します。 -
enabled
設定は、機能を有効にするか無効にするかを指定します。値がtrue
の場合、ハブクラスターは自身を管理します。値がfalse
の場合、ハブクラスターは自身を管理しません。
自己管理されるハブクラスターは、クラスターの一覧で local-cluster
として指定されます。
1.3.3.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 にいることを確認してください。
- cloud.redhat.com/openshift/install/pull-secret から Download pull secret を選択して、OpenShift Container Platform のプルシークレットファイルをダウンロードします。OpenShift Container Platform プルシークレットは Red Hat カスタマーポータル ID に関連しており、すべての Kubernetes プロバイダーで同じです。
以下のコマンドを実行してシークレットを作成します。
oc create secret generic <secret> -n <namespace> --from-file=.dockerconfigjson=<path-to-pull-secret> --type=kubernetes.io/dockerconfigjson
oc create secret generic <secret> -n <namespace> --from-file=.dockerconfigjson=<path-to-pull-secret> --type=kubernetes.io/dockerconfigjson
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
secret
は作成するシークレット名に置き換えます。 -
シークレットは namespace 固有であるため、
namespace
はプロジェクトの namespace に置き換えます。 -
path-to-pull-secret
はダウンロードした OpenShift Container Platform のプルシークレットへのパスに置き換えます。
-
以下の例では、カスタムプルシークレットを使用する場合に使用する spec.imagePullSecret
テンプレートを表示しています。secret
は、プルシークレット名に置き換えます。
1.3.3.5. ターゲット namespace リンクのコピーリンクがクリップボードにコピーされました!
MultiClusterEngine
カスタムリソースで場所を指定することにより、指定された namespace にオペランドをインストールできます。この namespace は、MultiClusterEngine
カスタムリソースの適用時に作成されます。
重要: ターゲット namespace が指定されていない場合、Operator は multicluster-engine
namespace にインストールし、MultiClusterEngine
カスタムリソース仕様で設定します。
次の例は、ターゲット namespace を指定するために使用できる spec.targetNamespace
テンプレートを示しています。target
を宛先 namespace の名前に置き換えます。注記: target
namespace を default
namespace にすることはできません。
1.3.3.6. availabilityConfig リンクのコピーリンクがクリップボードにコピーされました!
ハブクラスターには、High
と Basic
の 2 つの可用性があります。デフォルトでは、ハブクラスターには High
の可用性があります。これにより、ハブクラスターコンポーネントに replicaCount
2
が提供されます。これにより、フェイルオーバー時のサポートが向上しますが、Basic
可用性よりも多くのリソースを消費します。これにより、コンポーネントには replicaCount
1
が提供されます。
重要: シングルノード OpenShift クラスターで multicluster engine Operator を使用している場合は、spec.availabilityConfig
を Basic
に設定してください。
以下の例は、Basic
の可用性のある spec.availabilityConfig
テンプレートを示しています。
1.3.3.7. nodeSelector リンクのコピーリンクがクリップボードにコピーされました!
MultiClusterEngine
でノードセレクターのセットを定義して、クラスター上の特定のノードにインストールできます。次の例は、ラベル node-role.kubernetes.io/infra
を持つノードに Pod を割り当てる spec.nodeSelector
を示しています。
spec: nodeSelector: node-role.kubernetes.io/infra: ""
spec:
nodeSelector:
node-role.kubernetes.io/infra: ""
1.3.3.8. toleration リンクのコピーリンクがクリップボードにコピーされました!
許容範囲のリストを定義して、MultiClusterEngine
がクラスターで定義された特定の taint を許容できるようにすることができます。以下の例は、node-role.kubernetes.io/infra
taint に一致する spec.tolerations
を示しています。
spec: tolerations: - key: node-role.kubernetes.io/infra effect: NoSchedule operator: Exists
spec:
tolerations:
- key: node-role.kubernetes.io/infra
effect: NoSchedule
operator: Exists
以前の infra-node toleration は、設定に toleration を指定せずにデフォルトで Pod に設定されます。設定で許容値をカスタマイズすると、このデフォルトの動作が置き換えられます。
1.3.3.9. ManagedServiceAccount アドオン リンクのコピーリンクがクリップボードにコピーされました!
ManagedServiceAccount
アドオンを使用すると、マネージドクラスターでサービスアカウントを作成または削除できます。このアドオンを有効にしてインストールするには、spec.overrides
の MultiClusterEngine
仕様に以下を含めます。
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}}]'
oc patch MultiClusterEngine <multiclusterengine-name> --type=json -p='[{"op": "add", "path": "/spec/overrides/components/-","value":{"name":"managedserviceaccount","enabled":true}}]'
1.3.4. アンインストール リンクのコピーリンクがクリップボードにコピーされました!
multicluster engine for Kubernetes Operator のアンインストールには、カスタムリソースの削除 と 完全な Operator アンインストール という 2 つの異なるレベルのプロセスがあります。アンインストールプロセスの完了に最長 5 分かかる可能性があります。
-
カスタムリソースの削除は、最も基本的なアンインストールの種類で、
MultiClusterEngine
インスタンスのカスタムリソースを削除しますが、他の必要なコンポーネントが残されたままになります。このレベルのアンインストールは、同じ設定とコンポーネントを使用して再インストールする予定の場合に役立ちます。 - 2 番目のレベルは、より完全なアンインストールで、カスタムリソース定義などのコンポーネントを除き、ほとんどの Operator コンポーネントを削除します。この手順を続行すると、カスタムリソースの削除で削除されていないコンポーネントおよびサブスクリプションがすべて削除されます。アンインストールが済むと、カスタムリソースの前に Operator を再インストールする必要があります。
1.3.4.1. 前提条件: 有効化されたサービスのデタッチ リンクのコピーリンクがクリップボードにコピーされました!
multicluster engine for Kubernetes Operator をアンインストールする前に、そのエンジンによって管理されているすべてのクラスターをデタッチする必要があります。エラーを回避するには、エンジンによって管理されているすべてのクラスターをデタッチしてから、アンインストールを再試行してください。
マネージドクラスターがアタッチされている場合は、以下のメッセージが表示される可能性があります。
Cannot delete MultiClusterEngine resource because ManagedCluster resource(s) exist
Cannot delete MultiClusterEngine resource because ManagedCluster resource(s) exist
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターのデタッチの詳細は、クラスター作成の概要 でお使いのプロバイダーの情報を選択して、マネージメントからのクラスターの削除 セクションを参照してください。
1.3.4.2. コマンドを使用したリソースの削除 リンクのコピーリンクがクリップボードにコピーされました!
-
まだの場合には、
oc
コマンドが実行できるように、OpenShift Container Platform CLI が設定されていることを確認してください。oc
コマンドの設定方法の詳細は、OpenShift Container Platform ドキュメントの OpenShift CLI スタートガイド を参照してください。 以下のコマンドを入力してプロジェクトの namespace に移動します。namespace はお使いのプロジェクトの namespace 名に置き換えます。
oc project <namespace>
oc project <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、
MultiClusterEngine
カスタムリソースを削除します。oc delete multiclusterengine --all
oc delete multiclusterengine --all
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを入力して進捗を表示できます。
oc get multiclusterengine -o yaml
oc get multiclusterengine -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
以下のコマンドを入力し、インストールされている namespace の multicluster-engine
ClusterServiceVersion
を削除します。
ここに表示されている CSV バージョンは異なる場合があります。
1.3.4.3. コンソールを使用したコンポーネントの削除 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Container Platform コンソールを使用してアンインストールする場合に、Operator を削除します。コンソールを使用してアンインストールを行うには、以下の手順を実行します。
- OpenShift Container Platform コンソールナビゲーションで、Operators > Installed Operators > multicluster engine for Kubernetes を選択します。
MultiClusterEngine
カスタムリソースを削除します。- Multiclusterengine のタブを選択します。
- MultiClusterEngine カスタムリソースの Options メニューを選択します。
- Delete MultiClusterEngine を選択します。
次のセクションの手順に従って、クリーンアップスクリプトを実行します。
ヒント: 同じ multicluster engine for Kubernetes Operator バージョンを再インストールする場合は、この手順の残りのステップをスキップして、カスタムリソースを再インストールできます。
- Installed Operators に移動します。
- Options メニューから Uninstall operator を選択して、_ multicluster engine for Kubernetes_ Operator を削除してください。
1.3.4.4. アンインストールのトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
マルチクラスターエンジンのカスタムリソースが削除されていない場合は、クリーンアップスクリプトを実行して、残っている可能性のあるアーティファクトをすべて削除します。
以下のスクリプトをファイルにコピーします。
#!/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
#!/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 Copied! Toggle word wrap Toggle overflow
詳細は 非接続インストールミラーリング を参照してください。
1.3.5. Red Hat Advanced Cluster Management の統合 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Management を有効にしてマルチクラスターエンジン Operator を使用している場合は、さらに多くのマルチクラスター管理機能を利用できます。
1.3.5.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Management 機能と統合するには、次の前提条件を参照してください。
- Red Hat Advanced Cluster Management がインストールされている。インストールするには、インストールとアップグレード を参照してください。
1.3.5.2. 可観測性の統合 リンクのコピーリンクがクリップボードにコピーされました!
multicluster-observability
Pod を有効にすると、Red Hat Advanced Cluster Management Observability Grafana ダッシュボードを使用して、Hosted Control Plane に関する次の情報を表示できます。
- ACM > Hosted Control Planes Overview で、Hosted Control Plane をホストするためのクラスター容量の推定値、関連するクラスターリソース、および既存の Hosted Control Plane のリストとステータスを確認できます。
- ACM > Resources > Hosted Control Plane ダッシュボード (Overview ページからアクセス可能) で、選択した Hosted Control Plane のリソース使用率を確認できます。
有効にするには、可観測性サービスについて を参照してください。