13.17. AWS에서 작업자 노드 생성
클러스터가 사용할 작업자 노드를 AWS(Amazon Web Services)에서 생성할 수 있습니다.
제공된 CloudFormation 템플릿과 사용자 정의 매개변수 파일을 사용하여 작업자 노드를 나타내는 AWS 리소스 스택을 생성할 수 있습니다.
CloudFormation 템플릿은 하나의 작업자 노드를 나타내는 스택을 생성합니다. 각 작업자 노드의 스택을 생성해야 합니다.
작업자 노드를 생성하는 데 제공된 CloudFormation 템플릿을 사용하지 않는 경우, 제공된 정보를 검토하고 수동으로 인프라를 생성해야 합니다.. 클러스터가 올바르게 초기화되지 않은 경우, Red Hat 지원팀에 설치 로그를 제시하여 문의해야 할 수도 있습니다.
사전 요구 사항
- AWS 계정을 구성했습니다.
-
aws 구성
을 실행하여 AWS 키와 리전을 로컬 AWS 프로필에 추가하셨습니다. - 클러스터에 대한 Ignition 구성 파일을 생성하셨습니다.
- AWS에서 VPC 및 관련 서브넷을 생성하고 구성하셨습니다.
- AWS에서 DNS, 로드 밸런서 및 리스너를 생성하고 구성하셨습니다.
- AWS에서 클러스터에 필요한 보안 그룹 및 역할을 생성하셨습니다.
- 부트스트랩 시스템을 생성하셨습니다.
- 컨트롤 플레인 시스템을 생성하셨습니다.
프로세스
CloudFormation 템플릿에 필요한 매개변수 값이 포함된 JSON 파일을 만듭니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 클러스터에 대해 Ignition 구성 파일에 인코딩되는 클러스터 인프라의 이름입니다.
- 2
- Ignition 구성 파일 메타데이터에서 추출한 인프라 이름을
<cluster-name>-<random-string>
형식으로 지정합니다. - 3
- 선택한 아키텍처를 기반으로 작업자 노드에 사용할 현재 RHCOS(Red Hat Enterprise Linux CoreOS) AMI입니다.
- 4
- 유효한
AWS::EC2::Image::Id
값을 지정합니다. - 5
- 작업자 노드를 시작하기 위한 서브넷(프라이빗)입니다.
- 6
- DNS 및 로드 밸런싱을 위해 CloudFormation 템플릿의 출력에서
PrivateSubnets
값의 서브넷을 지정합니다. - 7
- 작업자 노드와 연결할 작업자 보안 그룹 ID입니다.
- 8
- 보안 그룹 및 역할에 대한 CloudFormation 템플릿 출력에서
WorkerSecurityGroupId
값을 지정합니다. - 9
- 부트스트랩 Ignition 구성 파일을 가져올 위치입니다.
- 10
- 생성된 Ignition 구성 위치(
https://api-int.<cluster_name>.<domain_name>:22623/config/worker
)를 지정합니다. - 11
- 사용할 base64로 인코딩 인증 기관 문자열입니다.
- 12
- 설치 디렉터리에 있는
worker.ign
파일에서 값을 지정합니다. 이 값은data:text/plain;charset=utf-8;base64,ABC…xYz==
형식의 긴 문자열입니다. - 13
- 작업자 노드와 연결할 IAM 프로필입니다.
- 14
- 보안 그룹 및 역할에 대한 CloudFormation 템플릿 출력에서
WorkerInstanceProfile
매개변수 값을 지정합니다. - 15
- 선택한 아키텍처에 따라 컴퓨팅 머신에 사용할 AWS 인스턴스 유형입니다.
- 16
- 인스턴스 유형 값은 컴퓨팅 시스템의 최소 리소스 요구 사항에 해당합니다. 예를 들어
m6i.large
는 AMD64의 유형입니다.m6g.large
는 ARM64의 유형입니다.
- 이 항목의 작업자 시스템에 대한 CloudFormation 템플릿 섹션에서 템플릿을 복사하여 사용자 시스템에 YAML 파일로 저장합니다. 이 템플릿은 클러스터에 필요한 네트워킹 개체 및 로드 밸런서를 설명합니다.
-
선택 사항:
WorkerInstanceType
값으로m5
인스턴스 유형을 지정한 경우 CloudFormation 템플릿의WorkerInstanceType.AllowedValues
매개변수에 해당 인스턴스 유형을 추가합니다. -
선택 사항: AWS Marketplace 이미지를 사용하여 배포하는 경우 서브스크립션에서 얻은 AMI ID로
Worker0.type.properties.ImageID
매개변수를 업데이트합니다. CloudFormation 템플릿을 사용하여 작업자 노드를 나타내는 AWS 리소스 스택을 생성합니다.
중요명령은 한 줄로 입력해야 합니다.
aws cloudformation create-stack --stack-name <name>
$ aws cloudformation create-stack --stack-name <name>
1 --template-body file://<template>.yaml \
2 --parameters file://<parameters>.json
3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
arn:aws:cloudformation:us-east-1:269333783861:stack/cluster-worker-1/729ee301-1c2a-11eb-348f-sd9888c65b59
arn:aws:cloudformation:us-east-1:269333783861:stack/cluster-worker-1/729ee301-1c2a-11eb-348f-sd9888c65b59
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고CloudFormation 템플릿은 하나의 작업자 노드를 나타내는 스택을 생성합니다.
템플릿 구성 요소가 있는지 확인합니다.
aws cloudformation describe-stacks --stack-name <name>
$ aws cloudformation describe-stacks --stack-name <name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터에 충분한 작업자 시스템을 생성할 때까지 계속해서 작업자 스택을 생성합니다. 동일한 템플릿 및 매개변수 파일을 참조하고 다른 스택 이름을 지정하여 추가 작업자 스택을 생성할 수 있습니다.
중요작업자 시스템을 두 개 이상 생성해야 하므로 이 CloudFormation 템플릿을 사용하는 스택을 두 개 이상 생성해야 합니다.
13.17.1. 작업자 시스템용 CloudFormation 템플릿 링크 복사링크가 클립보드에 복사되었습니다!
다음 CloudFormation 템플릿을 사용하여 OpenShift Container Platform 클러스터에 필요한 작업자 시스템을 배포할 수 있습니다.
예 13.21. 작업자 시스템용 CloudFormation 템플릿