고급 클러스터 관리 애드온 설정하기
고급 클러스터 관리(ACM) 애드온은 고객이 여러 클러스터에서 모니터링, 워크로드 배치 및 보안 정책을 관리할 수 있는 간소화된 방법을 제공합니다.
IBM Cloud 클러스터에는 OperatorHub 에서 ACM을 설치하는 것이 지원되지 않습니다. ACM을 설치하려면 이 페이지의 지침을 따르세요.
ACM을 설치하는 클러스터는 허브 클러스터입니다. 설치 중 또는 설치 후에 ACM으로 관리할 관리형 클러스터를 여러 개 지정할 수 있습니다.
시작하기 전에
ACM 애드온을 설치하기 전에 다음 필수 단계와 정보를 검토하세요.
- 클러스터가 다음 요구 사항을 충족하는지 확인하십시오.
- 허브 클러스터는 RHCOS를 실행하는 작업자 노드 3개 이상과 최소 6개의 VCPU 및 64GB RAM이 있는 VPC 클러스터여야 합니다. 고가용성을 위해 클러스터에 3개 영역에 걸쳐 영역당 작업자 노드가 하나 이상 있어야 합니다.
- 각 관리형 클러스터에는 RHCOS를 실행하는 작업자 노드가 3개 이상 있어야 하며, 최소 6개의 VCPU와 64GB RAM이 있어야 합니다.
- ACM 애드온에 의해 자동으로 설치되는 연산자와 개선 사항으로 설치할 수 있는 선택적 연산자를 검토하세요.
- IBM Cloud Kubernetes Service 에서 클러스터에 대한 관리자 플랫폼 액세스 역할과 관리자 서비스 액세스 역할이 있어야 합니다.
- 최소 3개의 워커 노드가 포함된 VPC 클러스터가 있어야 합니다. 각 워커 노드는 최소 4개의 CPU와 16GB 의 RAM을 갖추어야 합니다. 고가용성을 위해 클러스터에 3개 영역에 걸쳐 영역당 작업자 노드가 하나 이상 있어야 합니다.
- 클러스터에서 ACM에 사용할 신뢰할 수 있는 프로필을 만듭니다.
- ACM으로 관리하려는 각 클러스터에 대해, 관리되는 클러스터의 액세스 토큰과 서버 URL 를 사용하여 허브 클러스터에 시크릿을 만들어야 합니다. 이 단계는 설치 전이나 후에 완료할 수 있습니다. ACM용 비밀 번호 준비하기를 참조하세요.
- CLI를 설치하거나 업데이트합니다.
ACM을 위한 신뢰할 수 있는 프로필 만들기
다음 단계에 따라 ACM에서 사용할 신뢰할 수 있는 프로필을 생성하고, 이를 허브 클러스터에 할당하십시오.
클러스터에 신뢰할 수 있는 프로필을 추가하면, 이를 제거할 수 없으며 해당 리소스에 대해 API 키를 다시 사용할 수 없습니다. 신뢰할 수 있는 프로필이 올바르게 설정되도록 다음 단계를 주의 깊게 따르시기 바랍니다.
UI를 사용하여 신뢰할 수 있는 프로필 생성하기
-
신뢰할 수 있는 프로필을 만들려면 다음 단계를 따르세요. 프로필 조건에서 다음 액세스 권한을 지정해야 합니다.
- 컴퓨팅 리소스: Red Hat OpenShift
- 모든 서비스 리소스
- 네임스페이스가 다음과 같을 때 액세스 허용
kube-system - Kubernetes Service 역할 - 관리자, 편집자
-
신뢰할 수 있는 프로필을 만든 후 콘솔의 신뢰할 수 있는 프로필 페이지에서 ID를 복사합니다.
CLI를 사용하여 신뢰할 수 있는 프로필 생성하기
- 신뢰할 수 있는 프로필을 생성합니다.
ibmcloud iam trusted-profile-create acm-operator-profile - Red Hat OpenShift 컴퓨팅 리소스의
kube-system네임스페이스를 적용 범위로 하는 컴퓨팅 리소스 신뢰 규칙을 생성합니다.ibmcloud iam trusted-profile-rule-create acm-operator-profile \ --name kube-system-rule \ --type Profile-CR \ --conditions claim:namespace,operator:EQUALS,value:kube-system \ --cr-type ROKS_SA - 프로필에 IAM 액세스 정책을 할당합니다.
CLUSTER_ID을 사용자의 허브 클러스터 ID로 대체하십시오.ibmcloud iam trusted-profile-policy-create acm-operator-profile \ --roles Reader,Viewer,Operator,Editor \ --service-name containers-kubernetes \ --service-instance CLUSTER_ID
클러스터에 대한 신뢰할 수 있는 프로필 설정
- 신뢰할 수 있는 프로필 ID를 가져옵니다.
ibmcloud iam trusted-profiles - 클러스터에 신뢰할 수 있는 프로필을 할당합니다.
ibmcloud oc experimental trusted-profile set --cluster CLUSTER_NAME_OR_ID --trusted-profile TRUSTED_PROFILE_ID
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 서버의 기본 URL 를 가져옵니다.
MASTER_URL을 이전 단계에서 확인한 URL 으로 대체하십시오. 이 명령은/oauth/token접미사를 제외한 기본 주소 URL 를 추출합니다.curl -sS MASTER_URL/.well-known/oauth-authorization-server | jq -r .token_endpoint | sed 's#/oauth/token##'출력 예.
https://c111-e.us-east.containers.cloud.ibm.com:31282 -
이전 단계에서 확인한 엔드포인트를 사용하여 액세스 토큰을 가져옵니다. 다음
cURL명령을 실행하되,URL을 이전 단계의 출력 결과로,API_KEY을 본인의[IBM Cloud API 키](https://cloud.ibm.com/iam/apikeys){: external}으로 대체하십시오. 출력 결과에서 Location 응답 에 포함된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은 Location 응답 문자열에 포함되어 있습니다.
< 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 애드온 버전을 선택합니다.
-
관리되는 클러스터를 가져오는 방법을 선택합니다. 애드온을 설치한 후 클러스터를 가져오려면 CLI에서 가져오기를 선택합니다. 허브 클러스터에 필요한 비밀번호를 만들었고 지금 관리되는 클러스터를 가져오려면 지금 가져오기를 선택합니다.
IBM Cloud UI를 사용하여 관리형 클러스터를 가져올 수 있는 것은 설치 과정 중에만 가능합니다. 허브 클러스터에 ACM 애드온이 설치되면, 명령줄 인터페이스(CLI)를 사용하세요 또는 OpenShift 웹 콘솔을 통해 관리 대상 클러스터를 가져올 수 있습니다.
- 지금 가져오기 옵션을 선택한 경우 팝업 메뉴에서 클러스터 가져오기를 클릭합니다.
- 계정에 존재하는 클러스터를 가져오려면 클러스터를 선택하고 비밀 이름과 네임스페이스를 입력합니다. 그런 후 다음 을 클릭하십시오.
- 교차 계정 또는 외부 클러스터를 가져오려면 클러스터 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 cluster addon enable acm --cluster HUB_CLUSTER_ID --param 'managedClusters=["clusterid:CLUSTER_ID;secretname:SECRET_NAME;secretnamespace:SECRET_NAMESPACE;action:IMPORT"]' --param 'billingPlan=PLAN' --param 'isLicenseAccepted=BOOLEAN'명령 매개변수. 각 매개변수 유형의 예는 아래 예제 명령을 참조하세요.
--cluster- 필수. ACM 애드온을 설치할 허브 클러스터의 ID입니다.
--param 'managedClusters=["]-
- 선택사항입니다. 애드온 설치 프로세스 중에 관리되는 클러스터를 가져오려면 이 매개변수를 한 번 이상 포함하세요. 이 단계는 나중에 완료할 수도 있습니다. 자세한 내용은 ‘ACM용 시크릿 준비’를 참조하십시오.
- 다음 값을 지정하십시오.
-
- clusterid: 가져올 관리되는 클러스터의 ID입니다.
-
- 비밀명: 허브 클러스터에서 만든 비밀의 이름입니다. 이 비밀에는 관리되는 클러스터의 자격 증명이 포함되어 있습니다.
-
- 비밀 네임스페이스: 허브 클러스터에서 만든 시크릿의 네임스페이스입니다. 이 비밀에는 관리되는 클러스터의 자격 증명이 포함되어 있습니다.
-
- action:IMPORT: 관리되는 클러스터에 대한 가져오기 작업을 지정하는 매개변수입니다.
--param 'billingPlan='- 필수. ACM에 대해 선택하려는 청구 요금제입니다. Kubernetes 요금제용 ACM의 경우
KUBERNETES을 지정합니다. --param 'isLicenseAccepted='- 필수.
TRUE을 지정하여 선택한 청구 요금제에 대한 라이선스 계약에 동의합니다. 이 라이선스에 동의함으로써 귀하는 해당 이용약관에 동의하고 선택한 요금제에 포함된 서비스를 이해했음을 인정하는 것입니다.
-
애드온이 설치되었는지 확인합니다. 추가 기능이 다음 출력에 표시되려면 몇 분 정도 걸릴 수 있습니다.
- 허브 클러스터에서
acmhub리소스가 생성되었는지 확인합니다.
oc get acmhub ``` 출력 예. ```sh {: screen} NAME AGE acm-auto 1h ``` 2. 허브 클러스터에서 `acmhub` 상태를 확인합니다. ```sh {: pre} oc describe acmhubstatus ``` 출력 예. ```sh {: screen} 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