14.10. AWS용 설치 파일 생성
AWS(Amazon Web Services)에 OpenShift Container Platform을 설치하고 AWS 로컬 영역을 사용하려면 설치 프로그램이 클러스터를 배포하는 데 필요한 파일을 생성하고 클러스터가 사용할 시스템만 생성하도록 파일을 수정해야 합니다. install-config.yaml
파일을 생성하고 사용자 지정하고 로컬 영역 서브넷을 추가합니다.
14.10.1. 클러스터 설치를 위한 최소 리소스 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
각 클러스터 시스템이 다음과 같은 최소 요구사항을 충족해야 합니다.
머신 | 운영 체제 | vCPU [1] | 가상 RAM | 스토리지 | 초당 입력/출력(IOPS)[2] |
---|---|---|---|---|---|
부트스트랩 | RHCOS | 4 | 16GB | 100GB | 300 |
컨트롤 플레인 | RHCOS | 4 | 16GB | 100GB | 300 |
Compute | RHCOS, RHEL 8.6 이상 [3] | 2 | 8GB | 100GB | 300 |
- SMT(동시 멀티 스레딩) 또는 Hyper-Threading이 활성화되지 않은 경우 하나의 vCPU는 하나의 물리적 코어와 동일합니다. 활성화하면 다음과 같은 공식을 사용하여 해당 비율을 계산합니다. (코어 당 스레드 수 × 코어 수) × 소켓 수 = vCPU 수
- OpenShift Container Platform 및 Kubernetes는 디스크 성능에 민감하며 특히 10ms p99 fsync 기간이 필요한 컨트롤 플레인 노드의 etcd에 더 빠른 스토리지가 권장됩니다. 많은 클라우드 플랫폼에서 스토리지 크기와 IOPS를 함께 확장되므로 충분한 성능을 얻으려면 스토리지 볼륨을 과도하게 할당해야 할 수 있습니다.
- 사용자가 프로비저닝한 모든 설치와 마찬가지로 클러스터에서 RHEL 컴퓨팅 머신을 사용하기로 선택한 경우 시스템 업데이트 수행, 패치 적용 및 기타 필요한 모든 작업 실행을 포함한 모든 운영 체제의 라이프 사이클 관리 및 유지 관리에 대한 책임이 있습니다. RHEL 7 컴퓨팅 머신 사용은 더 이상 사용되지 않으며 OpenShift Container Platform 4.10 이상에서 제거되었습니다.
OpenShift Container Platform 버전 4.13부터 RHCOS는 RHEL 버전 9.2를 기반으로 하며 마이크로 아키텍처 요구 사항을 업데이트합니다. 다음 목록에는 각 아키텍처에 필요한 최소 명령 세트 아키텍처(ISA)가 포함되어 있습니다.
- x86-64 아키텍처에는 x86-64-v2 ISA가 필요합니다.
- ARM64 아키텍처에는 ARMv8.0-A ISA가 필요합니다.
- IBM Power 아키텍처에는 Power 9 ISA가 필요합니다.
- s390x architecture requires z14 ISA
자세한 내용은 RHEL 아키텍처를 참조하십시오.
플랫폼의 인스턴스 유형이 클러스터 머신의 최소 요구 사항을 충족하는 경우 OpenShift Container Platform에서 사용할 수 있습니다.
14.10.2. AWS에서 테스트된 인스턴스 유형 링크 복사링크가 클립보드에 복사되었습니다!
다음 AWS(Amazon Web Services) 인스턴스 유형은 AWS Local Zones에서 사용하기 위해 OpenShift Container Platform에서 테스트되었습니다.
AWS 인스턴스의 다음 차트에 포함된 머신 유형을 사용합니다. 차트에 나열되지 않은 인스턴스 유형을 사용하는 경우 사용하는 인스턴스 크기가 "클러스터 설치에 대한 최소 리소스 요구 사항"에 나열된 최소 리소스 요구 사항과 일치하는지 확인합니다.
예 14.3. AWS 로컬 영역의 64비트 x86 아키텍처를 기반으로 하는 머신 유형
-
c5.*
-
c5d.*
-
m6i.*
-
m5.*
-
r5.*
-
t3.*
14.10.3. 설치 구성 파일 만들기 링크 복사링크가 클립보드에 복사되었습니다!
설치 프로그램이 클러스터를 배포하는 데 필요한 설치 구성 파일을 생성하고 사용자 지정합니다.
사전 요구 사항
- OpenShift Container Platform 설치 프로그램과 클러스터의 풀 시크릿을 받으셨습니다.
-
Red Hat에서 게시한 Red Hat Enterprise Linux CoreOS (RHCOS) AMI와 함께 리전에 클러스터를 배포하고 있는지 확인하셨습니다. AWS GovCloud 리전과 같이 사용자 지정 AMI가 필요한 리전에 배포하는 경우
install-config.yaml
파일을 수동으로 생성해야 합니다.
프로세스
install-config.yaml
파일을 생성합니다.설치 프로그램이 포함된 디렉터리로 변경하고 다음 명령을 실행합니다.
./openshift-install create install-config --dir <installation_directory>
$ ./openshift-install create install-config --dir <installation_directory>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<installation_directory>
는 설치 프로그램이 생성하는 파일을 저장할 디렉터리 이름을 지정합니다.
중요비어 있는 디렉터리를 지정합니다. 부트스트랩 X.509 인증서와 같은 일부 설치 자산은 단기간에 만료되므로 설치 디렉터리를 재사용해서는 안 됩니다. 다른 클러스터 설치의 개별 파일을 재사용하려면 해당 파일을 사용자 디렉터리에 복사하면 됩니다. 그러나 설치 자산의 파일 이름은 릴리스간에 변경될 수 있습니다. 따라서 이전 OpenShift Container Platform 버전에서 설치 파일을 복사할 때는 주의하십시오.
화면에 나타나는 지시에 따라 클라우드에 대한 구성 세부 사항을 입력합니다.
선택사항: 클러스터 시스템에 액세스하는 데 사용할 SSH 키를 선택합니다.
참고설치 디버깅 또는 재해 복구를 수행하려는 프로덕션 OpenShift Container Platform 클러스터의 경우
ssh-agent
프로세스가 사용하는 SSH 키를 지정합니다.- 대상 플랫폼으로 aws를 선택합니다.
컴퓨터에 AWS 프로필이 저장되어 있지 않은 경우 설치 프로그램을 실행하도록 구성한 사용자의 AWS 액세스 키 ID와 시크릿 액세스 키를 입력합니다.
참고AWS 액세스 키 ID와 시크릿 액세스 키는 설치 호스트에 있는 현재 사용자의 홈 디렉터리에서
~/.aws/credentials
에 저장됩니다. 내보낸 프로필의 인증 정보가 파일에 없으면 설치 프로그램에서 인증 정보에 대한 메시지를 표시합니다. 설치 프로그램에 사용자가 제공하는 인증 정보는 파일에 저장됩니다.- 클러스터를 배포할 AWS 리전을 선택합니다. 지정한 리전은 AWS 계정에 대해 선택한 로컬 영역이 포함된 리전과 동일해야 합니다.
- 클러스터에 대해 구성한 Route53 서비스의 기본 도메인을 선택합니다.
- 클러스터를 설명할 수 있는 이름을 입력합니다.
- Red Hat OpenShift Cluster Manager에서 풀 시크릿 을 붙여넣습니다.
선택사항:
install-config.yaml
파일을 백업합니다.중요install-config.yaml
파일은 설치 과정에서 사용됩니다. 이 파일을 재사용하려면 지금 백업해야 합니다.
14.10.4. AWS 로컬 영역의 엣지 컴퓨팅 풀 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 4.12에서는 원격 영역에서 사용하도록 설계된 새로운 컴퓨팅 풀 에지 를 도입했습니다. 엣지 컴퓨팅 풀 구성은 AWS 로컬 영역 위치 간에 일반적입니다. 그러나 로컬 영역 리소스의 EC2 및 EBS와 같은 리소스의 유형 및 크기 제한으로 인해 생성되는 기본 인스턴스 유형은 기존 작업자 풀에 따라 다를 수 있습니다.
로컬 영역 위치의 기본 EBS(Elastic Block Store)는 일반 작업자 풀과 다른 gp2
입니다. 에지 컴퓨팅 풀의 각 로컬 영역에 사용되는 인스턴스 유형도 영역에서 제공되는 인스턴스에 따라 작업자 풀과 다를 수 있습니다.
엣지 컴퓨팅 풀은 개발자가 AWS 로컬 영역 노드에 애플리케이션을 배포하는 데 사용할 수 있는 새 레이블을 생성합니다. 새 레이블은 다음과 같습니다.
-
node-role.kubernetes.io/edge=''
-
machine.openshift.io/zone-type=local-zone
-
machine.openshift.io/zone-group=$ZONE_GROUP_NAME
기본적으로 시스템은 사용자가 platform.aws.subnets
목록에 AWS 로컬 영역 서브넷 ID를 추가하는 경우에만 에지 컴퓨팅 풀 매니페스트를 생성합니다.
에지 컴퓨팅 풀의 머신 세트에는 일반 워크로드가 해당 머신에 분배되지 않도록 기본적으로 NoSchedule 테인트가
있습니다. 사용자는 허용 오차가 Pod 사양에 정의된 경우에만 사용자 워크로드를 실행할 수 있습니다.
다음 예제에서는 에지 머신 풀을 사용하는 install-config.yaml
파일을 보여줍니다.
기본 설정이 있는 에지 풀을 사용하는 구성
사용자 지정 인스턴스 유형과 함께 에지 풀을 사용하는 구성
인스턴스 유형은 위치마다 다릅니다. 클러스터를 실행할 로컬 영역의 가용성을 확인하려면 AWS 설명서를 참조하십시오.
사용자 지정 EBS 유형의 에지 풀을 사용하는 구성
EBS 유형은 위치마다 다릅니다. AWS 문서를 확인하여 클러스터가 실행될 로컬 영역에서 가용성을 확인합니다.
14.10.4.1. 엣지 컴퓨팅 풀 및 AWS 로컬 영역 링크 복사링크가 클립보드에 복사되었습니다!
엣지 작업자 노드는 AWS 로컬 영역 위치에서 실행되는 테인트된 작업자 노드입니다.
로컬 영역을 사용하는 클러스터를 배포하는 경우:
- 로컬 영역의 Amazon EC2 인스턴스는 가용성 영역의 Amazon EC2 인스턴스보다 비용이 많이 듭니다.
- 애플리케이션과 최종 사용자 간의 대기 시간은 로컬 영역에서 적고 위치에 따라 다를 수 있습니다. 예를 들어 라우터가 로컬 영역과 가용 영역 간에 혼합되는 경우 일부 워크로드에 대기 시간 영향이 있습니다.
-
네트워크 플러그인에 따라 로컬 영역 서브넷이
install-config.yaml
에서 감지되면 cluster-network 최대 전송 단위(MTU)는 AWS에서 제한되는 하한으로 자동으로 조정됩니다. 예를 들어 조정된 값은 OVN-Kubernetes의 경우 1200이고 OpenShift SDN의 경우 1250입니다. 추가 기능이 활성화된 경우 수동 MTU 조정이 필요할 수 있습니다.
일반적으로 로컬 영역의 Amazon EC2 인스턴스와 리전의 Amazon EC2 인스턴스 간 최대 전송 단위(MTU)는 1300입니다. 자세한 내용은 AWS 문서에서 로컬 영역이 작동하는 방법을 참조하십시오. 오버헤드를 고려하려면 클러스터 네트워크 MTU가 EC2 MTU보다 항상 작아야 합니다. 특정 오버헤드는 네트워크 플러그인에 의해 결정됩니다. 예를 들면 다음과 같습니다.
-
OVN-Kubernetes:
100 bytes
-
OpenShift SDN:
50바이트
네트워크 플러그인은 IPsec과 같은 추가 기능을 제공할 수 있으며 MTU도 줄여야 합니다. 자세한 내용은 설명서를 참조하십시오.
14.10.5. AWS 로컬 영역 서브넷을 사용하도록 설치 구성 파일 수정 링크 복사링크가 클립보드에 복사되었습니다!
AWS 로컬 영역 서브넷을 포함하도록 install-config.yaml
파일을 수정합니다.
사전 요구 사항
- "AWS 로컬 영역에서 서브넷 생성" 절차를 사용하여 서브넷을 생성했습니다.
-
"설치 구성 파일 생성" 절차를 사용하여
install-config.yaml
파일을 생성했습니다.
프로세스
VPC 및 로컬 영역 서브넷을
platform.aws.subnets
속성 값으로 추가합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 가용성 및 로컬 영역에서 생성된 서브넷 목록입니다.