Menu Close
Settings Close

Language and Page Formatting Options

1.8. ハブクラスターへのターゲットのマネージドクラスターのインポート

別の Kubernetes クラウドプロバイダーからクラスターをインポートできます。インポートすると、ターゲットクラスターは Red Hat Advanced Cluster Management for Kubernetes ハブクラスターのマネージドクラスターになります。指定されていない場合は、ハブクラスターとターゲットのマネージドクラスターにアクセスできる場所で、インポートタスクを実行します。

ハブクラスターは のハブクラスターの管理はできず、自己管理のみが可能です。ハブクラスターは、自動的にインポートして自己管理できるように設定されています。ハブクラスターは手動でインポートする必要はありません。

ただし、ハブクラスターを削除して、もう一度インポートする場合は、local-cluster:true ラベルを追加する必要があります。

コンソールまたは CLI からのマネージドクラスターの設定は、以下の手順から選択します。

必要なユーザータイプまたはアクセスレベル: クラスター管理者

1.8.1. コンソールを使用した既存クラスターのインポート

Red Hat Advanced Cluster Management for Kubernetes をインストールすると、管理するクラスターをインポートする準備が整います。コンソールと CLI の両方からインポートできます。コンソールからインポートするには、以下の手順に従います。この手順では、認証用にターミナルが必要です。

1.8.1.1. 前提条件

  • Red Hat Advanced Cluster Management for Kubernetes のハブクラスターをデプロイしている。ベアメタルクラスターをインポートする場合は、ハブクラスターを Red Hat OpenShift Container Platform バージョン 4.6 以降にインストールする必要があります。
  • 管理するクラスターとインターネット接続が必要である。
  • kubectl をインストールしておく必要がある。kubectl のインストール手順は、Kubernetes ドキュメントInstall and Set Up kubectl を参照してください。
  • 管理するクラスターとインターネット接続が必要である。
  • Base64 コマンドラインツールが必要である。
  • Red Hat OpenShift Container Platform によって作成されていないクラスターをインポートする場合は、multiclusterhub.spec.imagePullSecret を定義する必要があります。このシークレットは、Red Hat Advanced Cluster Management for Kubernetes のインストール時に作成されている場合もあります。シークレットの定義の詳細は OperatorHub からのインストール を参照してください。
  • インポートするクラスターでエージェントが削除されていることを確認します。open-cluster-management-agent および open-cluster-management-agent-addon namespace は存在させないでください。
  • Red Hat OpenShift Dedicated 環境にインポートする場合には、以下を実行しておく。

    • ハブクラスターを Red Hat OpenShift Dedicated 環境にデプロイしている必要があります。
    • Red Hat OpenShift Dedicated のデフォルトパーミッションは dedicated-admin ですが、namespace を作成するためのパーミッションがすべて含まれているわけではありません。Red Hat Advanced Cluster Management for Kubernetes でクラスターをインポートして管理するには cluster-admin パーミッションが必要です。

必要なユーザータイプまたはアクセスレベル: クラスター管理者

1.8.1.2. クラスターのインポート

利用可能なクラウドプロバイダーごとに、Red Hat Advanced Cluster Management for Kubernetes コンソールから既存のクラスターをインポートできます。

