1.11. 클러스터 API
클러스터 API는 Kubernetes 클러스터의 프로비저닝, 업그레이드 및 관리를 단순화하는 선언적 API를 제공합니다. 다중 클러스터 엔진 Operator는 여러 인프라 및 부트스트랩 공급자와 함께 코어 클러스터 API 구성 요소를 설치하여 다양한 사용 사례 및 플랫폼을 지원합니다. 독립 실행형 다중 클러스터 엔진 Operator 또는 Red Hat Advanced Cluster Management를 사용하여 Cluster API를 사용하는 방법을 알아봅니다. 다음 프로세스를 참조하십시오.
1.11.1. 클러스터 API를 사용하여 관리형 클러스터 설치 링크 복사링크가 클립보드에 복사되었습니다!
metal3 인프라 공급자와 OpenShift Container Platform 지원 부트스트랩 및 컨트롤 플레인 공급자를 사용하여 클러스터 API로 OpenShift Container Platform 관리 클러스터를 설치할 수 있습니다.
-
ControlPlane리소스는 컨트롤 플레인 속성을 정의합니다. -
ClusterInfrastructure는 클러스터 수준 인프라 세부 정보를 정의합니다.
사전 요구 사항
-
Red Hat Advanced Cluster Management 설치 또는 다중 클러스터 엔진 Operator 독립 실행형 설치의
MultiClusterEngine리소스가 필요합니다. -
다음 API 기본 도메인은 정적 API VIP를 가리켜야 합니다
. api.<cluster_name>.<base_domain> . -
다음 애플리케이션 기본 도메인은 Ingress VIP의 고정 IP 주소를 가리켜야 합니다
. *.apps.<cluster_name>.<base_domain> . -
클러스터의 내부 API 끝점(
api-int.<baseDomain>)이 필요합니다.
1.11.1.1. 클러스터 API를 사용하여 워크로드 프로비저닝 링크 복사링크가 클립보드에 복사되었습니다!
워크로드를 프로비저닝하는 데 필요한 서비스를 활성화합니다. 기본적으로
assisted-service가 활성화됩니다. 기본적으로cluster-api-provider-metal3및cluster-api-provider-openshift-assisted는 비활성화되어 있습니다. 세 가지 서비스 모두true임을 확인합니다. 다음 명령을 실행하여 리소스를 편집합니다.oc edit multiclusterengines.multicluster.openshift.io -n multicluster-engine
oc edit multiclusterengines.multicluster.openshift.io -n multicluster-engineCopy to Clipboard Copied! Toggle word wrap Toggle overflow supported
-service 구성 요소,구성 요소 및cluster-api-provider-metal3cluster-api-provider-openshift-assisted구성 요소의.spec.overrides에서enabled: true를 설정합니다. 다음configOverrides값을 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 중앙 인프라 관리 서비스를 활성화합니다. 절차 를 보려면 중앙 인프라 관리 서비스 활성화를 참조하십시오.
clusterNetwork사양,controlPlaneRef사양 및infrastructureRef사양을 사용하여클러스터리소스를 구성합니다. 다음Cluster리소스를 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 YAML 콘텐츠를 적용합니다.
oc apply -f <filename>.yaml
oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow distributionVersion,apiVIPs및 SSH 키를 포함하는OpenshiftAssistedControlPlane리소스를 구성합니다.distributionVersion필드에 OpenShift Container Platform 버전을 지정합니다.참고:
distributionVersion의 값은 OpenShift Container Platform 릴리스 의 이미지와 일치합니다. 다음 YAML 리소스를 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow YAML 파일을 적용합니다. 다음 명령을 실행합니다.
oc apply -f <filename>.yaml
oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 풀 시크릿이 없는 경우 클러스터에서 컨테이너 레지스트리에서 이미지를 가져올 수 있도록 풀 시크릿을 생성해야 합니다. 풀 시크릿을 생성하려면 다음 단계를 완료합니다.
YAML 파일을 생성하여 이미지를 가져옵니다.
pull-secret.yaml이라는 파일의 다음 예제를 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 파일을 적용합니다.
oc apply -f pull-secret.yaml
oc apply -f pull-secret.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow baremetal에 클러스터 배포와 관련된 정보가 포함된
Metal3Cluster인프라 리소스를 구성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
호스트는 클러스터 리소스의clusterName과 함께 <값이고clusterName>.<baseDomain>*baseDomain은OpenshiftAssistedControlPlane리소스에 정의됩니다.
파일을 적용합니다. 다음 명령을 실행합니다.
oc apply -f <filename>.yaml
oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenshiftAssistedControlPlane리소스에서 참조하는 컨트롤 플레인 노드에 대해Metal3MachineTemplate리소스를 구성합니다. 다음 YAML 샘플을 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 이미지는 OpenShift Container Platform 릴리스 의
distributionVersion값과 버전과 일치합니다. - 2
clusterName을Cluster리소스에 있는 값과 동일한 값으로 설정합니다.
파일을 적용합니다. 다음 명령을 실행합니다.
oc apply -f <filename>.yaml
oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Metal3MachineTemplate을 참조하는MachineDeployment리소스를 사용하여 작업자 노드를 구성합니다. 다음 YAML 예제를 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 적용합니다. 다음 명령을 실행합니다.
oc apply -f <filename>.yaml
oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow MachineDeployment에서 참조되는OpenshiftAssistedConfigTemplate리소스를 생성합니다. 다음 YAML은 작업자 노드의 부트스트랩 구성을 정의하고 지원 설치 프로그램에 노드를 등록하는 데 사용됩니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow MachineDeployment리소스에서 참조되는Metal3MachineTemplate을 생성합니다. 다음 예제를 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 YAML 파일을 저장하고 클러스터를 프로비저닝합니다.
oc apply -f <filename>.yaml
oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터 프로비저닝 상태를 확인합니다.
oc get cluster --namespace <cluster-namespace> <cluster-name> -o yaml을 실행하여클러스터리소스 상태를 확인합니다.다음 출력 및 상태를 참조하십시오.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get metal3cluster --namespace <cluster-namespace> <cluster-name> -o yaml명령을 실행하여 클러스터 인프라 상태를 확인합니다.다음 출력 및 상태를 참조하십시오.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get openshiftassistedcontrolplane --namespace <cluster-namespace> <cluster-name> -o yaml명령을 실행하여 컨트롤 플레인 상태를 확인합니다.다음 출력 및 상태를 참조하십시오.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get machinedeployment --namespace <cluster-namespace> <cluster-name> -o yaml명령을 실행하여 머신 배포 상태를 확인합니다.다음 출력 및 상태를 참조하십시오.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow kubectl get machine -l cluster.x-k8s.io/cluster-name=cluster-name -n test-capi -o yaml명령을 실행하여 머신을 확인합니다.다음 출력 및 상태를 참조하십시오.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터에 액세스합니다.
다음 명령을 실행하여
kubeconfig파일을 가져옵니다.oc get secret -n test-capi cluster-name-admin-kubeconfig -o json | jq -r .data.kubeconfig | base64 --decode > kubeconfig
oc get secret -n test-capi cluster-name-admin-kubeconfig -o json | jq -r .data.kubeconfig | base64 --decode > kubeconfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
다음 명령을 실행하여
kubeconfig파일을 사용하여 클러스터에 액세스합니다.
export KUBECONFIG=$(realpath kubeconfig) oc get nodes
export KUBECONFIG=$(realpath kubeconfig) oc get nodesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.11.2. 클러스터 API 클러스터에 대한 자동 가져오기 활성화 (기술 프리뷰) 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 API를 사용하여 프로비저닝하는 클러스터를 자동으로 가져와서 시간을 절약할 수 있습니다.
필수 액세스: 클러스터 관리자
사전 요구 사항
-
Red Hat Advanced Cluster Management 설치 또는 다중 클러스터 엔진 Operator 독립 실행형 설치의
MultiClusterEngine리소스가 필요합니다.
1.11.2.1. 허브 클러스터 준비 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 API를 사용하여 프로비저닝된 클러스터를 자동으로 가져오려면 다음 단계를 완료해야 합니다.
다음 YAML 파일 샘플을 추가하여
ClusterManager리소스에서ClusterImporter기능 게이트를 활성화합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow clusterImportConfig를true로 설정하여 클러스터 가져오기 구성 시크릿을 생성하도록 가져오기 컨트롤러를 구성합니다.ConfigMap리소스는 다음 YAML 파일 샘플과 유사할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ConfigMap리소스가 없는 경우 다음 명령을 실행하여 변경 사항을 적용합니다. <filename>을 파일 이름으로 바꿉니다.oc apply -f <filename>.yaml
oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
ConfigMap리소스가 이미 있는 경우 다음 명령을 실행하여 변경 사항을 적용합니다.
oc patch configmap import-controller-config -n multicluster-engine --type merge -p '{"data":{"clusterImportConfig":"true"}}'oc patch configmap import-controller-config -n multicluster-engine --type merge -p '{"data":{"clusterImportConfig":"true"}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 가져오기 컨트롤러 서비스 계정에 클러스터 API 관리자 권한을 바인딩합니다. 다음 YAML 파일 샘플을 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 변경 사항을 적용합니다. <
;filename>을 파일 이름으로 바꿉니다.oc apply -f <filename>.yaml
oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.11.2.2. ManagedCluster 리소스 생성 링크 복사링크가 클립보드에 복사되었습니다!
자동 가져오기를 활성화하려면 클러스터 API 클러스터와 동일한 이름 및 네임스페이스를 사용하여 ManagedCluster 리소스를 생성합니다. 다음 단계를 완료합니다.
다음 YAML 샘플을 추가하여
ManagedCluster리소스를 생성합니다. Cluster API 클러스터의 이름을name매개변수에 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 변경 사항을 적용합니다. <
;filename>을 파일 이름으로 바꿉니다.oc apply -f <filename>.yaml
oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.11.3. 관리 클러스터에서 AWS 인증 정보에서 IAM 역할로 전환 (기술 프리뷰) 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 API를 사용하여 관리 클러스터를 배포할 때 IAM(Identity and Access Management) 역할을 사용하도록 전환할 수 있습니다. AWS(Amazon Web Services) 인증 정보를 사용하여 관리형 클러스터를 생성한 경우 AWS 인증 정보에서 IAM 역할로 전환하여 cluster-api-provider-aws 를 사용하여 관리형 클러스터에 AWS 인증 정보를 저장하지 않고 AWS에서 호스팅 컨트롤 플레인 클러스터와 함께 Red Hat OpenShift Service를 생성할 수 있습니다.
필수 액세스: 클러스터 관리자
사전 요구 사항
- AWS 인증 정보를 사용하여 생성한 호스팅 컨트롤 플레인 부트스트랩 클러스터가 있는 AWS에 Red Hat OpenShift Container Platform 또는 Red Hat OpenShift Service가 필요합니다. 임시 인증 정보를 사용할 수 있습니다. 자세한 내용은 AWS 문서의 임시 보안 인증 정보 요청을 참조하십시오.
- 부트스트랩 클러스터에 Red Hat Advanced Cluster Management for Kubernetes가 설치되어 있어야 합니다.
- 클러스터 API 및 클러스터 API 공급자 AWS를 활성화하기 전에 HyperShift 구성 요소를 비활성화해야 합니다.
프로세스
다음 단계를 완료합니다.
MultiClusterEngine리소스를 편집합니다. 다음 명령을 실행합니다.oc edit multiclusterengine engine
oc edit multiclusterengine engineCopy to Clipboard Copied! Toggle word wrap Toggle overflow hypershift및hypershift-local-hosting구성 요소를 비활성화하고cluster-api및cluster-api-provider-aws구성 요소를 활성화합니다. 다음 예제를 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cluster API 및 Cluster API 공급자 AWS 배포가 실행 중인지 확인합니다. 다음 명령을 실행합니다.
oc get deploy -n multicluster-engine
oc get deploy -n multicluster-engineCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력은 다음 예와 유사할 수 있습니다.
NAME READY UP-TO-DATE AVAILABLE AGE capa-controller-manager 1/1 1 1 12d capi-controller-manager 1/1 1 1 12d
NAME READY UP-TO-DATE AVAILABLE AGE capa-controller-manager 1/1 1 1 12d capi-controller-manager 1/1 1 1 12dCopy to Clipboard Copied! Toggle word wrap Toggle overflow Cluster API Provider AWS 컨트롤러 서비스 계정을 업데이트할 수 있도록
MultiClusterEngine사용자 정의 리소스를 일시 중지합니다. 다음 명령을 실행합니다.oc annotate mce multiclusterengine installer.multicluster.openshift.io/pause=true
oc annotate mce multiclusterengine installer.multicluster.openshift.io/pause=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenID Connect(OIDC) 공급자 세부 정보를 검색합니다. 다음 명령을 실행합니다.
export OIDC_PROVIDER=$(oc get authentication.config.openshift.io cluster -ojson | jq -r .spec.serviceAccountIssuer | sed 's/https:\/\///')
export OIDC_PROVIDER=$(oc get authentication.config.openshift.io cluster -ojson | jq -r .spec.serviceAccountIssuer | sed 's/https:\/\///')Copy to Clipboard Copied! Toggle word wrap Toggle overflow AWS 계정 ID를 설정합니다. 다음 명령을 실행합니다. 계정 ID 값을 변경합니다.
export AWS_ACCOUNT_ID={YOUR_AWS_ACCOUNT_ID}export AWS_ACCOUNT_ID={YOUR_AWS_ACCOUNT_ID}Copy to Clipboard Copied! Toggle word wrap Toggle overflow capa-controller-managerIAM 역할에 대한 신뢰 정책 파일을 생성합니다. 다음 명령을 실행합니다.cat ./trust.json
cat ./trust.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일에 다음 콘텐츠를 추가하여 연결된 IAM 역할을 가정할 수 있는 사용자를 정의합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow IAM 역할을 생성하고 필요한 AWS 정책을 연결합니다. 다음 명령을 실행합니다.
aws iam create-role --role-name "capa-manager-role" --assume-role-policy-document file://trust.json --description "IAM role for CAPA to assume" aws iam attach-role-policy --role-name capa-manager-role --policy-arn arn:aws:iam::aws:policy/AWSCloudFormationFullAccess aws iam attach-role-policy --role-name capa-manager-role --policy-arn arn:aws:iam::aws:policy/AmazonVPCFullAccess
aws iam create-role --role-name "capa-manager-role" --assume-role-policy-document file://trust.json --description "IAM role for CAPA to assume" aws iam attach-role-policy --role-name capa-manager-role --policy-arn arn:aws:iam::aws:policy/AWSCloudFormationFullAccess aws iam attach-role-policy --role-name capa-manager-role --policy-arn arn:aws:iam::aws:policy/AmazonVPCFullAccessCopy to Clipboard Copied! Toggle word wrap Toggle overflow IAM 역할 Amazon Resource Name(ARN)을 검색합니다. 다음 명령을 실행합니다.
export APP_IAM_ROLE_ARN=$(aws iam get-role --role-name=capa-manager-role --query Role.Arn --output text) export IRSA_ROLE_ARN=eks.amazonaws.com/role-arn=$APP_IAM_ROLE_ARN
export APP_IAM_ROLE_ARN=$(aws iam get-role --role-name=capa-manager-role --query Role.Arn --output text) export IRSA_ROLE_ARN=eks.amazonaws.com/role-arn=$APP_IAM_ROLE_ARNCopy to Clipboard Copied! Toggle word wrap Toggle overflow IAM 역할 ARN으로 서비스 계정에 주석을 답니다. 다음 명령을 실행합니다.
oc annotate serviceaccount -n multicluster-engine capa-controller-manager $IRSA_ROLE_ARN
oc annotate serviceaccount -n multicluster-engine capa-controller-manager $IRSA_ROLE_ARNCopy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터 API 공급자 AWS 배포를 다시 시작합니다. 다음 명령을 실행합니다.
oc rollout restart deployment capa-controller-manager -n multicluster-engine
oc rollout restart deployment capa-controller-manager -n multicluster-engineCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.11.4. 클러스터 API를 사용하여 호스팅된 컨트롤 플레인 클러스터를 사용하여 AWS에서 Red Hat OpenShift Service 생성 (기술 프리뷰) 링크 복사링크가 클립보드에 복사되었습니다!
호스팅된 컨트롤 플레인 클러스터가 있는 AWS의 Red Hat OpenShift Service는 클러스터 컨트롤 플레인이 Red Hat Amazon Web Services(AWS) 계정에서 호스팅 및 관리되는 AWS의 Red Hat OpenShift Service의 배포 모델입니다. Cluster API를 사용하여 호스팅된 컨트롤 플레인 클러스터가 있는 AWS에서 Red Hat OpenShift Service를 생성하려면 다음 항목의 단계를 완료합니다.
필수 액세스: 클러스터 관리자
사전 요구 사항
- AWS 액세스 키가 필요합니다. 자세한 내용은 AWS 문서에서 IAM 사용자의 액세스 키 관리를 참조하십시오.
- AWS 관리 정책의 AWS Red Hat OpenShift Service가 AWS 사용자 권한에 연결되어 있습니다. 자세한 내용은 AWS 문서의 ROSA에 대한 AWS 관리 정책을 참조하십시오.
-
OpenShift CLI(
oc)가 필요합니다. 자세한 내용은 OpenShift Container Platform 설명서의 OpenShift CLI(oc) 를 참조하십시오. -
ROSA CLI (
rosa)가 필요합니다. 자세한 내용은 Red Hat OpenShift Service on AWS 문서의 ROSA CLI 를 참조하십시오.
1.11.4.1. 서비스 계정 생성 링크 복사링크가 클립보드에 복사되었습니다!
호스팅된 컨트롤 플레인 클러스터를 사용하여 AWS에서 Red Hat OpenShift Service를 생성하기 전에 서비스 계정이 필요합니다. 서비스 계정이 있는 경우 이 섹션을 완료할 필요가 없습니다.
프로세스
다음 단계를 완료합니다.
- 콘솔에서 Identity & Access Management & gt; 서비스 계정으로 이동하여 서비스 계정을 생성합니다.
- 서비스 계정 생성 버튼을 클릭합니다.
생성하는 모든 새 서비스 계정에 대해 ROSA CLI를 사용하여 계정을 활성화합니다.
새 서비스 계정에 로그인합니다. 다음 명령을 실행합니다. 필요한 경우 값을 바꿉니다.
rosa login --client-id <your-client-id> --client-secret <your-client-secret>
rosa login --client-id <your-client-id> --client-secret <your-client-secret>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 서비스 계정을 활성화합니다. 다음 명령을 실행합니다.
rosa whoami
rosa whoamiCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.11.4.2. AWS 인증 정보 설정 링크 복사링크가 클립보드에 복사되었습니다!
호스팅된 컨트롤 플레인 클러스터를 사용하여 AWS에서 Red Hat OpenShift Service를 생성하기 전에 AWS 인증 정보를 설정해야 합니다. 다음 단계를 완료합니다.
AWS와 함께 다단계 인증을 사용하지 않는 경우 생성한 AWS 액세스 키를 사용하여 AWS 인증 정보를 설정합니다. 다음 명령을 실행합니다. 필요한 경우 값을 바꿉니다.
echo '[default] aws_access_key_id = <your-access-key> aws_secret_access_key = <your-secret-access-key> region = us-east-1 ' | base64 -w 0
echo '[default] aws_access_key_id = <your-access-key> aws_secret_access_key = <your-secret-access-key> region = us-east-1 ' | base64 -w 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow AWS에서 다단계 인증을 사용하는 경우 다음 명령을 실행합니다. 필요한 경우 값을 바꿉니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow capa-manager-bootstrap-credentials시크릿을 업데이트합니다.이전 명령의 출력을 복사하고
capa-manager-bootstrap-credentials시크릿에 출력을 추가합니다. 다음 명령을 실행하여 보안을 편집합니다.oc edit secret -n multicluster-engine capa-manager-bootstrap-credentials
oc edit secret -n multicluster-engine capa-manager-bootstrap-credentialsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력을
credentials필드에 추가합니다. 다음 예제를 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 서비스 계정과 함께 AWS IAM 역할을 사용하여
capa-controller-manager를 인증하려면 추가 리소스 섹션을 확인하고 클러스터 API 관리 클러스터(기술 프리뷰)에서 AWS 인증 정보에서 IAM 역할로 전환하는 단계를 완료합니다.
capa-controller-manager배포를 다시 시작합니다. 다음 명령을 실행합니다.oc rollout restart deployment capa-controller-manager -n multicluster-engine
oc rollout restart deployment capa-controller-manager -n multicluster-engineCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.11.4.3. OpenShift Cluster Manager 인증 링크 복사링크가 클립보드에 복사되었습니다!
AWS 컨트롤러용 클러스터 API 공급자에는 호스팅되는 컨트롤 플레인을 사용하여 AWS에서 Red Hat OpenShift Service를 프로비저닝하기 위해 OpenShift Cluster Manager 인증 정보가 필요합니다. 다음 단계를 완료합니다.
생성한 서비스 계정 인증 정보를 사용하여 대상 네임스페이스에 Kubernetes 시크릿을 생성합니다.
ROSAControlPlane리소스는 프로비저닝 중에 이 시크릿을 참조합니다. 다음 명령을 실행합니다. 필요한 경우 값을 바꿉니다.oc create namespace <your-rosa-hcp-namespace> oc -n <your-rosa-hcp-namespace> create secret generic rosa-creds-secret \ --from-literal=ocmClientID='....' \ --from-literal=ocmClientSecret='eyJhbGciOiJIUzI1NiIsI....' \ --from-literal=ocmApiUrl='https://api.openshift.com'oc create namespace <your-rosa-hcp-namespace> oc -n <your-rosa-hcp-namespace> create secret generic rosa-creds-secret \ --from-literal=ocmClientID='....' \ --from-literal=ocmClientSecret='eyJhbGciOiJIUzI1NiIsI....' \ --from-literal=ocmApiUrl='https://api.openshift.com'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 보안
rosa-creds-secret을 호출하고multicluster-engine네임스페이스에서 생성하여ROSAControlPlane리소스에서 시크릿을 참조하지 않고 사용할 수 있습니다. 다음 명령을 실행합니다.oc -n multicluster-engine create secret generic rosa-creds-secret \ --from-literal=ocmClientID='....' \ --from-literal=ocmClientSecret='eyJhbGciOiJIUzI1NiIsI....' \ --from-literal=ocmApiUrl='https://api.openshift.com'
oc -n multicluster-engine create secret generic rosa-creds-secret \ --from-literal=ocmClientID='....' \ --from-literal=ocmClientSecret='eyJhbGciOiJIUzI1NiIsI....' \ --from-literal=ocmApiUrl='https://api.openshift.com'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.11.4.4. 호스팅된 컨트롤 플레인 클러스터를 사용하여 AWS에서 Red Hat OpenShift Service 생성 링크 복사링크가 클립보드에 복사되었습니다!
서비스 계정을 생성하고 AWS 인증 정보를 설정한 후 OpenShift Cluster Manager 인증 정보를 인증하는 다음 단계를 완료하여 호스팅된 컨트롤 플레인 클러스터를 사용하여 AWS에서 Red Hat OpenShift Service를 생성합니다.
AWSClusterControllerIdentity리소스를 생성합니다. 다음 YAML 파일 샘플을 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ROSARoleConfig리소스를 만듭니다. 다음 YAML 파일 샘플을 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ROSANetwork리소스를 만듭니다. 다음 YAML 파일 샘플을 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ROSARoleConfig리소스가 생성되었는지 확인합니다.ROSARoleConfig상태에accountRolesRef,oidcID,oidcProviderARN,operatorRolesRef가 포함되어 있는지 확인합니다. 다음 명령을 실행합니다.oc get rosaroleconfig -n ns-rosa-hcp role-config -o yaml
oc get rosaroleconfig -n ns-rosa-hcp role-config -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ROSANetwork리소스가 생성되었는지 확인합니다.ROSANetwork상태에는 생성된 서브넷이 포함되어 있습니다. 다음 명령을 실행합니다.oc get rosanetwork -n ns-rosa-hcp rosa-vpc -o yaml
oc get rosanetwork -n ns-rosa-hcp rosa-vpc -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ROSAControlPlane리소스에 필요한 사용자 지정 리소스를 생성합니다.다음 YAML 파일 콘텐츠를 사용하여
ManagedCluster리소스를 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 YAML 파일 콘텐츠를 사용하여
Cluster리소스를 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 YAML 파일 콘텐츠를 사용하여
ROSACluster리소스를 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 YAML 파일 콘텐츠를 사용하여
ROSAControlPlane리소스를 생성합니다.리전이ROSANetwork리소스를 생성하는 데 사용한 AWS 리전과 일치하는지 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ROSAControlPlane상태를 확인합니다. 다음 명령을 실행합니다.READY열이true로 표시되는지 확인합니다.oc get ROSAControlPlane rosa-cp-1 -n ns-rosa-hcp
oc get ROSAControlPlane rosa-cp-1 -n ns-rosa-hcpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고: 호스팅된 컨트롤 플레인 클러스터가 있는 AWS의 Red Hat OpenShift Service는 완전히 프로비저닝되려면 최대 40분 정도 걸릴 수 있습니다.
ROSAControlPlane리소스 프로비저닝이 완료된 후ROSAMachinePool이 생성되었는지 확인합니다. 다음 명령을 실행합니다.oc get ROSAMachinePool -n ns-rosa-hcp
oc get ROSAMachinePool -n ns-rosa-hcpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 출력이 표시될 수 있습니다.
NAMESPACE NAME READY REPLICAS ns-rosa-hcp workers-0 true 1 ns-rosa-hcp workers-1 true 1 ns-rosa-hcp workers-2 true 1
NAMESPACE NAME READY REPLICAS ns-rosa-hcp workers-0 true 1 ns-rosa-hcp workers-1 true 1 ns-rosa-hcp workers-2 true 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고: 사용 가능한 기본
ROSAMachinePools수는 할당된 가용성 영역을 기반으로 합니다.
1.11.4.5. 추가 리소스 링크 복사링크가 클립보드에 복사되었습니다!
-
서비스 계정과 AWS IAM 역할을 사용하여
capa-controller-manager를 인증하려면 클러스터 API 관리 클러스터(기술 프리뷰)에서 AWS 인증 정보에서 IAM 역할로 전환하는 단계를 완료합니다.
ROSAControlPlane 를 삭제하면 호스팅된 컨트롤 플레인 클러스터를 사용하여 AWS에서 Red Hat OpenShift Service가 프로비저닝 해제됩니다. 이 프로세스를 완료하는 데 30~50분이 걸립니다. 연결된 ROSAMachinePool 리소스가 자동으로 삭제됩니다.
필수 액세스: 클러스터 관리자
전제 조건
- 클러스터 API가 있는 호스팅 컨트롤 플레인 클러스터가 있는 AWS에 Red Hat OpenShift Service가 있어야 합니다.
프로세스
ROSAControlPlane사용자 정의 리소스 및 일치하는 클러스터 사용자 정의 리소스를 삭제합니다. 다음 명령을 실행합니다. 필요한 경우 값을 바꿉니다.oc delete -n ns-rosa-hcp cluster/rosa-hcp-1 rosacontrolplane/rosa-cp-1
oc delete -n ns-rosa-hcp cluster/rosa-hcp-1 rosacontrolplane/rosa-cp-1Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
ROSAControlPlane삭제가 완료되면ROSARoleConfig및ROSANetwork리소스를 삭제합니다.