12.16. GCP에 컨트롤 플레인 시스템 생성
클러스터에서 사용할 컨트롤 플레인 시스템을 GCP(Google Cloud Platform)에 생성해야 합니다. 이러한 시스템을 생성하는 한 가지 방법은 제공된 Deployment Manager 템플릿을 수정하는 것입니다.
컨트롤 플레인 시스템을 생성하는 데 제공된 Deployment Manager 템플릿을 사용하지 않는 경우, 제공된 정보를 검토하고 수동으로 인프라를 생성해야 합니다. 클러스터가 올바르게 초기화되지 않은 경우, Red Hat 지원팀에 설치 로그를 제시하여 문의해야 할 수도 있습니다.
사전 요구 사항
- 공통 변수 내보내기, GCP에서로드 밸런서 생성, GCP에서 IAM 역할 생성 및 GCP 섹션에서 부트스트랩 시스템 생성에서 변수 를 정의했는지 확인합니다.
- 부트스트랩 시스템을 생성합니다.
프로세스
-
이 항목의 컨트롤 플레인 시스템에 대한 Deployment Manager 템플릿 섹션에서 템플릿을 복사하여 사용자 컴퓨터에
05_control_plane.py로 저장합니다. 이 템플릿은 클러스터에 필요한 컨트롤 플레인 시스템을 설명합니다. 리소스 정의에 필요한 다음 변수를 내보냅니다.
export MASTER_IGNITION=`cat <installation_directory>/master.ign`
$ export MASTER_IGNITION=`cat <installation_directory>/master.ign`Copy to Clipboard Copied! Toggle word wrap Toggle overflow 05_control_plane.yaml리소스 정의 파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
infra_id는 추출 단계에서 가져온INFRA_ID인프라 이름입니다.- 2
zones은 컨트롤 플레인 인스턴스를 배포할 영역입니다(예:us-central1-a,us-central1-b,us-central1-c).- 3
control_subnet은 컨트롤 서브넷에 대한selfLinkURL입니다.- 4
image는 RHCOS 이미지에 대한selfLinkURL입니다.- 5
machine_type은 인스턴스의 시스템 유형입니다(예:n1-standard-4).- 6
service_account_email은 사용자가 생성한 마스터 서비스 계정의 이메일 주소입니다.- 7
ignition은master.ign파일의 내용입니다.
gcloudCLI를 사용하여 배포를 생성합니다.gcloud deployment-manager deployments create ${INFRA_ID}-control-plane --config 05_control_plane.yaml$ gcloud deployment-manager deployments create ${INFRA_ID}-control-plane --config 05_control_plane.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Deployment Manager의 제한으로 인해 템플릿을 통해 로드 밸랜서 멤버십이 관리되지 않으므로 수동으로 컨트롤 플레인 시스템을 추가해야 합니다.
다음 명령을 실행하여 적절한 인스턴스 그룹에 컨트롤 플레인 머신을 추가합니다.
gcloud compute instance-groups unmanaged add-instances ${INFRA_ID}-master-${ZONE_0}-ig --zone=${ZONE_0} --instances=${INFRA_ID}-master-0$ gcloud compute instance-groups unmanaged add-instances ${INFRA_ID}-master-${ZONE_0}-ig --zone=${ZONE_0} --instances=${INFRA_ID}-master-0Copy to Clipboard Copied! Toggle word wrap Toggle overflow gcloud compute instance-groups unmanaged add-instances ${INFRA_ID}-master-${ZONE_1}-ig --zone=${ZONE_1} --instances=${INFRA_ID}-master-1$ gcloud compute instance-groups unmanaged add-instances ${INFRA_ID}-master-${ZONE_1}-ig --zone=${ZONE_1} --instances=${INFRA_ID}-master-1Copy to Clipboard Copied! Toggle word wrap Toggle overflow gcloud compute instance-groups unmanaged add-instances ${INFRA_ID}-master-${ZONE_2}-ig --zone=${ZONE_2} --instances=${INFRA_ID}-master-2$ gcloud compute instance-groups unmanaged add-instances ${INFRA_ID}-master-${ZONE_2}-ig --zone=${ZONE_2} --instances=${INFRA_ID}-master-2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 외부 클러스터의 경우 다음 명령을 실행하여 대상 풀에 컨트롤 플레인 머신을 추가해야 합니다.
gcloud compute target-pools add-instances ${INFRA_ID}-api-target-pool --instances-zone="${ZONE_0}" --instances=${INFRA_ID}-master-0$ gcloud compute target-pools add-instances ${INFRA_ID}-api-target-pool --instances-zone="${ZONE_0}" --instances=${INFRA_ID}-master-0Copy to Clipboard Copied! Toggle word wrap Toggle overflow gcloud compute target-pools add-instances ${INFRA_ID}-api-target-pool --instances-zone="${ZONE_1}" --instances=${INFRA_ID}-master-1$ gcloud compute target-pools add-instances ${INFRA_ID}-api-target-pool --instances-zone="${ZONE_1}" --instances=${INFRA_ID}-master-1Copy to Clipboard Copied! Toggle word wrap Toggle overflow gcloud compute target-pools add-instances ${INFRA_ID}-api-target-pool --instances-zone="${ZONE_2}" --instances=${INFRA_ID}-master-2$ gcloud compute target-pools add-instances ${INFRA_ID}-api-target-pool --instances-zone="${ZONE_2}" --instances=${INFRA_ID}-master-2Copy to Clipboard Copied! Toggle word wrap Toggle overflow
12.16.1. 컨트롤 플레인 시스템에 대한 Deployment Manager 템플릿 링크 복사링크가 클립보드에 복사되었습니다!
다음 Deployment Mananger 템플릿을 사용하여 OpenShift Container Platform 클러스터에 필요한 컨트롤 플레인 시스템을 배포할 수 있습니다.
예 12.33. 05_control_plane.py Deployment Manager 템플릿