환경 준비
AWS 클래식 아키텍처에서 Red Hat OpenShift 서비스에 대한 계획, 제한 및 확장성
초록
1장. AWS 클래식 아키텍처에 Red Hat OpenShift Service를 배포하기 위한 사전 요구 사항 체크리스트 링크 복사링크가 클립보드에 복사되었습니다!
STS 를 사용하여 AWS 클래식 아키텍처 클러스터에서 Red Hat OpenShift Service를 생성하는 데 필요한 높은 수준의 사전 요구 사항 체크리스트입니다.
설치 프로세스를 실행하는 머신에는 다음에 액세스할 수 있어야 합니다.
- Amazon Web Services API 및 인증 서비스 엔드 포인트
-
Red Hat OpenShift API 및 인증 서비스 끝점 (
api.openshift.com및sso.redhat.com) - 배포 중에 설치 아티팩트를 가져오는 인터넷 연결
ROSA CLI 버전 1.2.7부터 새 클러스터의 모든 OIDC 공급자 끝점 URL은 Amazon CloudFront 및 oidc.op1.openshiftapps.com 도메인을 사용합니다. 이러한 변경으로 인해 액세스 속도가 향상되고 대기 시간을 단축하고 ROSA CLI 1.2.7 이상으로 생성된 새 클러스터에 대한 복원력이 향상됩니다. 기존 OIDC 공급자 구성에 대해 지원되는 마이그레이션 경로는 없습니다.
1.1. 계정 및 권한 링크 복사링크가 클립보드에 복사되었습니다!
다음 계정, 인증 정보 및 권한이 있는지 확인합니다.
1.1.1. AWS 계정 링크 복사링크가 클립보드에 복사되었습니다!
- AWS 계정이 없는 경우 AWS 계정을 생성합니다.
- AWS 계정에 로그인하는 데 필요한 인증 정보를 수집합니다.
- AWS 계정에 ROSA CLI를 사용할 수 있는 충분한 권한이 있는지 확인합니다. 일반적인 ROSA CLI 명령에 대한 최소한의 권한 권한
AWS 콘솔에서 AWS 계정의 AWS 클래식 아키텍처에서 Red Hat OpenShift Service를 활성화합니다.
-
계정이 조직의 관리 계정인 경우(AWS 청구 목적으로 사용) 계정에
aws-marketplace:Subscribe권한이 있어야 합니다. 자세한 내용은 Service Control Policy (SCP) 사전 요구 사항 또는 문제 해결은 AWS 설명서를 참조하십시오. AWS 조직 서비스 제어 정책에서 필요한 AWS Marketplace 권한을 거부합니다.
-
계정이 조직의 관리 계정인 경우(AWS 청구 목적으로 사용) 계정에
- 제한적인 태그 정책을 활성화하지 않았는지 확인합니다. 자세한 내용은 AWS 문서의 태그 정책을 참조하십시오.
1.1.2. Red Hat 계정 링크 복사링크가 클립보드에 복사되었습니다!
- Red Hat Hybrid Cloud Console 이 없는 경우 Red Hat 계정을 만듭니다.
- Red Hat 계정에 로그인하는 데 필요한 인증 정보를 수집합니다.
1.2. CLI 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
클러스터를 배포할 수 있도록 여러 CLI(명령줄 인터페이스) 툴을 다운로드하여 설치해야 합니다.
1.2.1. AWS CLI (aws) 링크 복사링크가 클립보드에 복사되었습니다!
- AWS 명령줄 인터페이스를 설치합니다.
- AWS CLI를 사용하여 AWS 계정에 로그인합니다. AWS CLI 를 통해 로그인
계정 ID를 확인합니다.
aws sts get-caller-identity
$ aws sts get-caller-identityCopy to Clipboard Copied! Toggle word wrap Toggle overflow ELB(Elastic Load Balancing)의 서비스 역할이 있는지 확인합니다.
aws iam get-role --role-name "AWSServiceRoleForElasticLoadBalancing"
$ aws iam get-role --role-name "AWSServiceRoleForElasticLoadBalancing"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 역할이 없는 경우 다음 명령을 실행하여 역할을 생성합니다.
aws iam create-service-linked-role --aws-service-name "elasticloadbalancing.amazonaws.com"
$ aws iam create-service-linked-role --aws-service-name "elasticloadbalancing.amazonaws.com"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2.2. ROSA CLI (rosa) 링크 복사링크가 클립보드에 복사되었습니다!
- 웹 콘솔에서 ROSA CLI를 설치합니다. 자세한 내용은 ROSA CLI 설치, rosa 를 참조하십시오.
rosa 로그인을실행하고 명령 출력에 있는 지침에 따라 Red Hat 계정에 로그인합니다.rosa login
$ rosa login To login to your Red{nbsp}Hat account, get an offline access token at https://console.redhat.com/openshift/token/rosa ? Copy the token and paste it here:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 또는
$ rosa login --token=abc…명령을 복사하여 터미널에 붙여넣을 수 있습니다.rosa login --token=<abc..>
$ rosa login --token=<abc..>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 올바른 계정 및 인증 정보를 사용하여 로그인했는지 확인합니다.
rosa whoami
$ rosa whoamiCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2.3. OpenShift CLI(oc) 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift CLI(oc)는 AWS 클래식 아키텍처 클러스터에 Red Hat OpenShift Service를 배포하는 데 필요하지 않지만 배포된 후 클러스터와 상호 작용하는 데 유용한 도구입니다.
-
OpenShift Cluster Manager CLI(명령줄 인터페이스) 툴 페이지에서
oc를 다운로드하여 설치하거나 OpenShift CLI 시작하기 관련 지침을 따르십시오. 다음 명령을 실행하여 OpenShift CLI가 올바르게 설치되었는지 확인합니다.
rosa verify openshift-client
$ rosa verify openshift-clientCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.3. AWS 인프라 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
필요한 경우 AWS 계정에 클러스터를 배포하는 데 사용할 수 있는 할당량이 충분한지 확인합니다.
rosa verify quota
$ rosa verify quotaCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 계정에 할당된 총 할당량만 확인합니다. 해당 할당량에서 이미 사용된 할당량 수는 반영되지 않습니다. 클러스터 배포 중에 할당량이 확인되므로 이 명령을 실행하는 것은 선택 사항입니다. 그러나 Red Hat은 할당량 가용성 문제 때문에 배포가 중단되지 않도록 이 명령을 실행하여 할당량을 미리 확인하는 것이 좋습니다.
- Red Hat OpenShift Service on AWS 클래식 아키텍처 클러스터 배포 중에 프로비저닝된 리소스에 대한 자세한 내용은 Provisioned AWS Infrastructure 를 참조하십시오.
- 필요한 AWS 서비스 할당량에 대한 자세한 내용은 필수 AWS 서비스 할당량을 참조하십시오.
1.4. SCP(Service Control Policy) 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
AWS 클래식 아키텍처 클러스터의 Red Hat OpenShift Service는 AWS 조직 단위 내의 AWS 계정에서 호스팅됩니다. AWS 하위 계정에 액세스할 수 있는 서비스를 관리하는 AWS 조직 단위에 서비스 제어 정책(SCP) 이 생성되고 적용됩니다.
- 조직의 SCP가 클러스터에 필요한 역할과 정책보다 제한적이지 않도록 합니다. 자세한 내용은 SCP에 대한 최소 유효 권한 세트를 참조하십시오.
- AWS 클래식 아키텍처 클러스터에서 Red Hat OpenShift Service를 생성하면 연결된 AWS OpenID Connect(OIDC) ID 공급자가 생성됩니다.
1.5. 네트워킹 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
네트워킹 관점에서 필요한 전제 조건입니다.
1.5.1. 최소 대역폭 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 배포 중에 AWS 클래식 아키텍처의 Red Hat OpenShift Service는 클러스터 인프라와 공용 인터넷 또는 배포 아티팩트 및 리소스를 제공하는 프라이빗 네트워크 위치 간에 120Mbps의 최소 대역폭이 필요합니다. 네트워크 연결 속도가 120Mbps보다 느리면(예: 프록시를 통해 연결할 때) 클러스터 설치 프로세스가 시간 초과되고 배포에 실패합니다.
클러스터 배포 후 네트워크 요구 사항은 워크로드에 따라 결정됩니다. 그러나 최소 120Mbps의 대역폭은 적절한 클러스터 및 Operator 업그레이드를 보장하는 데 도움이 됩니다.
1.5.2. 방화벽 링크 복사링크가 클립보드에 복사되었습니다!
1.5.3. PrivateLink 클러스터에 대한 VPC 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
PrivateLink 클러스터를 배포하도록 선택하는 경우 기존 BYO VPC에 클러스터를 배포해야 합니다.
다른 클러스터에 대해 설치 프로그램에서 자동으로 생성된 VPC에 AWS 클래식 아키텍처 클러스터에 새 Red Hat OpenShift Service를 설치하는 것은 지원되지 않습니다.
클러스터가 사용하는 각 AZ의 퍼블릭 및 프라이빗 서브넷을 만듭니다.
- 또는 적절한 경로가 있는 인터넷 및 송신에 대한 전송 게이트웨이를 구현합니다.
VPC의 CIDR 블록에는 클러스터 시스템의 IP 주소인
Networking.MachineCIDR범위가 포함되어야 합니다.- 서브넷 CIDR 블록은 사용자가 지정하는 시스템 CIDR에 속해야 합니다.
enableDnsHostnames및enableDnsSupport를 모두true로 설정합니다.- 이렇게 하면 클러스터에서 VPC에 연결된 Route 53 영역을 사용하여 클러스터 내부 DNS 레코드를 확인할 수 있습니다.
다음을 실행하여 라우팅 테이블을 확인합니다.
---- $ aws ec2 describe-route-tables --filters "Name=vpc-id,Values=<vpc-id>" ----
---- $ aws ec2 describe-route-tables --filters "Name=vpc-id,Values=<vpc-id>" ----Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 퍼블릭 서브넷의 NAT 게이트웨이 또는 전송 게이트웨이를 통해 클러스터가 송신될 수 있는지 확인합니다.
- 원하는 UDR이 설정되었는지 확인하십시오.
- 설치 중 또는 설치 후 클러스터 전체 프록시를 구성할 수도 있습니다. 자세한 내용은 클러스터 전체 프록시 구성.
기존 BYO VPC에서 AWS 클래식 아키텍처 클러스터에 비PrivateLink Red Hat OpenShift Service를 설치할 수 있습니다.
1.5.4. 추가 사용자 정의 보안 그룹 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 생성 중에 비관리 VPC가 있는 클러스터에 사용자 지정 보안 그룹을 추가할 수 있습니다. 이렇게 하려면 클러스터를 생성하기 전에 다음 사전 요구 사항을 완료합니다.
- 클러스터를 생성하기 전에 AWS에서 사용자 지정 보안 그룹을 생성합니다.
- 사용자 지정 보안 그룹을 클러스터를 생성하기 위해 사용 중인 VPC와 연결합니다. 사용자 지정 보안 그룹을 다른 VPC와 연결하지 마십시오.
-
네트워크 인터페이스당 보안 그룹에대한 추가 AWS 할당량을 요청해야 할 수 있습니다.
자세한 내용은 보안 그룹에 대한 자세한 요구 사항을 참조하십시오.
1.5.5. 사용자 정의 DNS 및 도메인 링크 복사링크가 클립보드에 복사되었습니다!
클러스터의 사용자 정의 도메인 이름 서버 및 사용자 정의 도메인 이름을 구성할 수 있습니다. 이렇게 하려면 클러스터를 생성하기 전에 다음 사전 요구 사항을 완료합니다.
-
기본적으로 AWS 클래식 아키텍처 클러스터의 Red Hat OpenShift Service는 클러스터 생성 및 운영을 위해
도메인 이름 서버옵션을AmazonProvidedDNS로 설정해야 합니다. - 클러스터에 사용자 지정 DNS 서버 및 도메인 이름을 사용하려면 AWS 클래식 아키텍처 설치 프로그램의 Red Hat OpenShift Service에서 내부 IP 및 서비스를 확인할 수 있도록 기본 DHCP 옵션과 함께 VPC DNS를 사용할 수 있어야 합니다. 즉, DNS 조회를 DNS 서버로 전달하도록 설정된 사용자 지정 DHCP 옵션을 생성하고 클러스터를 생성하기 전에 이 옵션을 VPC와 연결해야 합니다. 자세한 내용은 사용자 정의 DNS 확인기를 사용하여 AWS 클래식 아키텍처에 Red Hat OpenShift Service 배포를 참조하십시오.
다음 명령을 실행하여 VPC가 VPC Resolver를 사용하고 있는지 확인합니다.
aws ec2 describe-dhcp-options
$ aws ec2 describe-dhcp-optionsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2장. STS를 사용하여 AWS 클래식 아키텍처에 Red Hat OpenShift Service를 배포하기 위한 자세한 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat OpenShift Service on AWS 클래식 아키텍처에서는 Red Hat이 고객의 기존 AWS(Amazon Web Service) 계정에 클러스터를 배포할 수 있는 모델을 제공합니다.
AWS STS(Security Token Service)는 향상된 보안을 제공하기 때문에 AWS 클래식 아키텍처에서 Red Hat OpenShift Service에 클러스터를 설치하고 상호 작용하는 데 권장되는 인증 정보 모드입니다.
클러스터를 설치하기 전에 다음 사전 요구 사항이 충족되었는지 확인합니다.
2.1. AWS 클래식 아키텍처 클러스터의 모든 Red Hat OpenShift Service에 대한 고객 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
AWS STS(Security Token Service)를 사용하는 AWS 클래식 아키텍처 클러스터에 Red Hat OpenShift Service를 배포하기 전에 다음 사전 요구 사항을 완료해야 합니다.
2.2. AWS 계정 링크 복사링크가 클립보드에 복사되었습니다!
- AWS 계정에서 클러스터를 배포할 수 있는 충분한 할당량을 허용해야 합니다.
- 조직이 SCP 정책을 적용하고 적용하는 경우, 이러한 정책은 클러스터에 필요한 역할과 정책보다 더 제한적이지 않아야 합니다.
- 동일한 AWS 계정 내에 네이티브 AWS 서비스를 배포할 수 있습니다.
- 설치 프로그램이ELB(Elastic Load Balancing)를 구성할 수 있도록 하려면 계정에 서비스 연결 역할이 있어야 합니다. 자세한 내용은 "Elastic Load Balancing (ELB) 서비스 연결 역할 생성"을 참조하십시오.
2.2.1. 지원 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
- Red Hat은 고객에게 최소한 AWS의 비즈니스 지원을 받을 것을 권장합니다.
- Red Hat은 고객을 대신하여 AWS 지원을 요청할 수 있는 권한이 있을 수 있습니다.
- Red Hat은 고객의 계정으로부터 AWS 리소스 제한이 증가하도록 요청할 수 있는 권한이 있을 수 있습니다.
- Red Hat은 이 요구 사항 섹션에 달리 지정하지 않는 한 AWS 클래식 아키텍처 클러스터의 모든 Red Hat OpenShift Service의 제한, 제한 사항, 기대치 및 기본값을 관리합니다.
2.2.2. 보안 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
- Red Hat은 허용 목록 IP 주소에서 EC2 호스트와 API 서버에 대한 수신 액세스 권한이 있어야 합니다.
- Red Hat은 "Firewall 사전 요구 사항" 섹션에 설명된 도메인에 대한 송신이 허용되어야 합니다.
2.3. OpenShift Cluster Manager 사용 요구사항 링크 복사링크가 클립보드에 복사되었습니다!
다음 구성 세부 정보는 OpenShift Cluster Manager 를 사용하여 클러스터를 관리하는 경우에만 필요합니다. CLI 툴을 독점적으로 사용하는 경우 이러한 요구 사항을 무시할 수 있습니다.
2.3.1. AWS 계정 연결 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Cluster Manager(console.redhat.com)를 사용하여 AWS 클래식 아키텍처에서 Red Hat OpenShift Service를 프로비저닝하는 경우, Amazon Resource Name(ARN)을 사용하여 ocm-role 및 user-role IAM 역할을 AWS 계정과 연결해야 합니다. 이러한 연관 프로세스는 계정 연결이라고도 합니다.
ocm-role ARN은 Red Hat 조직에 레이블로 저장되고, user-role ARN은 Red Hat 사용자 계정 내에 레이블로 저장됩니다. Red Hat은 이러한 ARN 레이블을 사용하여 사용자가 유효한 계정 소유자이고 AWS 계정에서 프로비저닝 작업을 수행할 수 있는지 확인합니다.
2.3.2. AWS 계정을 IAM 역할과 연결 링크 복사링크가 클립보드에 복사되었습니다!
ROSA CLI, rosa 를 사용하여 AWS 계정을 기존 IAM 역할과 연결하거나 연결할 수 있습니다.
사전 요구 사항
- AWS 계정이 있습니다.
- AWS 계정 전체 역할을 설치하는 데 필요한 권한이 있습니다. 자세한 내용은 이 섹션의 "추가 리소스"를 참조하십시오.
-
설치 호스트에 최신 AWS(
aws) 및 ROSA(rosa) CLI를 설치하고 구성했습니다. ocm-role및user-roleIAM 역할을 생성했지만 아직 AWS 계정에 연결되지 않았습니다. 다음 명령을 실행하여 IAM 역할이 이미 연결되어 있는지 확인할 수 있습니다.rosa list ocm-role
$ rosa list ocm-roleCopy to Clipboard Copied! Toggle word wrap Toggle overflow rosa list user-role
$ rosa list user-roleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 두 역할의
Linked열에Yes가 표시되면 이미 해당 역할을 AWS 계정에 연결했습니다.
프로세스
ROSA CLI에서 ARM(Amazon Resource Name)을 사용하여
ocm-role리소스를 Red Hat 조직에 연결합니다.참고rosa link명령을 실행하려면 Red Hat 조직 관리자 권한이 있어야 합니다.ocm-role리소스를 AWS 계정과 연결하면 해당 리소스가 적용되며 조직의 모든 사용자에게 표시됩니다.rosa link ocm-role --role-arn <arn>
$ rosa link ocm-role --role-arn <arn>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
I: Linking OCM role ? Link the '<AWS ACCOUNT ID>` role with organization '<ORG ID>'? Yes I: Successfully linked role-arn '<AWS ACCOUNT ID>' with organization account '<ORG ID>'
I: Linking OCM role ? Link the '<AWS ACCOUNT ID>` role with organization '<ORG ID>'? Yes I: Successfully linked role-arn '<AWS ACCOUNT ID>' with organization account '<ORG ID>'Copy to Clipboard Copied! Toggle word wrap Toggle overflow ROSA CLI에서 Amazon Resource Name(ARN)을 사용하여 사용자
역할리소스를 Red Hat 사용자 계정에 연결합니다.rosa link user-role --role-arn <arn>
$ rosa link user-role --role-arn <arn>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
I: Linking User role ? Link the 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' role with organization '<AWS ID>'? Yes I: Successfully linked role-arn 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' with organization account '<AWS ID>'
I: Linking User role ? Link the 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' role with organization '<AWS ID>'? Yes I: Successfully linked role-arn 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' with organization account '<AWS ID>'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.5. 옵트인 리전에 클러스터 배포를 위한 요구사항 링크 복사링크가 클립보드에 복사되었습니다!
AWS 옵트인 리전은 기본적으로 AWS 계정에서 활성화되지 않은 리전입니다. 옵트인 리전에서 AWS STS(Security Token Service)를 사용하는 AWS 클래식 아키텍처 클러스터에 Red Hat OpenShift Service를 배포하려면 다음 요구 사항을 충족해야 합니다.
- AWS 계정에서 리전을 활성화해야 합니다. 옵트인 리전 활성화에 대한 자세한 내용은 AWS 문서 의 AWS 리전 관리를 참조하십시오.
AWS 계정의 보안 토큰 버전을 버전 2로 설정해야 합니다. 옵트인 리전에는 버전 1 보안 토큰을 사용할 수 없습니다.
중요보안 토큰 버전 2로 업데이트하면 토큰 길이가 증가하여 토큰을 저장하는 시스템에 영향을 미칠 수 있습니다. 자세한 내용은 STS 기본 설정 설정에 대한 AWS 설명서 를 참조하십시오.
2.5.1. AWS 보안 토큰 버전 설정 링크 복사링크가 클립보드에 복사되었습니다!
AWS 옵트인 리전에서 AWS STS(Security Token Service)를 사용하여 AWS 클래식 아키텍처 클러스터에서 Red Hat OpenShift Service를 생성하려면 AWS 계정에서 보안 토큰 버전을 버전 2로 설정해야 합니다.
사전 요구 사항
- 설치 호스트에 최신 AWS CLI를 설치하고 구성했습니다.
프로세스
AWS CLI 구성에 정의된 AWS 계정의 ID를 나열합니다.
aws sts get-caller-identity --query Account --output json
$ aws sts get-caller-identity --query Account --output jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력이 관련 AWS 계정의 ID와 일치하는지 확인합니다.
AWS 계정에 설정된 보안 토큰 버전을 나열합니다.
aws iam get-account-summary --query SummaryMap.GlobalEndpointTokenVersion --output json
$ aws iam get-account-summary --query SummaryMap.GlobalEndpointTokenVersion --output jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
1
1Copy to Clipboard Copied! Toggle word wrap Toggle overflow AWS 계정의 모든 리전의 보안 토큰 버전을 버전 2로 업데이트하려면 다음 명령을 실행합니다.
aws iam set-security-token-service-preferences --global-endpoint-token-version v2Token
$ aws iam set-security-token-service-preferences --global-endpoint-token-version v2TokenCopy to Clipboard Copied! Toggle word wrap Toggle overflow 중요보안 토큰 버전 2로 업데이트하면 토큰 길이가 증가하여 토큰을 저장하는 시스템에 영향을 미칠 수 있습니다. 자세한 내용은 STS 기본 설정 설정에 대한 AWS 설명서 를 참조하십시오.
2.6. AWS에 대한 Red Hat 관리 IAM 참조 링크 복사링크가 클립보드에 복사되었습니다!
STS를 클러스터 인증 정보 방법으로 사용하는 경우 Red Hat은 AWS(Amazon Web Services) IAM 정책, IAM 사용자 또는 IAM 역할을 생성하고 관리할 책임이 없습니다. 이러한 역할 및 정책 생성에 대한 자세한 내용은 IAM 역할에 대한 다음 섹션을 참조하십시오.
-
ocmCLI를 사용하려면ocm-role및user-role리소스가 있어야 합니다. OpenShift Cluster Manager IAM 역할 리소스를 참조하십시오. - 단일 클러스터가 있는 경우 계정 전체 IAM 역할 및 정책 참조를 참조하십시오.
- 각 클러스터에 필요한 Operator 역할이 있어야 합니다. Cluster-specific Operator IAM 역할 참조를 참조하십시오.
2.7. 프로비저닝된 AWS 인프라 링크 복사링크가 클립보드에 복사되었습니다!
이는 배포된 Red Hat OpenShift Service의 AWS 클래식 아키텍처 클러스터에 프로비저닝된 AWS(Amazon Web Services) 구성 요소에 대한 개요입니다.
2.7.1. EC2 인스턴스 링크 복사링크가 클립보드에 복사되었습니다!
AWS EC2 인스턴스는 AWS 클래식 아키텍처에서 Red Hat OpenShift Service의 컨트롤 플레인 및 데이터 플레인 기능을 배포하는 데 필요합니다. 인스턴스 유형은 작업자 노드 수에 따라 컨트롤 플레인 및 인프라 노드에 따라 다를 수 있습니다.
최소한 다음 EC2 인스턴스가 배포됩니다.
-
m5.2xlarge컨트롤 플레인 노드 세 개 -
두 개의
r5.xlarge인프라 노드 -
두 개의
m5.xlarge작업자 노드
작업자 노드에 표시된 인스턴스 유형은 기본값이지만 워크로드의 요구에 따라 작업자 노드의 인스턴스 유형을 사용자 지정할 수 있습니다.
2.7.2. Amazon Elastic Block Store 스토리지 링크 복사링크가 클립보드에 복사되었습니다!
Amazon EBS(Elastic Block Store) 블록 스토리지는 로컬 노드 스토리지 및 영구 볼륨 스토리지에 모두 사용됩니다. 기본적으로 다음 스토리지는 각 EC2 인스턴스에 대해 프로비저닝됩니다.
컨트롤 플레인 볼륨
- 크기: 350GB
- 유형: gp3
- 초당 입력/출력 작업: 1000
인프라 볼륨
- 크기: 300GB
- 유형: gp3
- 초당 입력/출력 작업: 900
작업자 볼륨
- 기본 크기: 300GiB(생성 시 조정 가능)
- 최소 크기: 128GB
- 유형: gp3
- 초당 입력/출력 작업: 900
OpenShift Container Platform 4.11 릴리스 전에 배포된 클러스터는 기본적으로 gp2 유형 스토리지를 사용합니다.
2.7.3. Elastic Load Balancing 링크 복사링크가 클립보드에 복사되었습니다!
각 클러스터는 애플리케이션 라우터에 최대 2개의 Classic Load Balancer와 API용 Network Load Balancer를 최대 2개까지 사용할 수 있습니다.
자세한 내용은 AWS의 ELB 설명서를 참조하십시오.
2.7.4. S3 스토리지 링크 복사링크가 클립보드에 복사되었습니다!
이미지 레지스트리는 AWS S3 스토리지에서 지원합니다. S3 사용량 및 클러스터 성능을 최적화하기 위해 리소스가 정기적으로 정리됩니다.
일반적인 크기는 각각 2TB인 두 개의 버킷이 필요합니다.
2.7.5. VPC 링크 복사링크가 클립보드에 복사되었습니다!
다음 요구 사항에 따라 VPC를 구성합니다.
subnets: 모든 클러스터에는 모든 가용성 영역에 대해 최소 하나의 프라이빗 서브넷이 필요합니다. 예를 들어 단일 영역 클러스터에는 1개의 프라이빗 서브넷이 필요하며, 3개의 가용성 영역이 있는 클러스터에는 3개의 프라이빗 서브넷이 필요합니다.
공용 인터넷을 포함하여 클러스터 외부에 있는 네트워크에 직접 액세스해야 하는 경우 하나 이상의 공용 서브넷이 필요합니다.
Red Hat은 각 클러스터에 고유한 서브넷을 사용하는 것이 좋습니다. 여러 클러스터 간에 서브넷을 공유하는 것은 권장되지 않습니다.
참고공용 서브넷 은 인터넷 게이트웨이를 통해 인터넷에 직접 연결됩니다.
프라이빗 서브넷 은 NAT(네트워크 주소 변환) 게이트웨이를 통해 인터넷에 연결됩니다.
- Route tables: 프라이빗 서브넷당 하나의 라우팅 테이블과 클러스터당 하나의 추가 테이블입니다.
- 인터넷 게이트웨이: 클러스터당 하나의 인터넷 게이트웨이입니다.
- NAT 게이트웨이: 퍼블릭 서브넷당 하나의 NAT 게이트웨이입니다.
그림 2.1. 샘플 VPC 아키텍처
2.7.6. 보안 그룹 링크 복사링크가 클립보드에 복사되었습니다!
AWS 보안 그룹은 프로토콜 및 포트 액세스 수준에서 보안을 제공하며 EC2 인스턴스 및 ELB(Elastic Load Balancing) 로드 밸런서와 연결됩니다. 각 보안 그룹에는 하나 이상의 EC2 인스턴스에서 들어오는 트래픽을 필터링하는 일련의 규칙이 포함되어 있습니다.
클러스터 설치 및 작업에 필요한 포트가 네트워크에서 열려 있고 호스트 간 액세스를 허용하도록 구성되어 있는지 확인합니다. 기본 보안 그룹의 요구 사항은 기본 보안 그룹의 필수 포트에 나열되어 있습니다.
| 그룹 | 유형 | IP 프로토콜 | 포트 범위 |
|---|---|---|---|
| MasterSecurityGroup |
|
|
|
|
|
| ||
|
|
| ||
|
|
| ||
| WorkerSecurityGroup |
|
|
|
|
|
| ||
| BootstrapSecurityGroup |
|
|
|
|
|
|
2.7.6.1. 추가 사용자 정의 보안 그룹 링크 복사링크가 클립보드에 복사되었습니다!
기존 비관리 VPC를 사용하여 클러스터를 생성할 때 클러스터 생성 중에 사용자 지정 보안 그룹을 추가할 수 있습니다. 사용자 지정 보안 그룹에는 다음과 같은 제한 사항이 적용됩니다.
- 클러스터를 생성하기 전에 AWS에서 사용자 지정 보안 그룹을 생성해야 합니다. 자세한 내용은 Linux 인스턴스용 Amazon EC2 보안 그룹을 참조하십시오.
- 클러스터가 설치될 VPC와 사용자 지정 보안 그룹을 연결해야 합니다. 사용자 정의 보안 그룹은 다른 VPC와 연결할 수 없습니다.
- 사용자 지정 보안 그룹을 추가하는 경우 VPC에 대한 할당량을 추가로 요청해야 할 수 있습니다. AWS 클래식 아키텍처의 AWS 할당량 요구 사항에 대한 자세한 내용은 환경 준비 에서 필수 AWS 서비스 할당량을 참조하십시오. AWS 할당량 증가를 요청하는 방법에 대한 자세한 내용은 할당량 증가 요청을 참조하십시오.
2.8. 네트워킹 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
2.8.1. 최소 대역폭 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 배포 중에 AWS 클래식 아키텍처의 Red Hat OpenShift Service는 클러스터 인프라와 공용 인터넷 또는 배포 아티팩트 및 리소스를 제공하는 프라이빗 네트워크 위치 간에 120Mbps의 최소 대역폭이 필요합니다. 네트워크 연결 속도가 120Mbps보다 느리면(예: 프록시를 통해 연결할 때) 클러스터 설치 프로세스가 시간 초과되고 배포에 실패합니다.
클러스터 배포 후 네트워크 요구 사항은 워크로드에 따라 결정됩니다. 그러나 최소 120Mbps의 대역폭은 적절한 클러스터 및 Operator 업그레이드를 보장하는 데 도움이 됩니다.
2.8.2. AWS 방화벽 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
방화벽을 사용하여 AWS 클래식 아키텍처 클러스터의 Red Hat OpenShift Service에서 송신 트래픽을 제어하는 경우 아래의 특정 도메인 및 포트 조합에 대한 액세스 권한을 부여하도록 방화벽을 구성해야 합니다. AWS 클래식 아키텍처의 Red Hat OpenShift Service를 사용하려면 완전히 관리되는 OpenShift 서비스를 제공하기 위해 이러한 액세스가 필요합니다.
2.8.3. STS를 사용하는 AWS 클래식 아키텍처 클러스터에서 Red Hat OpenShift Service의 방화벽 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
PrivateLink와 함께 배포된 AWS 클래식 아키텍처 클러스터의 Red Hat OpenShift Service만 방화벽을 사용하여 송신 트래픽을 제어할 수 있습니다.
사전 요구 사항
- AWS VPC(Virtual Private Cloud)에 Amazon S3 게이트웨이 끝점을 구성했습니다. 이 끝점은 클러스터에서 Amazon S3 서비스로의 요청을 완료하는 데 필요합니다.
프로세스
패키지 및 툴을 설치 및 다운로드하는 데 사용되는 다음 URL을 허용 목록에 추가합니다.
Expand domain 포트 함수 registry.redhat.io443
핵심 컨테이너 이미지를 제공합니다.
quay.io443
핵심 컨테이너 이미지를 제공합니다.
cdn01.quay.io443
핵심 컨테이너 이미지를 제공합니다.
cdn02.quay.io443
핵심 컨테이너 이미지를 제공합니다.
cdn03.quay.io443
핵심 컨테이너 이미지를 제공합니다.
cdn04.quay.io443
핵심 컨테이너 이미지를 제공합니다.
cdn05.quay.io443
핵심 컨테이너 이미지를 제공합니다.
cdn06.quay.io443
핵심 컨테이너 이미지를 제공합니다.
sso.redhat.com443
필수 항목입니다.
https://console.redhat.com/openshift사이트에서는sso.redhat.com의 인증을 사용하여 풀 시크릿을 다운로드하고 Red Hat SaaS 솔루션을 사용하여 서브스크립션, 클러스터 인벤토리, DVR 보고 등을 쉽게 모니터링할 수 있습니다.quay-registry.s3.amazonaws.com443
핵심 컨테이너 이미지를 제공합니다.
quayio-production-s3.s3.amazonaws.com443
핵심 컨테이너 이미지를 제공합니다.
registry.access.redhat.com443
Red Hat Ecosytem 카탈로그에 저장된 모든 컨테이너 이미지를 호스팅합니다. 또한 레지스트리는 개발자가 OpenShift 및 Kubernetes에서 빌드하는 데 도움이 되는
odoCLI 툴에 액세스할 수 있습니다.access.redhat.com443
필수 항목입니다.
registry.access.redhat.com에서 이미지를 가져올 때 컨테이너 클라이언트가 이미지를 확인하는 데 필요한 서명 저장소를 호스팅합니다.registry.connect.redhat.com443
모든 타사 이미지 및 인증된 Operator에 필요합니다.
console.redhat.com443
필수 항목입니다. 클러스터와 OpenShift Console Manager 간의 상호 작용을 통해 업그레이드 예약과 같은 기능을 활성화할 수 있습니다.
sso.redhat.com443
https://console.redhat.com/openshift사이트에서sso.redhat.com의 인증을 사용합니다.pull.q1w2.quay.rhcloud.com443
quay.io를 사용할 수 없는 경우 핵심 컨테이너 이미지를 폴백으로 제공합니다.
catalog.redhat.com443
registry.access.redhat.com및https://registry.redhat.io사이트는catalog.redhat.com을 통해 리디렉션됩니다.oidc.op1.openshiftapps.com443
관리형 OIDC 구성으로 STS 구현을 위해 AWS 클래식 아키텍처의 Red Hat OpenShift Service에서 사용합니다.
다음 원격 분석 URL을 허용 목록에 추가합니다.
Expand domain 포트 함수 cert-api.access.redhat.com443
Telemetry에 필요합니다.
api.access.redhat.com443
Telemetry에 필요합니다.
infogw.api.openshift.com443
Telemetry에 필요합니다.
console.redhat.com443
Telemetry 및 Red Hat Insights에 필요합니다.
observatorium-mst.api.openshift.com443
관리형 OpenShift 특정 Telemetry에 필요합니다.
observatorium.api.openshift.com443
관리형 OpenShift 특정 Telemetry에 필요합니다.
관리형 클러스터를 사용하려면 Red Hat이 문제에 보다 신속하게 대응하고 고객을 더 잘 지원하며 제품 업그레이드가 클러스터에 미치는 영향을 보다 잘 이해할 수 있도록 Telemetry를 활성화해야 합니다. Red Hat에서 원격 상태 모니터링 데이터를 사용하는 방법에 대한 자세한 내용은 추가 리소스 섹션의 원격 상태 모니터링 정보를 참조하십시오.
다음 AWS(Amazon Web Services) API URls를 허용 목록에 추가합니다.
Expand domain 포트 함수 .amazonaws.com443
AWS 서비스 및 리소스에 액세스하는데 필요합니다.
또는 AWS(Amazon Web Services) API에 와일드카드를 사용하지 않도록 선택하는 경우 다음 URL을 허용해야 합니다.
Expand domain 포트 함수 ec2.amazonaws.com443
AWS 환경에서 클러스터를 설치하고 관리하는 데 사용됩니다.
events.<aws_region>.amazonaws.com443
AWS 환경에서 클러스터를 설치하고 관리하는 데 사용됩니다.
iam.amazonaws.com443
AWS 환경에서 클러스터를 설치하고 관리하는 데 사용됩니다.
route53.amazonaws.com443
AWS 환경에서 클러스터를 설치하고 관리하는 데 사용됩니다.
sts.amazonaws.com443
AWS STS의 글로벌 끝점을 사용하도록 구성된 클러스터의 AWS 환경에서 클러스터를 설치하고 관리하는 데 사용됩니다.
sts.<aws_region>.amazonaws.com443
AWS STS에 지역화된 엔드 포인트를 사용하도록 구성된 클러스터의 AWS 환경에서 클러스터를 설치하고 관리하는 데 사용됩니다. 자세한 내용은 AWS STS 지역 끝점 을 참조하십시오.
tagging.us-east-1.amazonaws.com443
AWS 환경에서 클러스터를 설치하고 관리하는 데 사용됩니다. 이 끝점은 클러스터가 배포된 리전에 관계없이 항상 us-east-1입니다.
ec2.<aws_region>.amazonaws.com443
AWS 환경에서 클러스터를 설치하고 관리하는 데 사용됩니다.
elasticloadbalancing.<aws_region>.amazonaws.com443
AWS 환경에서 클러스터를 설치하고 관리하는 데 사용됩니다.
tagging.<aws_region>.amazonaws.com443
태그 형식으로 AWS 리소스에 대한 메타데이터를 할당할 수 있습니다.
다음 OpenShift URL을 허용 목록에 추가합니다.
Expand domain 포트 함수 mirror.openshift.com443
미러링된 설치 콘텐츠 및 이미지에 액세스하는 데 사용됩니다. 이 사이트는 릴리스 이미지 서명의 소스이기도 합니다.
api.openshift.com443
클러스터에 사용 가능한 업데이트가 있는지 확인하는 데 사용됩니다.
다음 사이트 안정성 엔지니어링 (SRE) 및 관리 URL을 허용 목록에 추가하십시오.
Expand domain 포트 함수 api.pagerduty.com443
이 경고 서비스는 in-cluster alertmanager에서 Red Hat SRE에서 조치를 취할 이벤트를 알리는 경고를 보내는 데 사용됩니다.
events.pagerduty.com443
이 경고 서비스는 in-cluster alertmanager에서 Red Hat SRE에서 조치를 취할 이벤트를 알리는 경고를 보내는 데 사용됩니다.
api.deadmanssnitch.com443
AWS 클래식 아키텍처의 Red Hat OpenShift Service에서 클러스터를 사용할 수 있고 실행 중인지를 나타내는 주기적인 ping을 보내는 경고 서비스입니다.
nosnch.in443
AWS 클래식 아키텍처의 Red Hat OpenShift Service에서 클러스터를 사용할 수 있고 실행 중인지를 나타내는 주기적인 ping을 보내는 경고 서비스입니다.
http-inputs-osdsecuritylogs.splunkcloud.com443
필수 항목입니다.
splunk-forwarder-operator에서 로그 기반 경고에 Red Hat SRE에서 사용하는 로깅 전달 끝점으로 사용됩니다.SFTP.access.redhat.com(권장)22
must-gather-operator에서 진단 로그를 업로드하여 클러스터 문제를 해결하는 데 사용하는 SFTP 서버입니다.
2.9. 다음 단계 링크 복사링크가 클립보드에 복사되었습니다!
3장. AWS 클래식 아키텍처 IAM 역할 리소스에 대한 Red Hat OpenShift Service 링크 복사링크가 클립보드에 복사되었습니다!
AWS 클래식 아키텍처 클러스터에서 Red Hat OpenShift Service를 생성하고 관리하려면 AWS 계정에 여러 역할 리소스를 생성해야 합니다.
3.1. 필수 역할 개요 링크 복사링크가 클립보드에 복사되었습니다!
AWS 클래식 아키텍처 클러스터에서 Red Hat OpenShift Service를 생성하고 관리하려면 계정 전체 및 클러스터 전체 역할을 여러 개 생성해야 합니다. OpenShift Cluster Manager를 사용하여 클러스터를 생성하거나 관리하려면 몇 가지 추가 역할이 필요합니다.
- 클러스터 생성 및 관리
AWS 클래식 아키텍처 클러스터에서 Red Hat OpenShift Service를 생성하고 관리하려면 계정 전체 역할이 여러 개 필요합니다. 이러한 역할은 AWS 계정당 한 번만 생성해야 하며 각 클러스터에 대해 새로 생성할 필요가 없습니다. 하나 이상의 AWS 관리 정책이 각 역할에 연결되어 해당 역할에 필요한 기능을 부여합니다. 자체 접두사를 지정하거나 기본 접두사(
ManagedOpenShift)를 사용할 수 있습니다.참고역할 이름은 AWS IAM에서 최대 64자로 제한됩니다. 클러스터의 사용자 지정 접두사가 20자를 초과하면 AWS IAM에서 이 64자 최대값을 관찰하도록 역할 이름이 잘립니다.
다음 계정 전체 역할이 필요합니다.
-
<prefix>-Worker-Role -
<prefix>-Support-Role -
<prefix>-Installer-Role -
<prefix>-ControlPlane-Role
참고역할 생성은 AWS 액세스 또는 시크릿 키를 요청하지 않습니다. AWS STS(Security Token Service)는 이 워크플로를 기반으로 사용됩니다. AWS STS는 제한된 임시 인증 정보를 사용하여 인증을 제공합니다.
-
- Operator 관리 클러스터 기능 사용
기본적으로 제공되는 여러 기능을 포함한 일부 클러스터 기능은 Operator를 사용하여 관리합니다. 이러한 기능을 사용하려면 클러스터별 Operator 역할( ROSA CLI의
operator-roles)이 필요합니다. 이러한 역할은 백엔드 스토리지, 인그레스 및 레지스트리 관리와 같은 클러스터 작업을 수행하는 데 필요한 임시 권한을 가져오는 데 사용됩니다. 이러한 권한을 얻으려면 AWS 리소스에 대한 Operator 액세스를 인증하기 위해 AWS STS(보안 토큰 서비스)에 연결하는 OpenID Connect(OIDC) 공급자를 구성해야 합니다.AWS 클래식 아키텍처 클러스터의 Red Hat OpenShift Service에는 다음 Operator 역할이 필요합니다.
-
openshift-cluster-csi-drivers-ebs-cloud-credentials -
openshift-cloud-network-config-controller-cloud-credentials -
openshift-machine-api-aws-cloud-credentials -
openshift-cloud-credential-operator-cloud-credentials -
openshift-image-registry-installer-cloud-credentials -
openshift-ingress-operator-cloud-credentials
-
rosa create operator-role 명령을 사용하여 Operator 역할을 생성할 때 생성된 역할은 < cluster_name>-<hash>-<role_name > 패턴을 사용하여 이름이 지정됩니다(예: test-abc1-kube-system-control-plane-operator ). 클러스터 이름이 15자를 초과하면 역할 이름이 잘립니다.
- OpenShift Cluster Manager 사용
웹 사용자 인터페이스인 OpenShift Cluster Manager를 사용하려면 AWS 계정과 OpenShift Cluster Manager 간의 신뢰 관계를 생성하기 위해 AWS 계정에 추가 역할을 생성해야 합니다.
이 신뢰 관계는
ocm-roleAWS IAM 역할의 생성 및 연결을 통해 수행됩니다. 이 역할에는 Red Hat 계정을 AWS 계정에 연결하는 AWS 설치 프로그램과의 신뢰 정책이 있습니다. 또한 이러한 사용자를 식별하는 데 사용되는 각 웹 UI 사용자에 대해user-roleAWS IAM 역할도 필요합니다. 이user-roleAWS IAM 역할에는 권한이 없습니다.OpenShift Cluster Manager를 사용하려면 다음 AWS IAM 역할이 필요합니다.
-
OCM-role -
user-role
-
3.2. ocm-role IAM 리소스 정보 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat 사용자 조직이 AWS 클래식 아키텍처 클러스터에서 Red Hat OpenShift Service를 생성할 수 있도록 ocm-role IAM 리소스를 생성해야 합니다. AWS에 연결하는 맥락에서 Red Hat 조직은 OpenShift Cluster Manager 내에서 단일 사용자입니다.
ocm-role IAM 리소스에 대한 몇 가지 고려 사항은 다음과 같습니다.
-
Red Hat 조직당 하나의
ocm-roleIAM 역할만 연결할 수 있지만 AWS 계정당 여러ocm-roleIAM 역할을 가질 수 있습니다. 웹 UI를 사용하려면 이러한 역할 중 하나만 한 번에 연결할 수 있어야 합니다. -
Red Hat 조직의 모든 사용자는
ocm-roleIAM 리소스를 생성하고 연결할 수 있습니다. Red Hat 조직 관리자만
ocm-roleIAM 리소스를 연결할 수 있습니다. 이 제한은 다른 Red Hat 조직 멤버가 다른 사용자의 인터페이스 기능을 방해하지 않도록 보호하기 위한 것입니다.참고기존 조직에 속하지 않는 Red Hat 계정을 생성한 경우 이 계정은 Red Hat 조직 관리자이기도 합니다.
-
기본 및 관리자
ocm-roleIAM 리소스에 대한 AWS 권한 정책 목록은 이 섹션의 추가 리소스에서 "OpenShift Cluster Manager 역할 이해"를 참조하십시오.
ROSA CLI(rosa)를 사용하여 IAM 리소스를 생성할 때 연결할 수 있습니다.
IAM 리소스를 AWS 계정과 "연결"하거나 "연결"하면 ocm-role IAM 역할 및 Red Hat OpenShift Cluster Manager AWS 역할이 있는 trust-policy를 생성할 수 있습니다. IAM 리소스를 생성하고 연결한 후 arn:aws:iam::7333:role/RH-Managed-OpenShift-Installer 리소스를 사용하여 AWS의 ocm-role IAM 리소스의 신뢰 관계가 표시됩니다.
Red Hat 조직 관리자가 ocm-role IAM 리소스를 생성하고 연결한 후 모든 조직 멤버가 고유한 사용자 역할 IAM 역할을 생성하고 연결하려고 할 수 있습니다. 이 IAM 리소스는 사용자당 한 번만 생성하고 연결해야 합니다. Red Hat 조직의 다른 사용자가 이미 ocm-role IAM 리소스를 생성하고 연결한 경우 자체 사용자 역할 IAM 역할을 생성하고 연결했는지 확인해야 합니다.
3.4. user-role IAM 역할 정보 링크 복사링크가 클립보드에 복사되었습니다!
해당 사용자가 AWS 클래식 아키텍처 클러스터에서 Red Hat OpenShift Service를 생성할 수 있도록 웹 UI 사용자당 사용자 역할 IAM 역할을 생성해야 합니다.
사용자 역할 IAM 역할에 대한 몇 가지 고려 사항은 다음과 같습니다.
-
Red Hat
사용자 계정당 하나의 사용자 역할IAM 역할만 필요하지만 Red Hat 조직에는 이러한 IAM 리소스가 많이 있을 수 있습니다. -
Red Hat 조직의 모든 사용자는
사용자 역할 IAM 역할을생성하고 연결할 수 있습니다. -
Red Hat 조직당 AWS 계정당 다양한
사용자 역할IAM 역할이 있을 수 있습니다. -
Red Hat은
사용자 역할IAM 역할을 사용하여 사용자를 식별합니다. 이 IAM 리소스에는 AWS 계정 권한이 없습니다. -
AWS 계정에는 여러
사용자 역할 IAM 역할이있을 수 있지만 각 IAM 역할을 Red Hat 조직의 각 사용자에게 연결해야 합니다. 연결된사용자 역할 IAM 역할을두 개 이상 보유할 수 없습니다.
IAM 리소스를 AWS 계정과 "연결"하거나 "연결"하면 사용자 역할 IAM 역할 및 Red Hat OpenShift Cluster Manager AWS 역할로 trust- policy를 생성할 수 있습니다. 이 IAM 리소스를 생성하고 연결하면 arn:aws:iam::710019948333:role/RH 역할 IAM 역할의 신뢰 관계가 표시됩니다.
-Managed-OpenShift-Installer 리소스를 사용하여 AWS의 사용자
3.4.1. 사용자 역할 IAM 역할 생성 링크 복사링크가 클립보드에 복사되었습니다!
CLI(명령줄 인터페이스)를 사용하여 사용자 역할 IAM 역할을 생성할 수 있습니다.
사전 요구 사항
- AWS 계정이 있습니다.
-
설치 호스트에 최신 ROSA CLI,
rosa를 설치하고 구성했습니다.
프로세스
기본 권한으로
사용자 역할IAM 역할을 생성하려면 다음 명령을 실행합니다.rosa create user-role
$ rosa create user-roleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령을 사용하면 특정 특성을 지정하여 역할을 생성할 수 있습니다. 다음 예제 출력은 선택한 "자동 모드"를 표시하여 ROSA CLI(
rosa)를 사용하여 Operator 역할 및 정책을 생성할 수 있습니다. 자세한 내용은 "자동 및 수동 배포 모드 이해"를 참조하십시오.
출력 예
- 1
- 생성된 모든 AWS 리소스의 접두사 값입니다. 이 예제에서
Managed OpenShift는 모든 AWS 리소스 앞에 추가합니다. - 2
- 권한 경계를 설정하는 정책의 Amazon 리소스 이름(ARN)입니다.
- 3
- 사용자 이름에 대한 IAM 경로를 지정합니다.
- 4
- AWS 역할을 생성할 방법을 선택합니다. ROSA CLI는
auto를 사용하여 역할 및 정책을 생성하고 연결합니다.자동모드에서는 AWS 역할을 생성하라는 몇 가지 다른 프롬프트가 표시됩니다. - 5
auto메서드는 접두사를 사용하여 특정user-role을 생성할지 여부를 요청합니다.- 6
- 생성된 역할을 AWS 조직과 연결합니다.
클러스터를 삭제하기 전에 user-role IAM 역할을 연결 해제하거나 삭제하면 오류가 발생하면 클러스터를 삭제할 수 없습니다. 삭제 프로세스를 진행하려면 이 역할을 생성하거나 다시 연결해야 합니다. 자세한 내용은 삭제할 수 없는 클러스터 복구를 참조하십시오.
3.5. AWS 계정 연결 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Cluster Manager(console.redhat.com)를 사용하여 AWS 클래식 아키텍처에서 Red Hat OpenShift Service를 프로비저닝하는 경우, Amazon Resource Name(ARN)을 사용하여 ocm-role 및 user-role IAM 역할을 AWS 계정과 연결해야 합니다. 이러한 연관 프로세스는 계정 연결이라고도 합니다.
ocm-role ARN은 Red Hat 조직에 레이블로 저장되고, user-role ARN은 Red Hat 사용자 계정 내에 레이블로 저장됩니다. Red Hat은 이러한 ARN 레이블을 사용하여 사용자가 유효한 계정 소유자이고 AWS 계정에서 프로비저닝 작업을 수행할 수 있는지 확인합니다.
3.5.1. AWS 계정을 IAM 역할과 연결 링크 복사링크가 클립보드에 복사되었습니다!
ROSA CLI, rosa 를 사용하여 AWS 계정을 기존 IAM 역할과 연결하거나 연결할 수 있습니다.
사전 요구 사항
- AWS 계정이 있습니다.
- AWS 계정 전체 역할을 설치하는 데 필요한 권한이 있습니다. 자세한 내용은 이 섹션의 "추가 리소스"를 참조하십시오.
-
설치 호스트에 최신 AWS(
aws) 및 ROSA(rosa) CLI를 설치하고 구성했습니다. ocm-role및user-roleIAM 역할을 생성했지만 아직 AWS 계정에 연결되지 않았습니다. 다음 명령을 실행하여 IAM 역할이 이미 연결되어 있는지 확인할 수 있습니다.rosa list ocm-role
$ rosa list ocm-roleCopy to Clipboard Copied! Toggle word wrap Toggle overflow rosa list user-role
$ rosa list user-roleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 두 역할의
Linked열에Yes가 표시되면 이미 해당 역할을 AWS 계정에 연결했습니다.
프로세스
ROSA CLI에서 ARM(Amazon Resource Name)을 사용하여
ocm-role리소스를 Red Hat 조직에 연결합니다.참고rosa link명령을 실행하려면 Red Hat 조직 관리자 권한이 있어야 합니다.ocm-role리소스를 AWS 계정과 연결하면 해당 리소스가 적용되며 조직의 모든 사용자에게 표시됩니다.rosa link ocm-role --role-arn <arn>
$ rosa link ocm-role --role-arn <arn>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
I: Linking OCM role ? Link the '<AWS ACCOUNT ID>` role with organization '<ORG ID>'? Yes I: Successfully linked role-arn '<AWS ACCOUNT ID>' with organization account '<ORG ID>'
I: Linking OCM role ? Link the '<AWS ACCOUNT ID>` role with organization '<ORG ID>'? Yes I: Successfully linked role-arn '<AWS ACCOUNT ID>' with organization account '<ORG ID>'Copy to Clipboard Copied! Toggle word wrap Toggle overflow ROSA CLI에서 Amazon Resource Name(ARN)을 사용하여 사용자
역할리소스를 Red Hat 사용자 계정에 연결합니다.rosa link user-role --role-arn <arn>
$ rosa link user-role --role-arn <arn>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
I: Linking User role ? Link the 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' role with organization '<AWS ID>'? Yes I: Successfully linked role-arn 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' with organization account '<AWS ID>'
I: Linking User role ? Link the 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' role with organization '<AWS ID>'? Yes I: Successfully linked role-arn 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' with organization account '<AWS ID>'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.5.2. 여러 AWS 계정을 Red Hat 조직과 연결 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat 조직과 여러 AWS 계정을 연결할 수 있습니다. 여러 계정을 연결하면 Red Hat 조직의 관련 AWS 계정에서 AWS 클래식 아키텍처 클러스터에서 Red Hat OpenShift Service를 생성할 수 있습니다.
이 기능을 사용하면 비즈니스에 적합한 특성에 따라 다른 AWS 프로필에 클러스터를 생성할 수 있습니다. 예를 들어 리전마다 하나의 AWS 프로필을 사용하여 지역 바인딩 환경을 생성할 수 있습니다.
사전 요구 사항
- AWS 계정이 있습니다.
- OpenShift Cluster Manager 를 사용하여 클러스터를 생성합니다.
- AWS 계정 전체 역할을 설치하는 데 필요한 권한이 있습니다.
-
설치 호스트에 최신 AWS(
aws) 및 ROSA(rosa) CLI를 설치하고 구성했습니다. -
AWS 클래식 아키텍처에서 Red Hat OpenShift Service에 대한
ocm-role및user-roleIAM 역할을 생성했습니다.
프로세스
추가 AWS 계정을 연결하려면 먼저 로컬 AWS 구성에 프로필을 생성합니다. 그런 다음 추가 AWS 계정에서 ocm-role, user 및 account 역할을 생성하여 계정을 Red Hat 조직과 연결합니다.
추가 리전에서 역할을 생성하려면 > 매개변수를 지정하고 < rosa create 명령을 실행할 때 --profile <aws-profileaws_profile >을 추가 계정 프로필 이름으로 교체합니다.
OpenShift Cluster Manager 역할을 생성할 때 AWS 계정 프로필을 지정하려면 다음을 수행합니다.
rosa create --profile <aws_profile> ocm-role
$ rosa create --profile <aws_profile> ocm-roleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자 역할을 생성할 때 AWS 계정 프로필을 지정하려면 다음을 수행합니다.
rosa create --profile <aws_profile> user-role
$ rosa create --profile <aws_profile> user-roleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 계정 역할을 생성할 때 AWS 계정 프로필을 지정하려면 다음을 수행합니다.
rosa create --profile <aws_profile> account-roles
$ rosa create --profile <aws_profile> account-rolesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
프로필을 지정하지 않으면 기본 AWS 프로필 및 관련 AWS 리전이 사용됩니다.
3.6. 설치 프로그램 역할의 권한 경계 링크 복사링크가 클립보드에 복사되었습니다!
설치 프로그램 역할의 권한 경계 로 정책을 적용할 수 있습니다. AWS 관리 정책 또는 고객 관리 정책을 사용하여 AWS(Amazon Web Services) Identity and Access Management(IAM) 엔터티(사용자 또는 역할의 경계를 설정할 수 있습니다. 정책 및 경계 정책의 조합은 사용자 또는 역할의 최대 권한을 제한합니다. AWS 클래식 아키텍처의 Red Hat OpenShift Service에는 설치 프로그램 정책 자체를 변경하는 것은 지원되지 않으므로 설치 관리자 역할에 대한 권한을 제한할 수 있는 세 가지 준비 권한 경계 정책 파일이 포함되어 있습니다.
이 기능은 ROSA(classic) 클러스터에서만 지원됩니다.
권한 경계 정책 파일은 다음과 같습니다.
- Core boundary 정책 파일에는 ROSA 설치 관리자가 AWS 클래식 아키텍처 클러스터에 Red Hat OpenShift Service를 설치하는 데 필요한 최소 권한이 포함되어 있습니다. 설치 프로그램에 가상 프라이빗 클라우드(VPC) 또는 PrivateLink(PL)를 생성할 수 있는 권한이 없습니다. VPC를 제공해야 합니다.
- VPC 경계 정책 파일에는 VPC를 생성/관리하기 위해 AWS 클래식 아키텍처 설치 프로그램의 Red Hat OpenShift Service에 필요한 최소 권한이 포함되어 있습니다. PL 또는 코어 설치에 대한 권한은 포함되지 않습니다. 설치 프로그램이 클러스터를 설치하고 VPC를 생성/관리할 수 있는 충분한 권한이 있는 클러스터를 설치해야 하지만 PL을 설정할 필요는 없는 경우 설치 프로그램 역할과 함께 코어 및 VPC 경계 파일을 사용합니다.
- PrivateLink(PL) 경계 정책 파일에는 클러스터를 사용하여 AWS PL을 생성하는 데 AWS 클래식 아키텍처 설치 관리자의 Red Hat OpenShift Service에 필요한 최소 권한이 포함되어 있습니다. VPC 또는 코어 설치에 대한 권한은 포함되지 않습니다. 설치 중에 모든 PL 클러스터에 미리 생성된 VPC를 제공합니다.
권한 경계 정책 파일을 사용하는 경우 다음 조합이 적용됩니다.
- 권한 경계 정책은 전체 설치 프로그램 정책 권한이 클러스터에 적용됨을 의미합니다.
core 는 설치 프로그램 역할에 대해 가장 제한된 권한만 설정합니다. VPC 및 PL 권한은 Core 전용 경계 정책에 포함되지 않습니다.
- 설치 관리자는 VPC 또는 PL을 생성하거나 관리할 수 없습니다.
- 고객 제공 VPC가 있어야 하며 PrivateLink(PL)를 사용할 수 없습니다.
Core + VPC 는 설치 프로그램 역할의 코어 및 VPC 권한을 설정합니다.
- 설치 관리자는 PL을 생성하거나 관리할 수 없습니다.
- 사용자 지정/BYO-VPC를 사용하지 않는 것으로 가정합니다.
- 설치 프로그램이 VPC를 생성하고 관리한다고 가정합니다.
Core + PrivateLink (PL) 는 설치 프로그램이 PL 인프라를 프로비저닝할 수 있음을 의미합니다.
- 고객 제공 VPC가 있어야 합니다.
- PL이 있는 프라이빗 클러스터용입니다.
이 예제 절차는 AWS 클래식 아키텍처의 Red Hat OpenShift Service에 대한 코어 설치 관리자 권한 경계 정책만 사용하여 권한 제한이 가장 큰 설치 프로그램 역할 및 정책에 적용할 수 있습니다. AWS 콘솔 또는 AWS CLI로 이 작업을 완료할 수 있습니다. 이 예에서는 AWS CLI 및 다음 정책을 사용합니다.
예 3.1. sts_installer_core_permission_boundary_policy.json
권한 경계를 사용하려면 권한 경계 정책을 준비하고 AWS IAM의 관련 설치 프로그램 역할에 추가해야 합니다. ROSA(rosa) CLI는 권한 경계 기능을 제공하지만 설치 프로그램 역할뿐만 아니라 모든 역할에 적용되며, 이는 제공된 권한 경계 정책(설치 프로그램 역할 전용)에서 작동하지 않음을 의미합니다.
사전 요구 사항
- AWS 계정이 있습니다.
- AWS 역할 및 정책을 관리하는 데 필요한 권한이 있습니다.
-
워크스테이션에 최신 AWS(
aws) 및 ROSA(rosa) CLI를 설치하고 구성했습니다. - ROSA 계정 전체 역할, 설치 관리자 역할 및 해당 정책을 이미 준비했습니다. AWS 계정에 해당 항목이 없는 경우 추가 리소스 에서 "계정 전체 STS 역할 및 정책 생성"을 참조하십시오.
프로세스
rosaCLI에 다음 명령을 입력하여 정책 파일을 준비합니다.curl -o ./rosa-installer-core.json https://raw.githubusercontent.com/openshift/managed-cluster-config/master/resources/sts/4.20/sts_installer_core_permission_boundary_policy.json
$ curl -o ./rosa-installer-core.json https://raw.githubusercontent.com/openshift/managed-cluster-config/master/resources/sts/4.20/sts_installer_core_permission_boundary_policy.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow AWS에서 정책을 생성하고 다음 명령을 입력하여 ARM(Amazon Resource Name)을 수집합니다.
aws iam create-policy \ --policy-name rosa-core-permissions-boundary-policy \ --policy-document file://./rosa-installer-core.json \ --description "ROSA installer core permission boundary policy, the minimum permission set, allows BYO-VPC, disallows PrivateLink"
$ aws iam create-policy \ --policy-name rosa-core-permissions-boundary-policy \ --policy-document file://./rosa-installer-core.json \ --description "ROSA installer core permission boundary policy, the minimum permission set, allows BYO-VPC, disallows PrivateLink"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 제한하려는 설치 프로그램 역할에 권한 경계 정책을 추가합니다.
aws iam put-role-permissions-boundary \ --role-name ManagedOpenShift-Installer-Role \ --permissions-boundary arn:aws:iam::<account ID>:policy/rosa-core-permissions-boundary-policy
$ aws iam put-role-permissions-boundary \ --role-name ManagedOpenShift-Installer-Role \ --permissions-boundary arn:aws:iam::<account ID>:policy/rosa-core-permissions-boundary-policyCopy to Clipboard Copied! Toggle word wrap Toggle overflow rosaCLI에 다음 명령을 입력하여 연결된 정책(권한 경계 포함)의 유효성을 확인하는 설치 프로그램 역할을 표시합니다.aws iam get-role --role-name ManagedOpenShift-Installer-Role \ --output text | grep PERMISSIONSBOUNDARY
$ aws iam get-role --role-name ManagedOpenShift-Installer-Role \ --output text | grep PERMISSIONSBOUNDARYCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
PERMISSIONSBOUNDARY arn:aws:iam::<account ID>:policy/rosa-core-permissions-boundary-policy Policy
PERMISSIONSBOUNDARY arn:aws:iam::<account ID>:policy/rosa-core-permissions-boundary-policy PolicyCopy to Clipboard Copied! Toggle word wrap Toggle overflow PL 및 VPC 권한 경계 정책의 더 많은 예를 보려면 다음을 참조하십시오.
예 3.2.
sts_installer_privatelink_permission_boundary_policy.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예 3.3.
sts_installer_vpc_permission_boundary_policy.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4장. 클러스터에서 리소스 사용량 계획 링크 복사링크가 클립보드에 복사되었습니다!
4.1. 테스트된 클러스터 최대값을 기반으로 환경 계획 링크 복사링크가 클립보드에 복사되었습니다!
이 문서에서는 테스트된 클러스터 최대값을 기반으로 AWS 클래식 아키텍처 환경에서 Red Hat OpenShift Service를 계획하는 방법을 설명합니다.
노드의 물리적 리소스를 초과 구독하면 Pod 배치 중에 Kubernetes 스케줄러가 수행할 수 있는 리소스에 영향을 미칩니다. 메모리 교체가 발생하지 않도록 하기 위해 수행할 수 있는 조치를 알아보십시오.
테스트된 최대값 중 일부는 단일 차원에서만 확장됩니다. 클러스터에서 실행되는 오브젝트가 많으면 최대값이 달라집니다.
이 문서에 명시된 수치는 Red Hat 테스트 방법론, 설정, 구성 및 튜닝을 기반으로 합니다. 고유한 개별 설정 및 환경에 따라 수치가 달라질 수 있습니다.
환경을 계획하는 동안 다음 공식을 사용하여 노드당 예상되는 Pod 수를 결정합니다.
required pods per cluster / pods per node = total number of nodes needed
required pods per cluster / pods per node = total number of nodes needed
노드당 최대 Pod 수는 현재 250입니다. 하지만 노드에 적합한 Pod 수는 애플리케이션 자체에 따라 달라집니다. 애플리케이션 요구 사항에 따라 환경 계획에 설명된 대로 애플리케이션의 메모리, CPU 및 스토리지 요구 사항을 고려하십시오.
시나리오 예
클러스터당 2200개의 Pod로 클러스터의 범위를 지정하려면 노드당 최대 250개의 Pod가 있다고 가정하면 9개 이상의 노드가 필요합니다.
2200 / 250 = 8.8
2200 / 250 = 8.8
노드 수를 20으로 늘리면 Pod 배포는 노드당 110개 Pod로 변경됩니다.
2200 / 20 = 110
2200 / 20 = 110
다음과 같습니다.
required pods per cluster / total number of nodes = expected pods per node
required pods per cluster / total number of nodes = expected pods per node
4.2. 애플리케이션 요구 사항을 기반으로 환경 계획 링크 복사링크가 클립보드에 복사되었습니다!
이 문서에서는 애플리케이션 요구 사항에 따라 AWS 클래식 아키텍처 환경에서 Red Hat OpenShift Service를 계획하는 방법을 설명합니다.
예에 나온 애플리케이션 환경을 고려해 보십시오.
| Pod 유형 | Pod 수량 | 최대 메모리 | CPU 코어 수 | 영구 스토리지 |
|---|---|---|---|---|
| apache | 100 | 500MB | 0.5 | 1GB |
| node.js | 200 | 1GB | 1 | 1GB |
| postgresql | 100 | 1GB | 2 | 10GB |
| JBoss EAP | 100 | 1GB | 1 | 1GB |
예상 요구 사항: 550 CPU 코어, 450GB RAM 및 1.4TB 스토리지입니다.
노드의 인스턴스 크기는 기본 설정에 따라 높게 또는 낮게 조정될 수 있습니다. 노드에서는 리소스 초과 커밋이 발생하는 경우가 많습니다. 이 배포 시나리오에서는 동일한 양의 리소스를 제공하는 데 더 작은 노드를 추가로 실행하도록 선택할 수도 있고 더 적은 수의 더 큰 노드를 실행하도록 선택할 수도 있습니다. 운영 민첩성 및 인스턴스당 비용과 같은 요인을 고려해야 합니다.
| 노드 유형 | 수량 | CPU | RAM(GB) |
|---|---|---|---|
| 노드(옵션 1) | 100 | 4 | 16 |
| 노드(옵션 2) | 50 | 8 | 32 |
| 노드(옵션 3) | 25 | 16 | 64 |
어떤 애플리케이션은 초과 커밋된 환경에 적합하지만 어떤 애플리케이션은 그렇지 않습니다. 대부분의 Java 애플리케이션과 대규모 페이지를 사용하는 애플리케이션은 초과 커밋에 적합하지 않은 애플리케이션의 예입니다. 해당 메모리는 다른 애플리케이션에 사용할 수 없습니다. 위의 예에 나온 환경에서는 초과 커밋이 약 30%이며, 이는 일반적으로 나타나는 비율입니다.
애플리케이션 Pod는 환경 변수 또는 DNS를 사용하여 서비스에 액세스할 수 있습니다. 환경 변수를 사용하는 경우 노드에서 Pod가 실행될 때 활성 서비스마다 kubelet을 통해 변수를 삽입합니다. 클러스터 인식 DNS 서버는 새로운 서비스의 Kubernetes API를 확인하고 각각에 대해 DNS 레코드 세트를 생성합니다. 클러스터 전체에서 DNS가 활성화된 경우 모든 Pod가 자동으로 해당 DNS 이름을 통해 서비스를 확인할 수 있어야 합니다. 서비스가 5,000개를 넘어야 하는 경우 DNS를 통한 서비스 검색을 사용할 수 있습니다. 서비스 검색에 환경 변수를 사용하는 경우 네임스페이스에서 서비스가 5,000개를 초과하면 Pod 및 배포가 실패하기 시작합니다.
이 문제를 해결하려면 배포의 서비스 사양 파일에서 서비스 링크를 비활성화하십시오.
예
네임스페이스에서 실행할 수 있는 애플리케이션 Pod 수는 서비스 검색에 환경 변수가 사용될 때 서비스 수와 서비스 이름의 길이에 따라 달라집니다. ARG_MAX 는 새 프로세스의 최대 인수 길이를 정의하고 기본적으로 2097152바이트(2MiB)로 설정됩니다. kubelet은 네임스페이스에서 실행되도록 예약된 각 Pod에 환경 변수를 다음과 같이 삽입합니다.
-
<SERVICE_NAME>_SERVICE_HOST=<IP> -
<SERVICE_NAME>_SERVICE_PORT=<PORT> -
<SERVICE_NAME>_PORT=tcp://<IP>:<PORT> -
<SERVICE_NAME>_PORT_<PORT>_TCP=tcp://<IP>:<PORT> -
<SERVICE_NAME>_PORT_<PORT>_TCP_PROTO=tcp -
<SERVICE_NAME>_PORT_<PORT>_TCP_PORT=<PORT> -
<SERVICE_NAME>_PORT_<PORT>_TCP_ADDR=<ADDR>
인수 길이가 허용된 값을 초과하고 서비스 이름의 문자 수가 영향을 미치는 경우 네임스페이스의 Pod가 실패합니다.
5장. 필수 AWS 서비스 할당량 링크 복사링크가 클립보드에 복사되었습니다!
AWS 클래식 아키텍처 클러스터에서 Red Hat OpenShift Service를 실행하는 데 필요한 AWS(Amazon Web Service) 서비스 할당량 목록을 검토하십시오.
5.1. 필수 AWS 서비스 할당량 링크 복사링크가 클립보드에 복사되었습니다!
아래 표는 AWS 클래식 아키텍처 클러스터에서 하나의 Red Hat OpenShift Service를 생성하고 실행하는 데 필요한 AWS 서비스 할당량 및 수준을 설명합니다. 대부분의 기본값은 대부분의 워크로드에 적합하지만 다음 경우에 대해 추가 할당량을 요청해야 할 수 있습니다.
-
AWS 클래식 아키텍처 클러스터에서 Red Hat OpenShift Service는 클러스터 생성, 가용성 및 업그레이드를 제공하기 위해 100개의 vCPU의 최소 AWS EC2 서비스 할당량이 필요합니다. Running On-Demand Standard Amazon EC2 인스턴스에 할당된 vCPU의 기본 최대값은
5입니다. 따라서 이전에 동일한 AWS 계정을 사용하여 ROSA 클러스터를 생성하지 않은 경우실행 중인 온 디맨드 표준(A, C, D, H, I, M, R, T, Z) 인스턴스에대한 추가 EC2 할당량을 요청해야 합니다.
-
사용자 지정 보안 그룹과 같은 일부 선택적 클러스터 구성 기능을 사용하려면 추가 할당량을 요청해야 할 수 있습니다. 예를 들어 ROSA는 기본적으로 작업자 머신 풀의 네트워크 인터페이스와 1개의 보안
그룹을 연결하고 네트워크 인터페이스당 보안 그룹의기본 할당량은5개이므로 사용자 지정 보안 그룹을 추가하려면 추가 할당량을 요청해야 합니다. 작업자 네트워크 인터페이스의 총 보안 그룹 수가 6으로 가져오기 때문입니다.
AWS SDK를 사용하면 ROSA에서 할당량을 확인할 수 있지만 AWS SDK 계산은 기존 사용량을 고려하지 않습니다. 따라서 AWS SDK 할당량 검사가 통과하더라도 사용 가능한 할당량 부족으로 인해 클러스터 생성이 실패할 수 있습니다. 이 문제를 해결하려면 할당량을 늘립니다.
특정 AWS 할당량을 수정하거나 늘려야 하는 경우 할당량 증가를 요청하는 Amazon 문서를 참조하십시오. 대규모 할당량 요청은 검토를 위해 Amazon 지원에 제출되며 승인하는 데 시간이 걸릴 수 있습니다. 할당량 요청이 긴급한 경우 AWS 지원에 문의하십시오.
| 할당량 이름 | 서비스 코드 | 할당량 코드 | AWS 기본값 | 최소 요구 사항 | 설명 |
|---|---|---|---|---|---|
| 온디맨드 표준(A, C, D, H, I, M, R, T, Z) 인스턴스 실행 | ec2 | L-1216C47A | 5 | 100 | 실행 중인 온 디맨드 표준(A, C, D, H, I, M, R, T, Z) 인스턴스에 할당된 최대 vCPU 수입니다. ROSA 클러스터를 생성하는 데 5 vCPU의 기본값이 충분하지 않습니다. |
| TiB의 일반 용도 SSD(gp2) 볼륨 스토리지를 위한 스토리지 | ebs | L-D18FCD1D | 50 | 300 | TiB에서 이 리전의 일반 용도 SSD(gp2) 볼륨에서 프로비저닝할 수 있는 최대 집계된 스토리지 양입니다. |
| TiB의 일반 용도 SSD(gp3) 볼륨 스토리지를 위한 스토리지 | ebs | L-7A658B76 | 50 | 300 | TiB에서 이 리전의 일반 용도 SSD(gp3) 볼륨에서 프로비저닝할 수 있는 최대 집계된 스토리지 양입니다. 최적의 성능을 위해서는 300TiB의 스토리지가 필요한 최소 용량입니다. |
| TiB의 프로비저닝된 IOPS SSD (io1) 볼륨용 스토리지 | ebs | L-FD252861 | 50 | 300 | TiB의 최대 집계된 스토리지 양은 이 리전의 프로비저닝된 IOPS SSD(io1) 볼륨에 프로비저닝할 수 있습니다. 최적의 성능을 위해서는 300TiB의 스토리지가 필요한 최소 용량입니다. |
| 할당량 이름 | 서비스 코드 | 할당량 코드 | AWS 기본값 | 최소 요구 사항 | 설명 |
|---|---|---|---|---|---|
| EC2-VPC Elastic IP | ec2 | L-0263D0A3 | 5 | 5 | 이 리전에서 EC2-VPC에 할당할 수 있는 탄력적 IP 주소의 최대 수입니다. |
| 리전당 VPC | vpc | L-F678F1CE | 5 | 5 | 리전당 최대 VPC 수입니다. 이 할당량은 리전당 최대 인터넷 게이트웨이 수에 직접 연결됩니다. |
| 리전당 인터넷 게이트웨이 | vpc | L-A4707A72 | 5 | 5 | 리전당 최대 인터넷 게이트웨이 수입니다. 이 할당량은 리전당 최대 VPC 수에 직접 연결됩니다. 이 할당량을 늘리려면 리전당 VPC 수를 늘립니다. |
| 리전당 네트워크 인터페이스 | vpc | L-DF5E4CA3 | 5,000 | 5,000 | 리전당 최대 네트워크 인터페이스 수입니다. |
| 네트워크 인터페이스당 보안 그룹 | vpc | L-2AFB9258 | 5 | 5 | 네트워크 인터페이스당 최대 보안 그룹 수입니다. 보안 그룹당 규칙에 대한 할당량을 곱한 이 할당량은 1000을 초과할 수 없습니다. |
| 리전당 스냅샷 | ebs | L-309BACF6 | 10,000 | 10,000 | 리전당 최대 스냅샷 수 |
| 프로비저닝된 IOPS SSD(Io1) 볼륨의 IOPS | ebs | L-B3A130E6 | 300,000 | 300,000 | 이 리전의 프로비저닝된 IOPS SDD(io1) 볼륨에 프로비저닝할 수 있는 최대 집계된 IOPS 수입니다. |
| 리전당 애플리케이션 로드 밸런서 | elasticloadbalancing | L-53DA6B97 | 50 | 50 | 각 지역에 존재할 수 있는 애플리케이션 로드 밸런서의 최대 수입니다. |
| 리전당 클래식 로드 밸런서 | elasticloadbalancing | L-E9E9831D | 20 | 20 | 각 지역에 존재할 수 있는 Classic Load Balancer의 최대 수입니다. |
5.2. 다음 단계 링크 복사링크가 클립보드에 복사되었습니다!
6장. STS를 사용할 환경 설정 링크 복사링크가 클립보드에 복사되었습니다!
AWS 사전 요구 사항을 충족한 후 환경을 설정하고 AWS 클래식 아키텍처에 Red Hat OpenShift Service를 설치합니다.
AWS STS(Security Token Service)는 향상된 보안을 제공하기 때문에 AWS 클래식 아키텍처에서 Red Hat OpenShift Service에 클러스터를 설치하고 상호 작용하는 데 권장되는 인증 정보 모드입니다.
6.1. STS의 환경 설정 링크 복사링크가 클립보드에 복사되었습니다!
AWS STS(보안 토큰 서비스)를 사용하는 AWS 클래식 아키텍처 클러스터에서 Red Hat OpenShift Service를 생성하기 전에 다음 단계를 완료하여 환경을 설정합니다.
사전 요구 사항
- 배포 사전 요구 사항 및 정책을 검토하고 완료합니다.
- 아직 없는 경우 Red Hat 계정을 만듭니다. 그런 다음 이메일에서 확인 링크를 확인하십시오. AWS 클래식 아키텍처에 Red Hat OpenShift Service를 설치하려면 이러한 인증 정보가 필요합니다.
프로세스
사용하려는 AWS(Amazon Web Services) 계정에 로그인합니다.
전용 AWS 계정을 사용하여 프로덕션 클러스터를 실행하는 것이 좋습니다. AWS 조직을 사용하는 경우 조직 내에서 AWS 계정을 사용하거나 새 계정을 생성할 수 있습니다.
AWS 조직을 사용하고 있고 사용하려는 AWS 계정에 서비스 제어 정책(SCP)이 적용되어야 하는 경우 이러한 정책은 클러스터에 필요한 역할과 정책보다 더 제한적이지 않아야 합니다.
AWS Management Console에서 AWS 클래식 아키텍처에서 Red Hat OpenShift Service를 활성화합니다.
AWS CLI를 설치하고 구성합니다.
AWS 명령줄 인터페이스 문서에 따라 운영 체제에 대한 AWS CLI 를 설치하고 구성합니다.
.aws/credentials파일에서 올바른aws_access_key_id및aws_secret_access_key를 지정합니다. AWS 문서의 AWS 구성 기본 사항을 참조하십시오.기본 AWS 리전을 설정합니다.
참고환경 변수를 사용하여 기본 AWS 리전을 설정할 수 있습니다.
AWS 클래식 아키텍처의 Red Hat OpenShift Service는 다음과 같은 우선 순위 순서로 리전을 평가합니다.
-
--region플래그를 사용하여rosa명령을 실행할 때 지정된 리전입니다. -
AWS_DEFAULT_REGION환경 변수에 설정된 리전입니다. AWS 문서에서 AWS CLI를 구성하려면 환경 변수 를 참조하십시오. - AWS 구성 파일에 설정된 기본 리전입니다. AWS 문서의 aws configure를 사용한 빠른 구성 을 참조하십시오.
-
선택 사항: 이름이 지정된 AWS 프로필을 사용하여 AWS CLI 설정 및 인증 정보를 구성합니다.
Rosa는 다음과 같은 우선 순위 순서로 이름이 지정된 AWS를 평가합니다.-
rosa명령을--profile플래그를 사용하여 실행할 때 지정된 프로필입니다. -
AWS_PROFILE환경 변수에 설정된 프로필입니다. AWS 문서의 이름이 지정된 프로필을 참조하십시오.
-
다음 명령을 실행하여 AWS API를 쿼리하여 AWS CLI가 올바르게 설치 및 구성되었는지 확인합니다.
aws sts get-caller-identity
$ aws sts get-caller-identityCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ROSA CLI(
rosa)의 최신 버전을 설치합니다.- 운영 체제에 대한 ROSA CLI 의 최신 릴리스를 다운로드합니다.
선택 사항: 다운로드한 파일의 이름을
rosa로 다시 지정하고 파일을 실행 가능하게 만듭니다. 이 문서에서는rosa를 사용하여 실행 파일을 참조합니다.chmod +x rosa
$ chmod +x rosaCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항:
경로에로타를 추가합니다.mv rosa /usr/local/bin/rosa
$ mv rosa /usr/local/bin/rosaCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 설치를 확인합니다.
rosa
$ rosaCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ROSA CLI에 대한 명령 완료 스크립트를 생성합니다. 다음 예제에서는 Linux 시스템에 대한 Bash 완료 스크립트를 생성합니다.
rosa completion bash | sudo tee /etc/bash_completion.d/rosa
$ rosa completion bash | sudo tee /etc/bash_completion.d/rosaCopy to Clipboard Copied! Toggle word wrap Toggle overflow 스크립트를 가져와 기존 터미널에서
rosa명령 완료를 활성화합니다. 다음 예제에서는 Linux 시스템에서rosa에 대한 Bash 완료 스크립트를 소싱합니다.source /etc/bash_completion.d/rosa
$ source /etc/bash_completion.d/rosaCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ROSA CLI를 사용하여 Red Hat 계정에 로그인합니다.
다음 명령을 입력합니다.
rosa login
$ rosa loginCopy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;my_offline_access_token>을 토큰으로 바꿉니다.출력 예
To login to your Red Hat account, get an offline access token at https://console.redhat.com/openshift/token/rosa ? Copy the token and paste it here: <my-offline-access-token>
To login to your Red Hat account, get an offline access token at https://console.redhat.com/openshift/token/rosa ? Copy the token and paste it here: <my-offline-access-token>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예가 계속됨
I: Logged in as '<rh-rosa-user>' on 'https://api.openshift.com'
I: Logged in as '<rh-rosa-user>' on 'https://api.openshift.com'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
AWS 계정에 AWS 클래식 아키텍처 클러스터에 Red Hat OpenShift Service를 배포하는 데 필요한 할당량이 있는지 확인합니다.
rosa verify quota [--region=<aws_region>]
$ rosa verify quota [--region=<aws_region>]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
I: Validating AWS quota... I: AWS quota ok
I: Validating AWS quota... I: AWS quota okCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고AWS 할당량이 리전에 따라 다를 수 있습니다. 오류가 발생하면 다른 리전을 시도합니다.
할당량을 늘려야 하는 경우 AWS 관리 콘솔 로 이동하여 실패한 서비스에 대한 할당량 증가를 요청합니다.
할당량 확인이 성공하면 다음 단계를 진행합니다.
클러스터 배포를 위해 AWS 계정을 준비합니다.
다음 명령을 실행하여 Red Hat 및 AWS 인증 정보가 올바르게 설정되었는지 확인합니다. AWS 계정 ID, 기본 리전 및 ARN이 예상과 일치하는지 확인합니다. 현재 OpenShift Cluster Manager로 시작하는 행을 안전하게 무시할 수 있습니다.
rosa whoami
$ rosa whoamiCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ROSA(
rosa) CLI에서 OpenShift CLI(oc), 버전 4.7.9 이상을 설치합니다.이 명령을 입력하여
ocCLI의 최신 버전을 다운로드합니다.rosa download openshift-client
$ rosa download openshift-clientCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
ocCLI를 다운로드한 후 압축을 풀고 경로에 추가합니다. 이 명령을 입력하여
ocCLI가 올바르게 설치되었는지 확인합니다.rosa verify openshift-client
$ rosa verify openshift-clientCopy to Clipboard Copied! Toggle word wrap Toggle overflow
역할 생성
이러한 단계를 완료하면 IAM 및 OIDC 액세스 기반 역할을 설정할 준비가 된 것입니다.
6.2. 다음 단계 링크 복사링크가 클립보드에 복사되었습니다!
Legal Notice
링크 복사링크가 클립보드에 복사되었습니다!
Copyright © 2025 Red Hat
OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
Modified versions must remove all Red Hat trademarks.
Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.