既存のクラスターを ACM にインポートする
この手順例を使用して、既存のクラスターを ACM 管理下に置きます。既存のクラスターが稼働している必要があります。
この例のプロシージャは、情報提供のみを目的としています。公式手順については、 Red Hat ACM のドキュメント を参照してください。
- ハブ クラスタにログインします。
ハブ クラスターの kubeconfig が既定の kubeconfig の場所 (
~/.kube/config
) に格納されていることを確認します。次に、次のようにログインします。oc login
- クラスター名を後で使用する変数に保存します。
CLUSTER_NAME=mgmt-spoke2
- プロジェクトを作成します。
oc new-project ${CLUSTER_NAME}
- 名前空間を作成します。
oc label namespace ${CLUSTER_NAME} cluster.open-cluster-management.io/managedCluster=${CLUSTER_NAME}
- マネージド クラスターを記述する YAML ファイルを作成して適用します。
- YAML ファイルを作成します。
ここで YAML ファイルを managed-cluster.yaml と呼びます。
apiVersion: cluster.open-cluster-management.io/v1 kind: ManagedCluster metadata: name: mgmt-spoke2 spec: hubAcceptsClient: true
mgmt-spoke2
、はクラスタ名です。 - YAML を適用します。
oc apply -f managed-cluster.yaml
- YAML ファイルを作成します。
- クラスレットアドオンYAMLファイルを作成して適用します。klusterlet は、ハブと管理対象クラスター間の通信を担当するエージェントです。
- YAML ファイルを作成します。
この YAML ファイルを klusterlet-addon-config.yaml と呼びます。
apiVersion: agent.open-cluster-management.io/v1 kind: KlusterletAddonConfig metadata: name: mgmt-spoke2 namespace: mgmt-spoke2 spec: clusterName: mgmt-spoke2 clusterNamespace: mgmt-spoke2 applicationManager: enabled: true certPolicyController: enabled: true clusterLabels: cloud: auto-detect vendor: auto-detect iamPolicyController: enabled: true policyController: enabled: true searchCollector: enabled: true version: 2.0.0
- YAML を適用します。
oc apply -f klusterlet-addon-config.yaml
- YAML ファイルを作成します。
- 前の手順で自動的に生成されたシークレットを表示します。
自動生成されたシークレットは
${CLUSTER_NAME}-import
と呼ばれます。oc get secret ${CLUSTER_NAME}-import
oc describe secret ${CLUSTER_NAME}-import
このシークレットには、klusterlet をインストールするためにマネージド クラスターに適用する import.yaml が含まれています。
- クラスレットの設定をローカルファイルに保存します。
- クラスター CRD を取得して保存し、後でマネージドクラスターに適用します。
oc get secret ${CLUSTER_NAME}-import -n ${CLUSTER_NAME} -o jsonpath={.data.crds\\.yaml} | base64 --decode > klusterlet-crd.yaml
- import.yaml を取得して保存し、後でマネージドクラスターに適用します。
oc get secret ${CLUSTER_NAME}-import -n ${CLUSTER_NAME} -o jsonpath={.data.import\\.yaml} | base64 --decode > import.yaml
- クラスター CRD を取得して保存し、後でマネージドクラスターに適用します。
- クラスレットをインポートします。
マネージド クラスターから次のコマンドを実行します。これを行う 1 つの方法は、マネージド クラスターの kubeconfig を既定の kubeconfig の場所 (
~/.kube/config
) にコピーすることです。kubectl apply -f klusterlet-crd.yaml
kubectl apply -f import.yaml
- クラスターレットのポッドの状態を確認します。
kubectl get pod -n open-cluster-management-agent
- インポートしたクラスターの [参加済み] および [使用可能] ステータスを確認します。このコマンドは、ハブ クラスターから実行します。
kubectl get managedcluster -n ${CLUSTER_NAME}
インポートされたクラスターは、参加していて使用可能であることが示されている必要があります。
- エージェントアドオンを確認してください。このコマンドは、ハブ クラスターから実行します。
oc get pod -n open-cluster-management-agent-addon