第1章 Red Hat Advanced Cluster Management インテグレーションを使用する multicluster engine Operator
multicluster engine Operator を使用しており、後から Red Hat Advanced Cluster Management をインストールすると、Observability や Policy をはじめとする多くのマルチクラスター管理機能にアクセスできるようになります。
統合機能は、次の要件を参照してください。
- Red Hat Advanced Cluster Management がインストールされている。Red Hat Advanced Cluster Management インストールおよびアップグレード に関するドキュメントを参照してください。
- インストール後の Red Hat Advanced Cluster Management の詳細は、MultiClusterHub 詳細設定 参照してください。
multicluster engine Operator と Red Hat Advanced Cluster Management マルチクラスター管理には、次の手順を参照してください。
1.1. Red Hat Advanced Cluster Management でのマルチクラスターエンジン Operator がホストするクラスターの検出
複数の ホステッドクラスター をホストしているマルチクラスターエンジン Operator クラスターがある場合は、それらのホステッドクラスターを Red Hat Advanced Cluster Management ハブクラスターに移動して、アプリケーションライフサイクル や ガバナンス などの Red Hat Advanced Cluster Management コンポーネントを使用して管理できます。
これらのホステッドクラスターは自動的に検出され、マネージドクラスターとしてインポートできます。
注記: Hosted Control Plane はマネージドマルチクラスターエンジン Operator クラスターノード上で実行されます。そのため、クラスターがホストできる Hosted Control Plane の数は、マネージドマルチクラスターエンジン Operator クラスターノードのリソースの可用性と、マネージドマルチクラスターエンジン Operator クラスターの数によって決まります。ノードまたはマネージドクラスターを追加すると、より多くの Hosted Control Plane をホストできます。
必要なアクセス権: クラスター管理者
1.1.1. 前提条件
- 1 つ以上のマルチクラスターエンジン Operator クラスターがある。
- ハブクラスターとして設定された Red Hat Advanced Cluster Management クラスターがある。
次のコマンドを実行して
clusteradm
CLI をインストールする。curl -L https://raw.githubusercontent.com/open-cluster-management-io/clusteradm/main/install.sh | bash
1.1.2. マルチクラスターエンジン Operator クラスターをインポートするための Red Hat Advanced Cluster Management の設定
マルチクラスターエンジン Operator には、管理対象のハブクラスターである local-cluster
があります。この local-cluster
では、open-cluster-management-agent-addon
namespace で次のデフォルトのアドオンが有効になっています。
-
cluster-proxy
-
managed-serviceaccount
-
work-manager
1.1.2.1. アドオンの設定
マルチクラスターエンジン Operator が Red Hat Advanced Cluster Management にインポートされると、Red Hat Advanced Cluster Management は、マルチクラスターエンジン Operator を管理するために、同じアドオンのセットを有効にします。
これらのアドオンを別のマルチクラスターエンジン Operator の namespace にインストールして、マルチクラスターエンジン Operator が local-cluster
のアドオンを使用して自己管理できるようにし、同時に Red Hat Advanced Cluster Management がマルチクラスターエンジン Operator を管理できるようにします。次の手順を実行します。
- CLI を使用して Red Hat Advanced Cluster Management にログインします。
AddOnDeploymentConfig
リソースを作成し、別のアドオンインストール用 namespace を指定します。次の例を参照してください。agentInstallNamespace
がopen-cluster-management-agent-addon-discovery
を参照しています。apiVersion: addon.open-cluster-management.io/v1alpha1 kind: AddOnDeploymentConfig metadata: name: addon-ns-config namespace: multicluster-engine spec: agentInstallNamespace: open-cluster-management-agent-addon-discovery
-
oc apply -f <filename>.yaml
を実行して、ファイルを適用します。 アドオンの既存の
ClusterManagementAddOn
リソースを更新して、作成したAddOnDeploymentConfig
リソースで指定されているopen-cluster-management-agent-addon-discovery
namespace にアドオンがインストールされるようにします。次の例を参照してください。namespace としてopen-cluster-management-global-set
を使用しています。apiVersion: addon.open-cluster-management.io/v1alpha1 kind: ClusterManagementAddOn metadata: name: work-manager spec: addonMeta: displayName: work-manager installStrategy: placements: - name: global namespace: open-cluster-management-global-set rolloutStrategy: type: All type: Placements
addonDeploymentConfigs
をClusterManagementAddOn
に追加します。以下の例を参照してください。apiVersion: addon.open-cluster-management.io/v1alpha1 kind: ClusterManagementAddOn metadata: name: work-manager spec: addonMeta: displayName: work-manager installStrategy: placements: - name: global namespace: open-cluster-management-global-set rolloutStrategy: type: All configs: - group: addon.open-cluster-management.io name: addon-ns-config namespace: multicluster-engine resource: addondeploymentconfigs type: Placements
AddOnDeploymentConfig
をmanaged-serviceaccount
に追加します。以下の例を参照してください。apiVersion: addon.open-cluster-management.io/v1alpha1 kind: ClusterManagementAddOn metadata: name: managed-serviceaccount spec: addonMeta: displayName: managed-serviceaccount installStrategy: placements: - name: global namespace: open-cluster-management-global-set rolloutStrategy: type: All configs: - group: addon.open-cluster-management.io name: addon-ns-config namespace: multicluster-engine resource: addondeploymentconfigs type: Placements
-
cluster-proxy
という名前のClusterManagementAddOn
リソースにaddondeploymentconfigs
値を追加します。以下の例を参照してください。
apiVersion: addon.open-cluster-management.io/v1alpha1 kind: ClusterManagementAddOn metadata: name: cluster-proxy spec: addonMeta: displayName: cluster-proxy installStrategy: placements: - name: global namespace: open-cluster-management-global-set rolloutStrategy: type: All configs: - group: addon.open-cluster-management.io name: addon-ns-config namespace: multicluster-engine resource: addondeploymentconfigs type: Placements
次のコマンドを実行して、Red Hat Advanced Cluster Management の
local-cluster
用のアドオンが、指定した namespace に再インストールされていることを確認します。oc get deployment -n open-cluster-management-agent-addon-discovery
次の出力例を参照してください。
NAME READY UP-TO-DATE AVAILABLE AGE cluster-proxy-proxy-agent 1/1 1 1 24h klusterlet-addon-workmgr 1/1 1 1 24h managed-serviceaccount-addon-agent 1/1 1 1 24h
1.1.2.2. KlusterletConfig リソースの作成
マルチクラスターエンジン Operator には、管理対象のハブクラスターである local-cluster があります。この local-cluster に対して、klusterlet
という名前のリソースが作成されます。
マルチクラスターエンジン Operator が Red Hat Advanced Cluster Management にインポートされると、Red Hat Advanced Cluster Management は、マルチクラスターエンジン Operator を管理するために、同じ名前の klusterlet (klusterlet)
をインストールします。これは、マルチクラスターエンジン Operator の local-cluster の klusterlet と競合します。
競合を回避するために、klusterlet が別の名前でインストールされるように、ManagedCluster
リソースがマルチクラスターエンジン Operator クラスターのインポートに使用する KlusterletConfig
リソースを作成する必要があります。次の手順を実行します。
次の例を使用して
KlusterletConfig
リソースを作成します。このKlusterletConfig
リソースがマネージドクラスターで参照された場合、spec.installMode.noOperator.postfix
フィールドの値が klusterlet 名の接尾辞として使用されます (例:klusterlet-mce-import
)。kind: KlusterletConfig apiVersion: config.open-cluster-management.io/v1alpha1 metadata: name: mce-import-klusterlet-config spec: installMode: type: noOperator noOperator: postfix: mce-import
-
oc apply -f <filename>.yaml
を実行して、ファイルを適用します。
1.1.2.3. バックアップと復元の設定
Red Hat Advanced Cluster Management をインストールすると、バックアップおよび復元 機能も使用できます。
障害復旧シナリオでハブクラスターが復元されると、インポートされたマルチクラスターエンジン Operator クラスターとホステッドクラスターが、新しい Red Hat Advanced Cluster Management ハブクラスターにインポートされます。
このとき、Red Hat Advanced Cluster Management ハブクラスターの復元の一環として、以前の設定を復元する必要があります。
バックアップを有効にするには、backup=true
ラベルを追加します。各アドオンは、次の手順を参照してください。
addon-ns-config
の場合は、次のコマンドを実行します。oc label addondeploymentconfig addon-ns-config -n multicluster-engine cluster.open-cluster-management.io/backup=true
hypershift-addon-deploy-config
の場合は、次のコマンドを実行します。oc label addondeploymentconfig hypershift-addon-deploy-config -n multicluster-engine cluster.open-cluster-management.io/backup=true
work-manager
の場合は、次のコマンドを実行します。oc label clustermanagementaddon work-manager cluster.open-cluster-management.io/backup=true
`cluster-proxy` の場合は、次のコマンドを実行します。
oc label clustermanagementaddon cluster-proxy cluster.open-cluster-management.io/backup=true
managed-serviceaccount
の場合は、次のコマンドを実行します。oc label clustermanagementaddon managed-serviceaccount cluster.open-cluster-management.io/backup=true
mce-import-klusterlet-config
の場合は、次のコマンドを実行します。oc label KlusterletConfig mce-import-klusterlet-config cluster.open-cluster-management.io/backup=true
1.1.3. マルチクラスターエンジン Operator の手動インポート
Red Hat Advanced Cluster Management クラスターからマルチクラスターエンジン Operator クラスターを手動でインポートするには、次の手順を実行します。
Red Hat Advanced Cluster Management クラスターから、
ManagedCluster
リソースを手動で作成し、マルチクラスターエンジン Operator クラスターをインポートします。次のファイルの例を参照してください。apiVersion: cluster.open-cluster-management.io/v1 kind: ManagedCluster metadata: annotations: agent.open-cluster-management.io/klusterlet-config: mce-import-klusterlet-config 1 labels: cloud: auto-detect vendor: auto-detect name: mce-a 2 spec: hubAcceptsClient: true leaseDurationSeconds: 60
-
oc apply -f <filename>.yaml
を実行して、ファイルを適用します。 マルチクラスターエンジン Operator クラスターの
kubeconfig
を参照するauto-import-secret
シークレットを作成します。CLI を使用してマネージドクラスターをインポートする の 自動インポートシークレットを使用してクラスターをインポートする に記載されているとおり、自動インポートシークレットを追加してマルチクラスターエンジン Operator 自動インポートプロセスを完了します。Red Hat Advanced Cluster Management クラスターのマルチクラスターエンジン Operator 管理クラスターの namespace に自動インポートシークレットを作成すると、マネージドクラスターが登録されます。
次のコマンドを実行して、ステータスを取得します。
oc get managedcluster
マネージドクラスターのステータスとサンプル URL を含む次の出力例を参照してください。
NAME HUB ACCEPTED MANAGED CLUSTER URLS JOINED AVAILABLE AGE local-cluster true https://<api.acm-hub.com:port> True True 44h mce-a true https://<api.mce-a.com:port> True True 27s
重要: インポートされたマルチクラスターエンジン Operator に対して、他の Red Hat Advanced Cluster Management アドオンを有効にしないでください。
1.1.4. ホステッドクラスターの検出
すべてのマルチクラスターエンジン Operator クラスターを Red Hat Advanced Cluster Management にインポートしたら、それらのマネージドマルチクラスターエンジン Operator クラスターで hypershift-addon
を有効にして、ホステッドクラスターを検出する必要があります。
前の手順では、デフォルトのアドオンを別の namespace にインストールしました。同様に、マルチクラスターエンジン Operator の別の namespace に hypershift-addon
をインストールして、マルチクラスターエンジン Operator の local-cluster のアドオンエージェントと Red Hat Advanced Cluster Management のエージェントが、マルチクラスターエンジン Operator で動作できるようにします。
重要: 以下のすべてのコマンドで、<managed-cluster-names>
を、マルチクラスターエンジン Operator のコンマ区切りのマネージドクラスター名に置き換えてください。
次のコマンドを実行して、アドオンの
agentInstallNamespace
namespace をopen-cluster-management-agent-addon-discovery
に設定します。oc patch addondeploymentconfig hypershift-addon-deploy-config -n multicluster-engine --type=merge -p '{"spec":{"agentInstallNamespace":"open-cluster-management-agent-addon-discovery"}}'
次のコマンドを実行して、メトリクスを無効にし、HyperShift Operator 管理を無効にします。
oc patch addondeploymentconfig hypershift-addon-deploy-config -n multicluster-engine --type=merge -p '{"spec":{"customizedVariables":[{"name":"disableMetrics","value": "true"},{"name":"disableHOManagement","value": "true"}]}}'
オプション: 前のコマンドに
{"name":"discoveryPrefix","value": ""}]}}'
を追加することで、命名規則を設定できます。検出されたホステッドクラスターが Red Hat Advanced Cluster Management ハブクラスターに自動的にインポートされると、`<mce-cluster-name>`-<hosted-cluster-name>
の命名規則に従って マネージドクラスター になります。また、discoveryPrefix
を他の文字列に設定して、それを<mce-cluster-name>
を置き換える接頭辞として使用することもできます。接頭辞を付けて次のコマンドを実行します。oc patch addondeploymentconfig hypershift-addon-deploy-config -n multicluster-engine --type=merge -p '{"spec":{"customizedVariables":[{"name":"disableMetrics","value": "true"},{"name":"disableHOManagement","value": "true"},{"name":"discoveryPrefix","value": ""}]}}'
次のコマンドを実行して、マルチクラスターエンジン Operator の
hypershift-addon
を有効にします。clusteradm addon enable --names hypershift-addon --clusters <managed-cluster-names>
Red Hat Advanced Cluster Management で次のコマンドを実行すると、マルチクラスターエンジン Operator が管理するクラスターの名前を取得できます。
oc get managedcluster
マルチクラスターエンジン Operator クラスターにログインし、指定した namespace に
hypershift-addon
がインストールされていることを確認します。以下のコマンドを実行します。oc get deployment -n open-cluster-management-agent-addon-discovery
アドオンがリスト表示されている次の出力例を参照してください。
NAME READY UP-TO-DATE AVAILABLE AGE cluster-proxy-proxy-agent 1/1 1 1 24h klusterlet-addon-workmgr 1/1 1 1 24h hypershift-addon-agent 1/1 1 1 24h managed-serviceaccount-addon-agent 1/1 1 1 24h
Red Hat Advanced Cluster Management が hypershift-addon
をデプロイします。これは、マルチクラスターエンジン Operator からホステッドクラスターを検出する検出エージェントです。エージェントは、ホステッドクラスターの kube-apiserver
が利用可能になると、Red Hat Advanced Cluster Management ハブクラスター内のマルチクラスターエンジン Operator が管理するクラスター namespace に、対応する DiscoveredCluster
カスタムリソースを作成します。
検出されたクラスターはコンソールで表示できます。
- ハブクラスターコンソールにログインし、All Clusters > Infrastructure > Clusters に移動します。
-
Discovered clusters タブを見つけて、タイプが
MultiClusterEngineHCP
のマルチクラスターエンジン Operator から検出されたすべてのホステッドクラスターを表示します。
次に、検出されたホステッドクラスターのインポートの自動化 を参照して、クラスターを自動的にインポートする方法を確認してください。