고급 클러스터 관리 애드온 설정(일부 지역에만 해당)
고급 클러스터 관리(ACM) 애드온은 고객이 여러 클러스터에서 모니터링, 워크로드 배치 및 보안 정책을 관리할 수 있는 간소화된 방법을 제공합니다.
고급 클러스터 관리 애드온은 일부 지역에서만 사용할 수 있습니다.
IBM Cloud 클러스터에는 OperatorHub 에서 ACM을 설치하는 것이 지원되지 않습니다. ACM을 설치하려면 이 페이지의 지침을 따르세요.
ACM을 설치하는 클러스터는 허브 클러스터입니다. 설치 중 또는 설치 후에 ACM으로 관리할 관리형 클러스터를 여러 개 지정할 수 있습니다.
시작하기 전에
ACM 애드온을 설치하기 전에 다음 필수 단계와 정보를 검토하세요.
- ACM 요금제 유형을 검토하고 어떤 요금제를 사용할지 결정하세요. 가상화용 ACM의 경우, 관리형 클러스터에서 베어메탈 워커 노드를 실행하는 것이 좋습니다.
- 클러스터가 다음 요구 사항을 충족하는지 확인하세요.
- 허브 클러스터는 RHCOS를 실행하는 작업자 노드 3개 이상과 최소 6개의 VCPU 및 64GB RAM이 있는 VPC 클러스터여야 합니다. 고가용성을 위해 클러스터에 3개 영역에 걸쳐 영역당 작업자 노드가 하나 이상 있어야 합니다.
- 각 관리형 클러스터에는 RHCOS를 실행하는 작업자 노드가 3개 이상 있어야 하며, 최소 6개의 VCPU와 64GB RAM이 있어야 합니다.
- 또한 가상화용 ACM 요금제를 사용하려는 경우 베어메탈 워커 노드를 사용하는 것이 좋습니다. Kubernetes 플랜의 경우 관리형 클러스터는 베어메탈 노드 또는 VSI를 실행할 수 있습니다.
- ACM 애드온에 의해 자동으로 설치되는 연산자와 개선 사항으로 설치할 수 있는 선택적 연산자를 검토하세요.
- IBM Cloud Kubernetes Service 에서 클러스터에 대한 관리자 플랫폼 액세스 역할과 관리자 서비스 액세스 역할이 있어야 합니다.
- 최소 3개의 워커 노드가 있는 VPC 클러스터가 있어야 합니다. 각 작업자 노드에는 최소 4개의 CPU와 16GB RAM이 있어야 합니다. 고가용성을 위해 클러스터에 3개 영역에 걸쳐 영역당 작업자 노드가 하나 이상 있어야 합니다.
- 클러스터에서 ACM에 사용할 신뢰할 수 있는 프로필을 만듭니다.
- ACM으로 관리하려는 각 클러스터에 대해, 관리되는 클러스터의 액세스 토큰과 서버 URL 를 사용하여 허브 클러스터에 시크릿을 만들어야 합니다. 이 단계는 설치 전이나 후에 완료할 수 있습니다. ACM용 비밀 번호 준비하기를 참조하세요.
- CLI를 설치하거나 업데이트합니다.
ACM을 위한 신뢰할 수 있는 프로필 만들기
ACM에 사용할 신뢰할 수 있는 프로필을 만들려면 다음 단계를 따르세요.
-
신뢰할 수 있는 프로필을 만들려면 다음 단계를 따르세요. 프로필 조건에서 다음 액세스 권한을 지정해야 합니다.
- 네임스페이스가 다음과 같을 때 액세스 허용
kube-system - Satellite 서비스 역할 - Satellite Link 관리자, 리더
- Kubernetes Service 역할 - 관리자, 편집자
- 청구 서비스 역할 - 리더, 운영자
- 네임스페이스가 다음과 같을 때 액세스 허용
-
신뢰할 수 있는 프로필을 만든 후 콘솔의 신뢰할 수 있는 프로필 페이지에서 ID를 복사합니다.
-
신뢰할 수 있는 프로필의 ID를 사용하여 다음 비밀 번호를 만듭니다. 다음 텍스트를 저장하고 자격 증명을 입력합니다. 단계에 따라 수동으로 비밀번호를 만들거나 셸 스크립트를 사용하여 클러스터에 비밀번호를 자동으로 만들 수 있습니다.
IBMCLOUD_AUTHTYPE=pod-identity IBMCLOUD_PROFILEID=<TRUSTED-PROFILE-ID> -
클러스터에 신뢰할 수 있는 프로필의 자격 증명을 포함하는 비밀을 만듭니다. 다음 YAML을
ibm-cloud-credentials.yaml이라는 파일에 저장합니다.ibm-credentials.env:필드에 신뢰할 수 있는 프로필의 ID를 입력합니다.apiVersion: v1 data: ibm-credentials.env: # Trusted profile ID kind: Secret metadata: name: ibm-cloud-credentials namespace: kube-system type: Opaque -
계정에 로그인하십시오. If applicable, target the appropriate resource group. 클러스터에 대한 컨텍스트를 설정하십시오.
-
클러스터의 시크릿을 작성하십시오.
kubectl apply -f ibm-cloud-credentials.yaml
ACM을 위한 비밀 준비
ACM으로 관리하려는 각 클러스터에 대해 관리되는 클러스터의 액세스 토큰과 서버를 포함하는 시크릿을 허브 클러스터에 만들어야 합니다( URL ).
ACM 애드온 설치 프로세스 중에 관리되는 클러스터를 가져오려면 설치를 시작하기 전에 다음 단계를 완료하세요. 허브 클러스터에 애드온을 설치한 후에 비밀을 만들고 관리되는 클러스터를 가져오기로 선택한 경우에는 CLI로 추가 단계를 완료하여 이 작업을 수행할 수 있습니다.
관리하려는 각 클러스터에 대해 다음 단계를 완료합니다.
-
ACM으로 관리하려는 클러스터에서 다음 명령을 실행하여 서버를 찾습니다. URL. 출력에서 마스터 URL 값을 찾아서 기록합니다. 시크릿에서 참조할 서버는 URL 입니다. 다음 단계에서도 URL 을 사용합니다.
ibmcloud oc cluster get -c <cluster_name_or_ID>출력 예.
NAME: mycluster ID: 1234567 State: normal Created: 2025-01-22T19:22:16+0000 Location: dal10 Master URL: https://c100-e.<region>.containers.cloud.ibm.com:<port> ... -
Red Hat OpenShift oauth 서버의 토큰 엔드포인트를 가져옵니다.
<master_URL>을 이전 단계에서 찾은 URL 으로 바꿉니다. 출력의 값은 액세스 토큰이 아니라는 점에 유의하세요.curl <master_URL>/.well-known/oauth-authorization-server | jq -r .token_endpoint출력 예.
<token_endpoint>/oauth/token -
이전에 검색한 엔드포인트로 클러스터에 로그인하십시오.
<URL>을 이전 단계에서 찾은 oauth 서버의<token_endpoint>으로 바꿉니다. 출력에서 위치 응답에 포함된<access_token>을 찾습니다. 비밀에 포함할 액세스 토큰입니다.curl 요청 예:
curl -u 'apikey:<API_key>' -H "X-CSRF-Token: a" '<URL>/oauth/authorize?client_id=openshift-challenging-client&response_type=token' -vvv출력 예. <access_token>은 위치 응답 문자열에 포함됩니다.
< HTTP/1.1 302 Found < Cache-Control: no-cache, no-store, max-age=0, must-revalidate < Cache-Control: no-cache, no-store, max-age=0, must-revalidate < Expires: 0 < Expires: Fri, 01 Jan 2030 00:00:00 GMT < Location: <token_endpoint>/oauth/token/implicit#access_token=<access_token>&expires_in=86400&scope=user%3Afull&token_type=Bearer ... -
허브 클러스터에서 클러스터 액세스 토큰과 서버가 포함된 비밀을 만듭니다 URL. 비밀 번호 생성에 대한 자세한 내용은 Kubernetes 문서에서 비밀 번호로 작업하기를 참조하세요.
비밀 예시.
apiVersion: v1 kind: Secret metadata: name: <secret_name> namespace: <secret_namespace> # The namespace that the secret is to be created in type: Opaque stringData: token: <access_token> server: <server_url>
UI에서 ACM 설치하기
UI를 사용하여 허브 클러스터에 ACM 애드온 및 ACM 운영자를 설치합니다.
-
설치 프로세스 중에 ACM으로 관리할 하나 이상의 관리형 클러스터를 가져오려면 ACM용 비밀번호 준비하기의 단계에 따라 허브 클러스터에 필요한 비밀번호를 만드세요. 비밀 이름과 네임스페이스를 저장합니다. 지금은 이 단계를 건너뛰고 설치 프로세스 후에 완료할 수도 있지만 추가 CLI 단계가 필요합니다.
-
IBM Cloud 콘솔에 로그인하고 클러스터 페이지로 이동합니다. ACM을 설치하려는 클러스터를 클릭합니다.
-
클러스터 세부 정보 페이지에서 추가 기능 섹션을 찾습니다.
-
설치 가능에서 Red Hat 고급 클러스터 관리 옵션을 찾아 설치를 클릭합니다.
-
설치 페이지에서 설치할 ACM 애드온 버전을 선택합니다.
-
사용하려는 ACM 요금제를 선택하세요: 가상화용 ACM 또는 Kubernetes 용 ACM. 가상화용 ACM 요금제에서 ACM 대상 Kubernetes 요금제로 언제든지 업그레이드할 수 있지만, 업그레이드는 영구적이며 되돌릴 수 없다는 점에 유의하세요.
-
관리되는 클러스터를 가져오는 방법을 선택합니다. 애드온을 설치한 후 클러스터를 가져오려면 CLI에서 가져오기를 선택합니다. 허브 클러스터에 필요한 비밀번호를 만들었고 지금 관리되는 클러스터를 가져오려면 지금 가져오기를 선택합니다.
설치 프로세스 중에는 UI를 사용하여 관리되는 클러스터를 가져올 때만 사용할 수 있습니다. 허브 클러스터에 ACM 애드온이 설치되면 CLI를 사용하여 관리되는 클러스터를 가져와야 합니다.
- 지금 가져오기 옵션을 선택한 경우 팝업 메뉴에서 클러스터 가져오기를 클릭합니다.
- 계정에 존재하는 클러스터를 가져오려면 클러스터를 선택하고 비밀 이름과 네임스페이스를 입력합니다. 그런 후 다음 을 클릭하십시오.
- 교차 계정 또는 외부 클러스터를 가져오려면 클러스터 ID, 비밀 이름 및 비밀 네임스페이스를 지정합니다. 그런 다음 클러스터 가져오기를 클릭합니다.
-
작성을 클릭하십시오.
-
애드온이 클러스터에 설치되어 있는지 확인합니다.
- OpenShift 웹 콘솔 멀티클러스터 허브로 이동합니다.
- 드롭다운 탐색 메뉴에서 차량 관리를 선택합니다.
- 클러스터 목록을 찾아 클러스터가 허브 컨트롤 플레인 유형으로 나열되어 있는지 확인합니다.
-
선택 사항입니다: ACM 기능을 향상시키기 위해 설치할 수 있는 추가 운영자를 검토하세요.
CLI에서 ACM 설치하기
CLI를 사용하여 허브 클러스터에 ACM 애드온을 설치합니다.
-
ACM 애드온의 기본 버전을 찾아보세요.
ibmcloud oc cluster addon versions -
ACM 애드온 옵션을 검토합니다. 명령에서 이전 단계에서 찾은 기본 버전을 지정합니다. 애드온을 설치할 때 포함할 옵션을 기록해 두세요.
ibmcloud oc cluster addon options --addon acm --version <default_version> -
애드온에서 관리할 클러스터를 가져오려면 아직 가져오지 않았다면 ACM용 비밀번호 준비하기의 단계를 따르세요. 허브 클러스터에 생성한 시크릿의 클러스터 ID와 이름 및 네임스페이스를 저장해야 합니다. 허브 클러스터에 애드온을 설치한 후에도 이 프로세스를 완료할 수 있지만, 설치 후 관리되는 클러스터를 가져오려면 추가 단계가 필요합니다.
-
명령을 실행하여 추가 기능을 활성화합니다. 설치 과정에서 클러스터를 가져오려면
billingPlan및isLicenseAccepted매개변수와--managedClusters매개변수(선택 사항)를 지정해야 합니다.ibmcloud oc ibmcloud oc cluster addon enable acm --cluster HUB_CLUSTER_ID 'managedClusters=["clusterid:CLUSTER_ID;secretname:SECRET_NAME;secretnamespace:SECRET_NAMESPACE;action:IMPORT"]' --param 'billingPlan=PLAN' --param 'isLicenseAccepted=BOOLEAN' --param명령 매개변수. 각 매개변수 유형의 예는 아래 예제 명령을 참조하세요.
--cluster- 필수. ACM 애드온을 설치할 허브 클러스터의 ID입니다.
--param 'managedClusters=["]-
- 선택사항입니다. 애드온 설치 프로세스 중에 관리되는 클러스터를 가져오려면 이 매개변수를 한 번 이상 포함하세요. 이 단계는 나중에 완료할 수도 있습니다. 자세한 내용은 ACM용 비밀번호 준비하기를 참조하세요.
- 다음 값을 지정하십시오.
-
- clusterid: 가져올 관리되는 클러스터의 ID입니다.
-
- 비밀명: 허브 클러스터에서 만든 비밀의 이름입니다. 이 비밀에는 관리되는 클러스터의 자격 증명이 포함되어 있습니다.
-
- 비밀 네임스페이스: 허브 클러스터에서 만든 시크릿의 네임스페이스입니다. 이 비밀에는 관리되는 클러스터의 자격 증명이 포함되어 있습니다.
-
- action:IMPORT: 관리되는 클러스터에 대한 가져오기 작업을 지정하는 매개변수입니다.
--param 'billingPlan='- 필수. ACM에 대해 선택하려는 청구 요금제입니다. 옵션으로는 Kubernetes 플랜의 경우
KUBERNETES, 가상화용 ACM 플랜의 경우VIRTUALIZATION등이 있습니다. 나중에 가상화용 ACM에서 Kubernetes 으로 업그레이드할 수 있지만, 업그레이드는 영구적이며 되돌릴 수 없다는 점에 유의하세요. --param 'isLicenseAccepted='- 필수.
TRUE을 지정하여 선택한 청구 요금제에 대한 라이선스 계약에 동의합니다. 이 라이선스에 동의함으로써 귀하는 해당 이용약관에 동의하고 선택한 요금제에 포함된 서비스를 이해했음을 인정하는 것입니다.
가상화용 ACM 청구 플랜으로 ACM 추가 기능을 설치하고 관리되는 클러스터를 가져오는 명령 예제입니다.
ibmcloud ks cluster addon enable acm --cluster a5bcde982dfer2nwxq73 --param 'managedClusters=["clusterid:w7rthce34gfbq7ww12d3;secretname:managed-secret-1;secretnamespace:managed-ns1;action:Import"]' --param 'billingPlan=KUBERNETES' --param 'isLicenseAccepted=true' -
애드온이 설치되었는지 확인합니다. 추가 기능이 다음 출력에 표시되려면 몇 분 정도 걸릴 수 있습니다.
-
허브 클러스터에서
acmhub리소스가 생성되었는지 확인합니다.oc get acmhub출력 예.
NAME AGE acm-auto 1h -
허브 클러스터에서
acmhub상태를 확인합니다.oc describe acmhubstatus출력 예.
status phase: Ready
-
-
선택 사항입니다: ACM 기능을 향상시키기 위해 설치할 수 있는 추가 운영자를 검토하세요.
ACM 운영자
ACM 애드온에 의해 자동으로 설치되는 연산자와 개선 사항으로 설치할 수 있는 선택적 연산자를 검토하세요.
자동으로 설치된 운영자
ACM 추가 기능을 설치하면 허브 클러스터 또는 관리형 클러스터에 다음 운영자가 자동으로 설치됩니다.
| 운영자 | 설명 |
|---|---|
| 고급 클러스터 관리(ACM) 운영자 | 허브 클러스터에 설치됩니다. |
| MultiCluster 엔진 운영자 | ACM 운영자가 관리되는 클러스터에 설치합니다. |
선택적 연산자
다음 오퍼레이터는 선택 사항이며 허브 클러스터 또는 관리형 클러스터에 설치하여 ACM 기능을 향상시킬 수 있습니다. IBM 은 이러한 운영자를 관리할 책임이 없습니다.
업데이트, 모니터링, 복구 및 재설치를 포함하되 이에 국한되지 않는 이러한 운영자를 관리할 책임은 회원님에게 있습니다.
| 운영자 | 설명 | 추가 정보 |
|---|---|---|
| GitOps 연산자 |
|
GitOps 개요 |
| Red Hat OpenShift 가상화 운영자 |
|
OpenShift 가상화 운영자 설치 |
ACM을 설치한 후 관리되는 클러스터 가져오기
ACM으로 관리할 클러스터를 가져오는 방법에는 여러 가지가 있습니다. 클러스터를 가져오기 전에 ACM에 필요한 비밀번호를 만들었는지 확인하세요.
ACM으로 관리되는 모든 클러스터는 클러스터 세트에 속해야 합니다. 새 클러스터 집합을 만들거나 Default 클러스터 집합에 클러스터를 추가할 수 있습니다. 클러스터 집합을 지정하지 않으면 관리되는 클러스터가 Default 옵션에 추가됩니다.
CLI를 사용하여 관리형 클러스터 가져오기
CLI를 사용하여 관리되는 클러스터를 가져오려면 관리할 클러스터를 포함하도록 ACM 리소스를 편집합니다.
-
명령을 실행하여 ACM 리소스를 편집합니다.
oc edit acmhub <resource_name> -
리소스의
managedClusters섹션에서 클러스터 ID, ACM용으로 만든 클러스터 시크릿의 이름, 시크릿의 네임스페이스를 추가하고Import작업을 지정합니다. 서식 지정은 아래 예시를 참조하세요. 다음 예제는cluster_id_1을 가져옵니다.managedclusters: - clusterid: "cluster_id_1" secretname: "managed-secret-1" secretnamespace: "managed-namespace" # The namespace that the secret was created in action: "Import" -
변경을 저장하고 적용하십시오.
OpenShift 토큰 및 API 서버를 사용하여 관리형 클러스터 가져오기 URL
가져오려는 클러스터에 대한 OpenShift 토큰과 API 서버 URL 를 수집한 다음 ACM 콘솔을 사용하여 클러스터를 가져옵니다.
-
IBM Cloud 콘솔에서 클러스터 목록으로 이동하여 가져오려는 클러스터를 클릭합니다.
-
클러스터 세부사항 페이지에서 OpenShift 웹 콘솔을 클릭하십시오.
-
IAM#username형식으로 표시되는 사용자 이름 드롭다운을 클릭합니다. 드롭다운에서 로그인 명령 복사를 클릭합니다. -
토큰 표시를 클릭하여 로그인 명령을 표시합니다.
oc login로 시작하는 명령을 찾아 API 토큰(sha256~XXXX)과 서버 URL 를 저장합니다. -
ACM 콘솔로 이동합니다. 인프라 > 클러스터 > 기존 클러스터 가져오기를 클릭합니다.
-
메시지에 따라 클러스터를 가져오고 매개변수 섹션에서 API 토큰과 서버 URL 를 지정합니다.
Kubeconfig를 사용하여 매니지드 클러스터 가져오기
Kubeconfig 세부 정보를 수집한 다음 ACM 콘솔을 사용하여 클러스터를 가져옵니다.
-
IBM Cloud CLI에서 다음 명령을 실행하여 가져오려는 클러스터의 kubeconfig를 가져옵니다. 출력에 표시된 kubeconfig 파일 내용을 저장합니다.
ibmcloud ks cluster config --cluster <cluster_name> --admin --output yaml -
ACM 콘솔로 이동합니다. 인프라 > 클러스터 > 기존 클러스터 가져오기를 클릭합니다.
-
지시에 따라 클러스터를 가져오고 매개변수 섹션에 kubeconfig 내용을 포함하세요.
생성된 명령을 사용하여 관리되는 클러스터 가져오기
ACM 콘솔을 사용하여 클러스터를 가져오기 위한 명령을 생성한 다음 가져오려는 클러스터에서 해당 명령을 실행합니다.
- ACM 콘솔로 이동합니다. 인프라 > 클러스터 > 기존 클러스터 가져오기를 클릭합니다.
- 가져오기 명령을 생성하는 옵션을 선택합니다. 명령을 복사합니다.
- IBM Cloud CLI에 로그인하고 가져오려는 클러스터에서 명령을 실행합니다.
관리형 클러스터 업데이트 또는 제거하기
ACM 인스턴스에서 관리형 클러스터를 제거하거나 업데이트하려면 허브 클러스터에서 ACM 사용자 지정 리소스의 managedClusters 섹션을 편집해야 합니다.
-
명령을 실행하여 ACM 리소스를 편집합니다.
oc edit acmhub <resource_name> -
리소스의
managedClusters섹션에서 클러스터 ID, ACM용으로 만든 클러스터 비밀 이름, 비밀의 네임스페이스, 클러스터에 대해 구현하려는 작업을 추가합니다. 서식 지정은 아래 예시를 참조하세요. 작업의 경우Delete또는Update을 지정합니다. 클러스터를 삭제하려면 시크릿 또는 시크릿 네임스페이스가 필요하지 않습니다.다음 예제는
cluster_id_1을 삭제하고cluster_id_2을 업데이트합니다.managedclusters: - clusterid: "cluster_id_1" action: "Delete" - clusterid: "cluster_id_2" secretname: "managed-secret-2" secretnamespace: "managed-namespace-2" # The namespace that the secret was created in action: "Update" -
변경을 저장하고 적용하십시오.
ACM 버전 업그레이드하기
명령을 실행하여 애드온을 새 버전으로 업그레이드합니다.
ibmcloud oc cluster addon update acm --cluster <cluster_id> --version <add-on_version>
애드온이 업데이트되었는지 확인하려면 클러스터 애드온을 나열하세요. 출력에서 ACM 애드온 세부 정보를 찾습니다.
ibmcloud oc cluster addon ls --cluster <cluster_id>
ACM 애드온 삭제하기
ACM 애드온을 삭제하려면 다음 단계를 따르세요.
-
허브 클러스터에서 ACM 리소스를 삭제합니다.
oc delete acmhub <resource_name> -
리소스가 삭제된 후 ACM 애드온을 제거합니다. 동일한 클러스터 ID를 지정합니다.
ibmcloud oc cluster addon disable acm -f --cluster <cluster_id>