11.18. GCP에 추가 작업자 시스템 생성
개별 인스턴스를 따로 시작하거나 자동 확장 그룹과 같은 클러스터 외부의 자동화된 프로세스를 통해 클러스터에서 사용할 작업자 시스템을 GCP(Google Cloud Platform)에 생성할 수 있습니다. OpenShift Container Platform의 기본 제공 클러스터 확장 메커니즘과 시스템 API를 활용할 수도 있습니다.
예에서는 Deployment Manager 템플릿을 사용하여 인스턴스 하나를 수동으로 시작합니다. 파일에 06_worker.py 유형의 추가 리소스를 포함시켜 추가 인스턴스를 시작할 수 있습니다.
작업자 시스템을 생성하는 데 제공된 Deployment Manager 템플릿을 사용하지 않는 경우, 제공된 정보를 검토하고 수동으로 인프라를 생성해야 합니다. 클러스터가 올바르게 초기화되지 않은 경우, Red Hat 지원팀에 설치 로그를 제시하여 문의해야 할 수도 있습니다.
사전 요구 사항
- 공통 변수 내보내기 , GCP에서 로드 밸런서 만들기 , GCP에서 부트스트랩 머신 만들기 섹션에서 변수를 정의했는지 확인하세요.
- 부트스트랩 시스템을 생성합니다.
- 컨트롤 플레인 시스템을 생성합니다.
프로세스
-
이 항목의 작업자 시스템에 대한 Deployment Manager 템플릿 섹션에서 템플릿을 복사하여 사용자 컴퓨터에
06_worker.py로 저장합니다. 이 템플릿에서 클러스터에 필요한 작업자 시스템을 설명합니다. 리소스 정의가 사용하는 변수를 내보냅니다.
컴퓨팅 시스템을 호스팅하는 서브넷을 내보냅니다.
export COMPUTE_SUBNET=(`gcloud compute networks subnets describe ${HOST_PROJECT_COMPUTE_SUBNET} --region=${REGION} --project ${HOST_PROJECT} --account ${HOST_PROJECT_ACCOUNT} --format json | jq -r .selfLink`)$ export COMPUTE_SUBNET=(`gcloud compute networks subnets describe ${HOST_PROJECT_COMPUTE_SUBNET} --region=${REGION} --project ${HOST_PROJECT} --account ${HOST_PROJECT_ACCOUNT} --format json | jq -r .selfLink`)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 서비스 계정의 이메일 주소를 내보냅니다.
export WORKER_SERVICE_ACCOUNT=(`gcloud iam service-accounts list --filter "email~^${INFRA_ID}-w@${PROJECT_NAME}." --format json | jq -r '.[0].email'`)$ export WORKER_SERVICE_ACCOUNT=(`gcloud iam service-accounts list --filter "email~^${INFRA_ID}-w@${PROJECT_NAME}." --format json | jq -r '.[0].email'`)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 컴퓨팅 시스템 Ignition 구성 파일의 위치를 내보냅니다.
export WORKER_IGNITION=`cat <installation_directory>/worker.ign`
$ export WORKER_IGNITION=`cat <installation_directory>/worker.ign`Copy to Clipboard Copied! Toggle word wrap Toggle overflow
06_worker.yaml리소스 정의 파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
name은 작업자 머신의 이름입니다(예:worker-0).- 2 9
infra_id는 추출 단계에서 가져온INFRA_ID인프라 이름입니다.- 3 10
zone은 작업자 시스템을 배포할 영역입니다(예:us-central1-a).- 4 11
compute_subnet은 컴퓨팅 서브넷에 대한selfLinkURL입니다.- 5 12
image는 RHCOS 이미지에 대한selfLinkURL입니다. 1- 6 13
machine_type은 인스턴스의 시스템 유형입니다(예:n1-standard-4).- 7 14
service_account_email은 사용자가 생성한 작업자 서비스 계정의 이메일 주소입니다.- 8 15
ignition은worker.ign파일의 내용입니다.
-
선택사항: 추가 인스턴스를 시작하려면
06_worker.yaml리소스 정의 파일에06_worker.py형식의 추가 리소스를 포함시키십시오. gcloudCLI를 사용하여 배포를 생성합니다.gcloud deployment-manager deployments create ${INFRA_ID}-worker --config 06_worker.yaml$ gcloud deployment-manager deployments create ${INFRA_ID}-worker --config 06_worker.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
GCP Marketplace 이미지를 사용하려면 사용할 제안을 지정합니다.
-
OpenShift Container Platform:
https://www.googleapis.com/compute/v1/projects/redhat-marketplace-public/global/images/redhat-coreos-ocp-413-x86-64-202305021736 -
OpenShift Platform Plus:
https://www.googleapis.com/compute/v1/projects/redhat-marketplace-public/global/images/redhat-coreos-opp-413-x86-64-202305021736 -
OpenShift Kubernetes Engine:
https://www.googleapis.com/compute/v1/projects/redhat-marketplace-public/global/images/redhat-coreos-oke-413-x86-64-202305021736
-
OpenShift Container Platform:
11.18.1. 작업자 시스템에 대한 Deployment Manager 템플릿 링크 복사링크가 클립보드에 복사되었습니다!
다음 Deloyment Manager 템플릿을 사용하여 OpenShift Container Platform 클러스터에 필요한 작업자 시스템을 배포할 수 있습니다.
예 11.10. 06_worker.py Deployment Manager 템플릿