第9章 ハブクラスターへのターゲットのマネージドクラスターのインポート
別の Kubernetes クラウドプロバイダーからクラスターをインポートできます。インポートすると、ターゲットクラスターは Red Hat Advanced Cluster Management for Kubernetes ハブクラスターのマネージドクラスターになります。指定されていない場合には、ハブクラスターとターゲットのマネージドクラスターにアクセスできる場所で、インポートタスクを実行します。
ハブクラスターは 他 のハブクラスターの管理はできず、自己管理のみが可能です。ハブクラスターは、自動的にインポートして自己管理できるように設定されています。ハブクラスターは手動でインポートする必要はありません。
ただし、ハブクラスターを削除して、もう一度インポートする場合は、local-cluster:true ラベルを追加する必要があります。
コンソールまたは CLI からのマネージドクラスターの設定は、以下の手順から選択します。
必要なユーザータイプまたはアクセスレベル: クラスター管理者
9.1. コンソールを使用した既存クラスターのインポート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Management for Kubernetes をインストールすると、管理するクラスターをインポートする準備が整います。コンソールと CLI の両方からインポートできます。コンソールからインポートするには、以下の手順に従います。この手順では、認証用にターミナルが必要です。
9.1.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- Red Hat Advanced Cluster Management for Kubernetes のハブクラスターをデプロイしておく必要がある。ベアメタルクラスターをインポートする場合には、ハブクラスターを Red Hat OpenShift Container Platform バージョン 4.4 以降にインストールする必要があります。
- 管理するクラスターとインターネット接続が必要である。
-
kubectlをインストールしておく必要がある。kubectlのインストール手順は、Kubernetes ドキュメント の「Install and Set Up kubectl」を参照してください。
-
Base64コマンドラインツールが必要である。
必要なユーザータイプまたはアクセスレベル: クラスター管理者
9.1.2. クラスターのインポート リンクのコピーリンクがクリップボードにコピーされました!
利用可能なクラウドプロバイダーごとに、Red Hat Advanced Cluster Management for Kubernetes コンソールから既存のクラスターをインポートできます。
注記: ハブクラスターは別のハブクラスターを管理できません。ハブクラスターは、自動的にインポートおよび自己管理するように設定されるため、ハブクラスターを手動でインポートして自己管理する必要はありません。
- ナビゲーションメニューで Automate infrastructure にマウスをかざし、Clusters をクリックします。
- Add cluster をクリックします。
- Import an existing cluster をクリックします。
- クラスター名を指定します。デフォルトで、namespace はクラスター名と同じ値に設定されます。ベストプラクティス: namespace の値はそのままにして、編集しないでください。
オプション: クリックして Edit cluster import YAML file を展開し、エンドポイント設定を変更します。
各パラメーターの詳細は、 表 1 YAML ファイルパラメーターおよび説明 を参照してください。
- オプション: インポート後に、Configure advanced parameters をクリックしてラベルを追加し、検索時にこのラベルを使用します。
オプション:
MANAGED CLUSTER URLSを設定します。MANAGED CLUSTER URLSを設定すると、oc get managedclusterコマンドを実行時に、この URL がテーブルに表示されます。-
までオンになっていない場合には、Web コンソールのスイッチを使用して
YAMLコンテンツをオンにし、コンテンツを表示できるようにします。 以下の例のように、
import.yamlファイルのManagedCluster仕様にmanageClusterClientConfigsのセクションを追加します。apiVersion: cluster.open-cluster-management.io/v1 kind: ManagedCluster metadata: labels: cloud: auto-detect vendor: auto-detect name: cluster-test name: cluster-test spec: hubAcceptsClient: true managedClusterClientConfigs: - url: https://multicloud-console.apps.new-managed.dev.redhat.com --- apiVersion: agent.open-cluster-management.io/v1 ...URL の値は、マネージドクラスターの外部アクセス URL アドレスに置き換えます。
-
までオンになっていない場合には、Web コンソールのスイッチを使用して
-
Generate Command をクリックし、コマンドを取得して、
open-cluster-management-agent-addonをデプロイします。 - Import an existing cluster ウィンドウで Copy command アイコンにマウスをかざしてクリックし、インポートコマンドと指定のトークンをコピーします。適切なコピーを取得するには、Copy アイコンをクリックする必要があります。重要: コマンドには、インポートした各クラスターにコピーされるプルシークレット情報が含まれます。インポートしたクラスターにアクセスできるユーザーであれば誰でも、プルシークレット情報を表示することもできます。https://cloud.redhat.com/ で 2 つ目のプルシークレットを作成するか、サービスアカウントを作成して、個人の認証情報が不正アクセスされないようにします。詳細は、「イメージプルシークレットの使用」または「サービスアカウントの概要および作成」を参照してください。
ターミナルから、マネージドクラスターへの認証を行います。ターゲットのマネージドクラスターの
kubectlを設定します。kubectlの設定方法は、「 サポート対象のクラウド 」を参照してください。-
マネージドクラスターに
open-cluster-management-agent-addonをデプロイするには、手順 8 で生成してコピーしたコマンドを実行します。 - View cluster をクリックして Overview ページのクラスターの概要を表示します。
注記: 続けて他のクラスターもインポートできます。Import another をクリックして、このプロセスを繰り返します。
9.1.2.1. YAML パラメーターおよび説明 リンクのコピーリンクがクリップボードにコピーされました!
表 1: YAML ファイルで利用可能なパラメーターおよび説明を以下の表に示します。
| パラメーター | 説明 | デフォルト値 |
|---|---|---|
| clusterLabels | クラスターラベルを指定します。ラベルをファイルに追加できます。 | なし |
| clusterLabels.cloud | クラスターのプロバイダーラベル | auto-detect |
| clusterLabels.vendor | クラスターの Kubernetes ベンダーラベル | auto-detect |
| clusterLabels.environment | クラスターの環境ラベル | なし |
| clusterLabels.region | クラスターが設定されているリージョン | なし |
| applicationManager.enabled | マルチクラスターマネージャーのアプリケーションデプロイメントを有効化して、サブスクリプションコントローラーと deployable コントローラーをデプロイします。 | true |
| searchCollector.enabled | 検索コレクションおよびインデックス化を有効にします。 | true |
| policyController.enabled | ガバナンスおよびリスクダッシュボードのポリシー機能を有効にします。 | true、updateInterval: 15 |
| certPolicyController.enabled | 分散ポリシーに基づいて証明書の有効期限を監視します | true |
| iamPolicyController | 分散ポリシーに基づくアイデンティティー管理を監視します | true |
| serviceRegistry.enabled | アプリケーションの deployable によりマネージドクラスター全体にデプロイされたサービスを検出するのに使用するサービスレジストリー。 | false |
| serviceRegistry.dnsSuffix | レジストリーの DNS 名のサフィックス。これは、ターゲットクラスターの DNS ドメイン名の末尾に追加されます。 | mcm.svc |
| serviceRegistry.plugins |
有効化したプラグインのコンマ区切りの一覧。サポートされるプラグイン: | kube-service |
| version |
| 2.1.0 |
9.1.3. インポートされたクラスターの削除 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順を実行して、インポートされたクラスターと、マネージドクラスターで作成された open-cluster-management-agent-addon を削除します。
- Clusters ページの表から、インポートされたクラスターを見つけます。
- Actions > Detach cluster をクリックしてマネージメントからクラスターを削除します。
注記: local-cluster という名前のハブクラスターをデタッチしようとする場合には、デフォルトの disableHubSelfManagement 設定が false である点に注意してください。この設定が原因で、ハブクラスターはデタッチされると、自身を再インポートして管理し、MultiClusterHub コントローラーが調整されます。ハブクラスターがデタッチプロセスを完了して再インポートするのに時間がかかる場合があります。プロセスが終了するのを待たずにハブクラスターを再インポートする場合には、以下のコマンドを実行して multiclusterhub-operator Pod を再起動して、再インポートの時間を短縮できます。
oc delete po -n open-cluster-management `oc get pod -n open-cluster-management | grep multiclusterhub-operator| cut -d' ' -f1`
「ネットワーク接続時のオンラインインストール」で説明されているように、disableHubSelfManagement の値を true に指定して、自動的にインポートされないように、ハブクラスターの値を変更できます。