기존 클러스터를 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 파일을 만듭니다.
- klusterlet addon 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 이 포함되어 있습니다.
- klusterlet 구성을 로컬 파일에 저장합니다.
- klusterlet 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
- klusterlet CRD를 검색하고 나중에 관리형 클러스터에 적용할 수 있도록 저장합니다.
- klusterlet을 가져옵니다.
관리형 클러스터에서 다음 명령을 실행합니다. 이를 수행하는 한 가지 방법은 관리형 클러스터의 kubeconfig를 기본 kubeconfig 위치(
~/.kube/config
)에 복사하는 것입니다.kubectl apply -f klusterlet-crd.yaml
kubectl apply -f import.yaml
- klusterlet의 Pod 상태를 확인합니다.
kubectl get pod -n open-cluster-management-agent
- 가져온 클러스터의 JOINED 및 AVAILABLE 상태를 확인합니다. 허브 클러스터에서 이 명령을 실행합니다.
kubectl get managedcluster -n ${CLUSTER_NAME}
가져온 클러스터는 조인되어 사용 가능하다는 것을 나타내야 합니다.
- 에이전트 애드온을 확인하십시오. 허브 클러스터에서 이 명령을 실행합니다.
oc get pod -n open-cluster-management-agent-addon