2.3. 클러스터 생성을 위한 Red Hat OpenShift Service on AWS 사전 요구 사항
AWS 클러스터에서 Red Hat OpenShift Service를 생성하려면 구성된 VPC(가상 프라이빗 클라우드), 계정 전체 역할, OIDC 구성 및 Operator 역할이 필요합니다.
2.3.1. AWS 클러스터에서 Red Hat OpenShift Service를 위한 가상 프라이빗 클라우드 생성 링크 복사링크가 클립보드에 복사되었습니다!
AWS 클러스터에서 Red Hat OpenShift Service를 생성하려면 VPC(Virtual Private Cloud)가 있어야 합니다.
다음 방법 중 하나를 사용하여 VPC를 생성할 수 있습니다.
- ROSA CLI를 사용하여 VPC 생성
- Terraform 템플릿을 사용하여 VPC 생성
- AWS 콘솔에서 VPC 리소스를 수동으로 생성
Terraform 지침은 테스트 및 시연을 위한 것입니다. 자체 설치에는 자체 사용을 위해 VPC를 일부 수정해야 합니다. 또한 이 Terraform 구성을 사용할 때 클러스터를 설치하려는 동일한 지역에 있는지 확인해야 합니다. 이 예에서는 us-east-2 가 사용됩니다.
2.3.1.1. ROSA CLI를 사용하여 AWS VPC 생성 링크 복사링크가 클립보드에 복사되었습니다!
rosa create network 명령은 ROSA CLI의 v.1.2.48 이상에서 사용할 수 있습니다. 이 명령은 AWS CloudFormation을 사용하여 AWS 클러스터에 Red Hat OpenShift Service를 설치하는 데 필요한 VPC 및 관련 네트워킹 구성 요소를 생성합니다. CloudFormation은 네이티브 AWS 인프라형 툴이며 AWS CLI와 호환됩니다.
템플릿을 지정하지 않으면 CloudFormation은 다음 매개변수를 사용하여 리소스를 생성하는 기본 템플릿을 사용합니다.
| VPC 매개변수 | 현재의 |
|---|---|
| 가용성 영역 | 1 |
| 리전 |
|
| VPC CIDR |
|
rosa create network 명령과 함께 사용할 CloudFormation 템플릿을 생성하고 사용자 지정할 수 있습니다. 기본 VPC 템플릿에 대한 자세한 내용은 이 섹션의 추가 리소스를 참조하십시오.
사전 요구 사항
- AWS 계정을 구성했습니다.
- Red Hat 계정을 구성했습니다.
- ROSA CLI를 설치하고 최신 버전으로 구성했습니다.
프로세스
다음 명령을 실행하여 기본 CloudFormations 템플릿을 사용하여 AWS VPC를 생성합니다.
$ rosa create network선택 사항: 추가 매개변수를 지정하여 VPC를 사용자 지정합니다.
--param플래그를 사용하여 기본 VPC 템플릿의 변경 사항을 지정할 수 있습니다. 다음 예제 명령은리전,Name,AvailabilityZoneCount및VpcCidr에 대한 사용자 지정 값을 지정합니다.$ rosa create network --param Region=us-east-2 --param Name=quickstart-stack --param AvailabilityZoneCount=3 --param VpcCidr=10.0.0.0/16명령을 실행하는 데 약 5분이 걸리며 리소스가 생성될 때 AWS에서 정기적인 상태 업데이트를 제공합니다. CloudFormation에 문제가 있는 경우 롤백이 시도됩니다. 다른 모든 오류가 발생하면 오류 메시지 지침을 따르거나 AWS 지원에 문의하십시오.
검증
완료되면 생성된 리소스에 대한 요약이 표시됩니다.
INFO[0140] Resources created in stack: INFO[0140] Resource: AttachGateway, Type: AWS::EC2::VPCGatewayAttachment, ID: <gateway_id> INFO[0140] Resource: EC2VPCEndpoint, Type: AWS::EC2::VPCEndpoint, ID: <vpce_id> INFO[0140] Resource: EcrApiVPCEndpoint, Type: AWS::EC2::VPCEndpoint, ID: <vpce_id> INFO[0140] Resource: EcrDkrVPCEndpoint, Type: AWS::EC2::VPCEndpoint, ID: <vpce_id> INFO[0140] Resource: ElasticIP1, Type: AWS::EC2::EIP, ID: <IP> INFO[0140] Resource: ElasticIP2, Type: AWS::EC2::EIP, ID: <IP> INFO[0140] Resource: InternetGateway, Type: AWS::EC2::InternetGateway, ID: igw-016e1a71b9812464e INFO[0140] Resource: KMSVPCEndpoint, Type: AWS::EC2::VPCEndpoint, ID: <vpce_id> INFO[0140] Resource: NATGateway1, Type: AWS::EC2::NatGateway, ID: <nat-gateway_id> INFO[0140] Resource: PrivateRoute, Type: AWS::EC2::Route, ID: <route_id> INFO[0140] Resource: PrivateRouteTable, Type: AWS::EC2::RouteTable, ID: <route_id> INFO[0140] Resource: PrivateSubnetRouteTableAssociation1, Type: AWS::EC2::SubnetRouteTableAssociation, ID: <route_id> INFO[0140] Resource: PublicRoute, Type: AWS::EC2::Route, ID: <route_id> INFO[0140] Resource: PublicRouteTable, Type: AWS::EC2::RouteTable, ID: <route_id> INFO[0140] Resource: PublicSubnetRouteTableAssociation1, Type: AWS::EC2::SubnetRouteTableAssociation, ID: <route_id> INFO[0140] Resource: S3VPCEndpoint, Type: AWS::EC2::VPCEndpoint, ID: <vpce_id> INFO[0140] Resource: STSVPCEndpoint, Type: AWS::EC2::VPCEndpoint, ID: <vpce_id> INFO[0140] Resource: SecurityGroup, Type: AWS::EC2::SecurityGroup, ID: <security-group_id> INFO[0140] Resource: SubnetPrivate1, Type: AWS::EC2::Subnet, ID: <private_subnet_id-1> INFO[0140] Resource: SubnetPublic1, Type: AWS::EC2::Subnet, ID: <public_subnet_id-1> INFO[0140] Resource: VPC, Type: AWS::EC2::VPC, ID: <vpc_id> INFO[0140] Stack rosa-network-stack-5555 created-
<
private_subnet_id-1> 및 <public_subnet_id-1> 서브넷 ID는rosa create cluster명령을 사용할 때 클러스터를 생성하는 데 사용됩니다. -
네트워크 스택 이름(
rosa-network-stack-5555)은 나중에 리소스를 삭제하는 데 사용됩니다.
-
<
2.3.1.2. Terraform을 사용하여 가상 프라이빗 클라우드 생성 링크 복사링크가 클립보드에 복사되었습니다!
Terraform은 기존 템플릿을 사용하여 다양한 리소스를 생성할 수 있는 툴입니다. Terraform을 기본 옵션과 함께 사용하여 AWS 클러스터에서 Red Hat OpenShift Service를 위한 가상 프라이빗 클라우드를 생성할 수 있습니다.
사전 요구 사항
- 시스템에 Terraform 버전 1.4.0 이상을 설치했습니다.
- 시스템에 Git을 설치했습니다.
프로세스
쉘 프롬프트를 열고 다음 명령을 실행하여 Terraform VPC 리포지토리를 복제합니다.
$ git clone https://github.com/openshift-cs/terraform-vpc-example다음 명령을 실행하여 생성된 디렉터리로 이동합니다.
$ cd terraform-vpc-example다음 명령을 실행하여 Terraform 파일을 시작합니다.
$ terraform init이 프로세스가 완료되면 초기화를 확인하는 메시지가 표시됩니다.
기존 Terraform 템플릿을 기반으로 VPC Terraform 계획을 빌드하려면
plan명령을 실행합니다. AWS 리전을 포함해야 합니다. 클러스터 이름을 지정하도록 선택할 수 있습니다.rosa.tfplan파일은테라폼계획이 완료된 후hypershift-tf디렉토리에 추가됩니다. 자세한 옵션은 Terraform VPC 리포지토리의 README 파일을 참조하십시오.$ terraform plan -out rosa.tfplan -var region=<region>다음 명령을 실행하여 이 계획 파일을 적용하여 VPC를 빌드합니다.
$ terraform apply rosa.tfplan선택 사항: Terraform 프로비저닝 개인, 공용 및 머신풀 서브넷 ID를 AWS 클러스터에서 Red Hat OpenShift Service를 생성할 때 사용할 환경 변수로 캡처합니다.
$ export SUBNET_IDS=$(terraform output -raw cluster-subnets-string)다음 명령을 사용하여 변수가 올바르게 설정되었는지 확인합니다.
$ echo $SUBNET_IDS출력 예
$ subnet-0a6a57e0f784171aa,subnet-078e84e5b10ecf5b0