1.2. HCP 사전 요구 사항이 있는 ROSA
HCP 클러스터를 사용하여 ROSA를 생성하려면 다음 항목이 있어야 합니다.
- 구성된 VPC(가상 프라이빗 클라우드)
- 계정 전체 역할
- OIDC 구성
- Operator 역할
1.2.1. HCP 클러스터를 사용하여 ROSA용 가상 프라이빗 클라우드 생성 링크 복사링크가 클립보드에 복사되었습니다!
HCP 클러스터를 사용하여 ROSA를 생성하려면 VPC(Virtual Private Cloud)가 있어야 합니다. 다음 방법을 사용하여 VPC를 생성할 수 있습니다.
- ROSA CLI를 사용하여 VPC 생성
- Terraform 템플릿을 사용하여 VPC 생성
- AWS 콘솔에서 VPC 리소스 수동 생성
Terraform 지침은 테스트 및 시연을 목적으로 합니다. 자체 설치를 수행하려면 VPC를 일부 수정해야 합니다. 또한 이 Terraform 스크립트를 사용할 때 클러스터를 설치하려는 리전과 동일한 지역에 있는지 확인해야 합니다. 이 예제에서는 us-east-2
를 사용합니다.
ROSA CLI를 사용하여 가상 사설 클라우드 생성
rosa create network
명령은 ROSA CLI(명령줄 인터페이스)의 v.1.2.48 이상에서 사용할 수 있습니다. 이 명령은 AWS CloudFormation을 사용하여 VPC 및 ROSA 클러스터를 설치하는 데 사용되는 기타 네트워킹 구성 요소를 생성합니다. 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
$ rosa create network
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 추가 매개변수를 지정하여 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
$ rosa create network --param Region=us-east-2 --param Name=quickstart-stack --param AvailabilityZoneCount=3 --param VpcCidr=10.0.0.0/16
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령을 실행하는 데 약 5분이 걸리며 리소스가 생성될 때 AWS에서 정기적인 상태 업데이트를 제공합니다. CloudFormation에 문제가 있는 경우 롤백이 시도됩니다. 다른 모든 오류가 발생하면 오류 메시지 지침을 따르거나 AWS 지원에 문의하십시오.
검증
완료되면 생성된 리소스에 대한 요약이 표시됩니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Terraform을 사용하여 가상 사설 클라우드 생성
Terraform은 설정된 템플릿을 사용하여 다양한 리소스를 생성할 수 있는 툴입니다. 다음 프로세스는 HCP 클러스터를 사용하여 ROSA를 생성하는 데 필요한 기본 옵션을 사용합니다. Terraform 사용에 대한 자세한 내용은 추가 리소스를 참조하십시오.
사전 요구 사항
- 시스템에 Terraform 버전 1.4.0 이상을 설치했습니다.
- 시스템에 Git을 설치했습니다.
절차
쉘 프롬프트를 열고 다음 명령을 실행하여 Terraform VPC 리포지토리를 복제합니다.
git clone https://github.com/openshift-cs/terraform-vpc-example
$ git clone https://github.com/openshift-cs/terraform-vpc-example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 생성된 디렉터리로 이동합니다.
cd terraform-vpc-example
$ cd terraform-vpc-example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 Terraform 파일을 시작합니다.
terraform init
$ terraform init
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 프로세스가 완료되면 초기화를 확인하는 메시지가 표시됩니다.
기존 Terraform 템플릿을 기반으로 VPC Terraform 계획을 빌드하려면
plan
명령을 실행합니다. AWS 리전을 포함해야 합니다. 클러스터 이름을 지정하도록 선택할 수 있습니다.rosa.tfplan
파일은테라폼
계획이 완료된 후hypershift-tf
디렉토리에 추가됩니다. 자세한 옵션은 Terraform VPC 리포지토리의 README 파일을 참조하십시오.terraform plan -out rosa.tfplan -var region=<region>
$ terraform plan -out rosa.tfplan -var region=<region>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 VPC를 빌드하려면 이 계획 파일을 적용합니다.
terraform apply rosa.tfplan
$ terraform apply rosa.tfplan
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 다음 명령을 실행하여 HCP 클러스터로 ROSA를 생성할 때 사용할 Terraform-provisioned 개인, 공용 및 머신 풀 서브넷 ID 값을 환경 변수로 캡처할 수 있습니다.
export SUBNET_IDS=$(terraform output -raw cluster-subnets-string)
$ export SUBNET_IDS=$(terraform output -raw cluster-subnets-string)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 사용하여 변수가 올바르게 설정되었는지 확인합니다.
echo $SUBNET_IDS
$ echo $SUBNET_IDS
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
subnet-0a6a57e0f784171aa,subnet-078e84e5b10ecf5b0
$ subnet-0a6a57e0f784171aa,subnet-078e84e5b10ecf5b0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
수동으로 가상 프라이빗 클라우드 생성
Terraform을 사용하는 대신 VPC(Virtual Private Cloud)를 수동으로 생성하도록 선택하는 경우 AWS 콘솔의 VPC 페이지로 이동합니다.
VPC는 다음 표에 표시된 요구 사항을 충족해야 합니다.
요구 사항 | 세부 정보 |
---|---|
VPC 이름 | 클러스터를 생성할 때 특정 VPC 이름과 ID가 있어야합니다. |
CIDR 범위 | VPC CIDR 범위는 머신 CIDR과 일치해야 합니다. |
가용성 영역 | 단일 영역에 하나의 가용성 영역이 필요하며, 다중 영역의 가용성 영역인 경우 3개가 필요합니다. |
퍼블릭 서브넷 | 공용 클러스터에 대해 NAT 게이트웨이가 있는 퍼블릭 서브넷이 1개 있어야 합니다. 프라이빗 클러스터에는 퍼블릭 서브넷이 필요하지 않습니다. |
DNS 호스트 이름 및 확인 | DNS 호스트 이름 및 확인이 활성화되어 있는지 확인해야 합니다. |
1.2.3. 계정 전체 STS 역할 및 정책 생성 링크 복사링크가 클립보드에 복사되었습니다!
ROSA(Red Hat OpenShift Service on AWS) CLI(rosa
)를 사용하여 호스팅된 컨트롤 플레인(HCP) 클러스터가 있는 AWS(ROSA)에서 Red Hat OpenShift Service를 생성하기 전에 Operator 정책을 포함하여 필요한 계정 전체 역할 및 정책을 생성합니다.
HCP 클러스터를 사용하는 ROSA에는 AWS 관리 정책이 연결된 계정 및 Operator 역할이 필요합니다. 고객 관리 정책은 지원되지 않습니다. HCP 클러스터의 ROSA 관리 정책에 대한 자세한 내용은 ROSA 계정 역할에 대한 AWS 관리 정책을 참조하십시오.
사전 요구 사항
- HCP를 사용하여 ROSA에 대한 AWS 사전 요구 사항을 완료했습니다.
- 사용 가능한 AWS 서비스 할당량이 있습니다.
- AWS 콘솔에서 ROSA 서비스를 활성화했습니다.
-
설치 호스트에 최신 ROSA CLI(
rosa
)를 설치하고 구성했습니다. - ROSA CLI를 사용하여 Red Hat 계정에 로그인했습니다.
절차
AWS 계정에 없는 경우 필요한 계정 전체 STS 역할을 생성하고 다음 명령을 실행하여 정책을 연결합니다.
rosa create account-roles --hosted-cp
$ rosa create account-roles --hosted-cp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 다음 명령을 실행하여 접두사를 환경 변수로 설정합니다.
export ACCOUNT_ROLES_PREFIX=<account_role_prefix>
$ export ACCOUNT_ROLES_PREFIX=<account_role_prefix>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 변수 값을 확인합니다.
echo $ACCOUNT_ROLES_PREFIX
$ echo $ACCOUNT_ROLES_PREFIX
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
ManagedOpenShift
ManagedOpenShift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ROSA의 AWS 관리 IAM 정책에 대한 자세한 내용은 ROSA의 AWS 관리 IAM 정책을 참조하십시오.
1.2.4. OpenID Connect 구성 생성 링크 복사링크가 클립보드에 복사되었습니다!
AWS 클러스터에서 Red Hat OpenShift Service를 사용하는 경우 클러스터를 생성하기 전에 OpenID Connect(OIDC) 구성을 생성할 수 있습니다. 이 구성은 OpenShift Cluster Manager와 함께 사용하도록 등록됩니다.
사전 요구 사항
- AWS에서 Red Hat OpenShift Service에 대한 AWS 사전 요구 사항을 완료했습니다.
-
설치 호스트에 최신 Red Hat OpenShift Service on AWS(ROSA) CLI를 설치하고 구성했습니다.
절차
AWS 리소스와 함께 OIDC 구성을 생성하려면 다음 명령을 실행합니다.
rosa create oidc-config --mode=auto --yes
$ rosa create oidc-config --mode=auto --yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 다음 정보를 반환합니다.
출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터를 생성할 때 OIDC 구성 ID를 제공해야 합니다. CLI 출력은
--mode auto
에 대해 이 값을 제공합니다. 그렇지 않으면--mode 수동
에 대한aws
CLI 출력에 따라 이러한 값을 결정해야합니다.선택 사항: 나중에 사용할 수 있도록 OIDC 구성 ID를 변수로 저장할 수 있습니다. 다음 명령을 실행하여 변수를 저장합니다.
export OIDC_ID=<oidc_config_id>
$ export OIDC_ID=<oidc_config_id>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 위의 출력 예에서 OIDC 구성 ID는 13cdr6b입니다.
다음 명령을 실행하여 변수 값을 확인합니다.
echo $OIDC_ID
$ echo $OIDC_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
13cdr6b
13cdr6b
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
사용자 조직과 연결된 클러스터에 사용 가능한 OIDC 구성을 나열할 수 있습니다. 다음 명령을 실행합니다.
rosa list oidc-config
$ rosa list oidc-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
ID MANAGED ISSUER URL SECRET ARN 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 true https://dvbwgdztaeq9o.cloudfront.net/2330dbs0n8m3chkkr25gkkcd8pnj3lk2 233hvnrjoqu14jltk6lhbhf2tj11f8un false https://oidc-r7u1.s3.us-east-1.amazonaws.com aws:secretsmanager:us-east-1:242819244:secret:rosa-private-key-oidc-r7u1-tM3MDN
ID MANAGED ISSUER URL SECRET ARN 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 true https://dvbwgdztaeq9o.cloudfront.net/2330dbs0n8m3chkkr25gkkcd8pnj3lk2 233hvnrjoqu14jltk6lhbhf2tj11f8un false https://oidc-r7u1.s3.us-east-1.amazonaws.com aws:secretsmanager:us-east-1:242819244:secret:rosa-private-key-oidc-r7u1-tM3MDN
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2.5. Operator 역할 및 정책 생성 링크 복사링크가 클립보드에 복사되었습니다!
HCP 클러스터와 함께 ROSA를 사용하는 경우 호스팅되는 컨트롤 플레인(HCP) 배포와 함께 ROSA(Red Hat OpenShift Service on AWS)에 필요한 Operator IAM 역할을 생성해야 합니다. 클러스터 Operator는 Operator 역할을 사용하여 백엔드 스토리지, 클라우드 공급자 인증 정보 관리, 클러스터에 대한 외부 액세스와 같은 클러스터 작업을 수행하는 데 필요한 임시 권한을 얻습니다.
사전 요구 사항
- HCP를 사용하여 ROSA에 대한 AWS 사전 요구 사항을 완료했습니다.
-
설치 호스트에 AWS ROSA CLI(
rosa
)에 최신 Red Hat OpenShift Service를 설치하고 구성했습니다. - 계정 전체 AWS 역할을 생성하셨습니다.
절차
다음 명령을 사용하여 접두사 이름을 환경 변수로 설정합니다.
export OPERATOR_ROLES_PREFIX=<prefix_name>
$ export OPERATOR_ROLES_PREFIX=<prefix_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Operator 역할을 생성하려면 다음 명령을 실행합니다.
rosa create operator-roles --hosted-cp --prefix=$OPERATOR_ROLES_PREFIX --oidc-config-id=$OIDC_ID --installer-role-arn arn:aws:iam::${AWS_ACCOUNT_ID}:role/${ACCOUNT_ROLES_PREFIX}-HCP-ROSA-Installer-Role
$ rosa create operator-roles --hosted-cp --prefix=$OPERATOR_ROLES_PREFIX --oidc-config-id=$OIDC_ID --installer-role-arn arn:aws:iam::${AWS_ACCOUNT_ID}:role/${ACCOUNT_ROLES_PREFIX}-HCP-ROSA-Installer-Role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 분석에서는 Operator 역할 생성에 대한 옵션을 제공합니다.
rosa create operator-roles --hosted-cp
$ rosa create operator-roles --hosted-cp --prefix=$OPERATOR_ROLES_PREFIX
1 --oidc-config-id=$OIDC_ID
2 --installer-role-arn arn:aws:iam::${AWS_ACCOUNT_ID}:role/${ACCOUNT_ROLES_PREFIX}-HCP-ROSA-Installer-Role
3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow HCP 클러스터의 ROSA에 올바른 역할을 생성하려면
--hosted-cp
매개변수를 포함해야 합니다. 이 명령은 다음 정보를 반환합니다.출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이제 Operator 역할이 생성되어 HCP 클러스터를 사용하여 ROSA를 생성할 준비가 되었습니다.
검증
ROSA 계정과 연결된 Operator 역할을 나열할 수 있습니다. 다음 명령을 실행합니다.
rosa list operator-roles
$ rosa list operator-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 명령을 실행한 후 AWS 계정과 연결된 모든 접두사를 표시하고 이 접두사와 연결된 역할 수를 기록합니다. 이러한 역할과 세부 정보를 모두 확인해야 하는 경우 세부 정보 프롬프트에 이러한 역할을 나열하도록 "예"를 입력합니다.