注記: ハブクラスターは別のハブクラスターを管理できません。ハブクラスターは、自動的にインポートおよび自己管理するように設定されるため、ハブクラスターを手動でインポートして自己管理する必要はありません。

  1. ナビゲーションメニューから Infrastructure > Clusters を選択します。
  2. Add cluster をクリックします。
  3. Import an existing cluster をクリックします。
  4. クラスターの名前を指定します。デフォルトで、namespace はクラスター名と namespace に使用されます。
  5. オプション: ラベル を追加します。

    注記: Red Hat OpenShift Dedicated クラスターをインポートし、vendor=OpenShiftDedicated のラベルを追加してベンダーが指定されないようにする場合、または vendor=auto-detect のラベルを追加する場合は、managed-by=platform ラベルがクラスターに自動的に追加されます。この追加ラベルを使用して、クラスターを Red Hat OpenShift Dedicated クラスターとして識別し、Red Hat OpenShift Dedicated クラスターをグループとして取得できます。

  6. 以下のオプションからインポートするクラスター特定に使用する インポートモード を選択します。

    • import コマンドを手動で実行する: 指定した情報に基づいてコピーして実行できるインポートコマンドを生成します。Save import and generate code をクリックし、open-cluster-management-agent-addon のデプロイに使用するコマンドを生成します。確認メッセージが表示されます。

      1. Import an existing cluster ウィンドウで Copy command を選択し、生成されたコマンドおよびトークンをクリップボードにコピーします。

        重要: コマンドには、インポートした各クラスターにコピーされるプルシークレット情報が含まれます。インポートしたクラスターにアクセスできるユーザーであれば誰でも、プルシークレット情報を表示することもできます。https://cloud.redhat.com/ で 2 つ目のプルシークレットを作成することを検討するか、サービスアカウントを作成して個人の認証情報を保護してください。プルシークレットの詳細は、イメージプルシークレットの使用 または サービスアカウントの概要および作成 を参照してください。

      2. インポートするマネージドクラスターにログインします。
      3. Red Hat OpenShift Dedicated 環境のみ対象 : 以下の手順を実行します。

        1. マネージドクラスターで open-cluster-management-agent および open-cluster-management namespace またはプロジェクトを作成します。
        2. OpenShift Container Platform カタログで klusterlet Operator を検索します。
        3. 作成した open-cluster-management namespace またはプロジェクトにインストールします。

          重要: open-cluster-management-agent namespace に Operator をインストールしないでください。

        4. 以下の手順を実行して、import コマンドからブートストラップシークレットを展開します。

          1. import コマンドを生成します。

            1. Red Hat Advanced Cluster Management コンソールで、Infrastructure > Clusters を選択します。
            2. Add a cluster > Import an existing cluster を選択します。
            3. クラスター情報を追加し、Save import and generate code を選択します。
          2. import コマンドをコピーします。
          3. import-command という名前で作成したファイルに、import コマンドを貼り付けます。
          4. 以下のコマンドを実行して、新しいファイルにコンテンツを挿入します。

            cat import-command | awk '{split($0,a,"&&"); print a[3]}' | awk '{split($0,a,"|"); print a[1]}' | sed -e "s/^ echo //" | base64 -d
          5. 出力で bootstrap-hub-kubeconfig という名前のシークレットを見つけ、コピーします。
          6. シークレットをマネージドクラスターの open-cluster-management-agent namespace に適用します。
          7. インストールした Operator の例を使用して klusterlet リソースを作成します。clusterName は、インポート中に設定されたクラスター名と同じ名前に変更する必要があります。

            注記: managedcluster リソースがハブに正しく登録されると、2 つの klusterlet Operator がインストールされます。klusterlet Operator の 1 つは open-cluster-management namespace に、もう 1 つは open-cluster-management-agent namespace にあります。Operator が複数あっても klusterlet の機能には影響はありません。

      4. Red Hat OpenShift Dedicated 環境に含まれていないクラスターのインポート: 以下の手順を実行します。

        1. 必要な場合は、マネージドクラスターの kubectl コマンドを設定します。

          kubectl コマンドラインインターフェイスの設定方法は、サポート対象のクラウド を参照してください。

        2. マネージドクラスターに open-cluster-management-agent-addon をデプロイするには、コピーしたトークンでコマンドを実行します。
      5. View cluster をクリックして Overview ページのクラスターの概要を表示します。
    • 既存のクラスターのサーバー URL および API トークンを入力する: インポートするクラスターの サーバー URL および API トークンを指定します。
    • kubeconfig: インポートしているクラスターの kubeconfig ファイルの内容をコピーし、貼り付けます。
  7. オプション: oc get managedcluster コマンドを実行する際に、テーブルに表示される URL を設定して、クラスターの詳細ページにある Cluster API アドレス を設定します。

    1. cluster-admin パーミッションがある ID でハブクラスターにログインします。
    2. ターゲットのマネージドクラスターの kubectl を設定します。

      kubectl の設定方法は、サポート対象のクラウド を参照してください。

    3. 以下のコマンドを入力して、インポートしているクラスターのマネージドクラスターエントリーを編集します。

      oc edit managedcluster <cluster-name>

      cluster-name は、マネージドクラスターの名前に置き換えます。

    4. 以下の例のように、YAML ファイルの ManagedCluster 仕様に manageClusterClientConfigs セクションを追加します。

      spec:
        hubAcceptsClient: true
        managedClusterClientConfigs:
        - url: https://multicloud-console.apps.new-managed.dev.redhat.com

      URL の値を、インポートするマネージドクラスターへの外部アクセスを提供する URL に置き換えます。

クラスターがインポートされました。Import another を選択すると、さらにインポートできます。

1.8.1.3. インポートされたクラスターの削除

以下の手順を実行して、インポートされたクラスターと、マネージドクラスターで作成された open-cluster-management-agent-addon を削除します。

  1. Clusters ページの表から、インポートされたクラスターを見つけます。
  2. 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 に指定して、自動的にインポートされないように、ハブクラスターの値を変更できます。詳細は、disableHubSelfManagement トピックを参照してください。