15.8. 설치 구성 파일 만들기
AWS(Amazon Web Services)에 설치하는 OpenShift Container Platform 클러스터를 사용자 지정할 수 있습니다.
사전 요구 사항
- OpenShift Container Platform 설치 프로그램과 클러스터의 풀 시크릿이 있습니다.
프로세스
install-config.yaml
파일을 생성합니다.설치 프로그램이 포함된 디렉터리로 변경하고 다음 명령을 실행합니다.
$ ./openshift-install create install-config --dir <installation_directory> 1
- 1
<installation_directory>
는 설치 프로그램이 생성하는 파일을 저장할 디렉터리 이름을 지정합니다.
디렉터리를 지정할 때 다음을 수행합니다.
-
디렉터리에
실행
권한이 있는지 확인합니다. 설치 디렉토리에서 Terraform 바이너리를 실행하려면 이 권한이 필요합니다. 빈 디렉터리를 사용합니다. 부트스트랩 X.509 인증서와 같은 일부 설치 자산은 단기간에 만료되므로 설치 디렉터리를 재사용해서는 안 됩니다. 다른 클러스터 설치의 개별 파일을 재사용하려면 해당 파일을 사용자 디렉터리에 복사하면 됩니다. 그러나 설치 자산의 파일 이름은 릴리스간에 변경될 수 있습니다. 따라서 이전 OpenShift Container Platform 버전에서 설치 파일을 복사할 때는 주의하십시오.
참고항상
~/.powervs
디렉터리를 삭제하여 오래된 구성을 재사용하지 않도록 합니다. 다음 명령을 실행합니다.$ rm -rf ~/.powervs
화면에 나타나는 지시에 따라 클라우드에 대한 구성 세부 사항을 입력합니다.
선택사항: 클러스터 시스템에 액세스하는 데 사용할 SSH 키를 선택합니다.
참고설치 디버깅 또는 재해 복구를 수행하려는 프로덕션 OpenShift Container Platform 클러스터의 경우
ssh-agent
프로세스가 사용하는 SSH 키를 지정합니다.- 대상 플랫폼으로 AWS를 선택합니다.
- 컴퓨터에 AWS(Amazon Web Services) 프로필이 저장되어 있지 않은 경우 설치 프로그램을 실행하도록 구성한 사용자의 AWS 액세스 키 ID와 시크릿 액세스 키를 입력합니다.
- 클러스터를 배포할 AWS 리전을 선택합니다.
- 클러스터에 대해 구성한 Route53 서비스의 기본 도메인을 선택합니다.
- 클러스터를 설명할 수 있는 이름을 입력합니다.
install-config.yaml
파일을 수정합니다. AWS Outposts 설치에는install-config.yaml
파일을 수동으로 수정해야 하는 다음과 같은 제한 사항이 있습니다.-
거의 infinite 규모를 제공하는 AWS 리전과 달리 AWS Outposts는 프로비저닝된 용량, EC2 제품군 및 생성, 인스턴스 크기, 다른 워크로드에서 아직 사용하지 않는 컴퓨팅 용량의 가용성에 의해 제한됩니다. 따라서 새 OpenShift Container Platform 클러스터를 생성할 때 구성 파일의
compute.platform.aws.type
섹션에 지원되는 인스턴스 유형을 제공해야 합니다. -
AWS Outposts에서 실행되는 원격 작업자와 함께 OpenShift Container Platform 클러스터를 배포할 때 Outpost 인스턴스가 생성된 가용성 영역인 컴퓨팅 인스턴스에는 하나의 가용 영역만 사용할 수 있습니다. 따라서 새 OpenShift Container Platform 클러스터를 생성할 때 컴퓨팅 인스턴스를 이 가용 영역으로 제한하려면 구성 파일의
compute.platform.aws.zones
섹션에 관련 가용 영역을 제공하는 것이 좋습니다. -
Amazon EBS(Elastic Block Store) gp3 볼륨은 AWS Outposts 서비스에서 지원되지 않습니다. 이 볼륨 유형은 OpenShift Container Platform 클러스터에서 사용하는 기본 유형입니다. 따라서 새 OpenShift Container Platform 클러스터를 생성할 때
compute.platform.aws.rootVolume.type
섹션의 볼륨 유형을 gp2로 변경해야 합니다. 이러한 값을 변경하는 방법에 대한 자세한 내용은 아래에서 확인할 수 있습니다.
-
거의 infinite 규모를 제공하는 AWS 리전과 달리 AWS Outposts는 프로비저닝된 용량, EC2 제품군 및 생성, 인스턴스 크기, 다른 워크로드에서 아직 사용하지 않는 컴퓨팅 용량의 가용성에 의해 제한됩니다. 따라서 새 OpenShift Container Platform 클러스터를 생성할 때 구성 파일의
여러 클러스터를 설치하는 데 사용할 수 있도록
install-config.yaml
파일을 백업합니다.중요install-config.yaml
파일은 설치 과정에서 사용됩니다. 이 파일을 재사용하려면 지금 백업해야 합니다.
추가 리소스
15.8.1. AWS용 샘플 사용자 지정 install-config.yaml 파일
설치 구성 파일(install-config.yaml
)을 사용자 지정하여 OpenShift Container Platform 클러스터 플랫폼에 대한 자세한 정보를 지정하거나 필수 매개변수 값을 수정할 수 있습니다.
이 샘플 YAML 파일은 참조용으로만 제공됩니다. 설치 프로그램을 사용하여 install-config.yaml
파일을 받아서 수정해야 합니다.
apiVersion: v1 baseDomain: example.com 1 credentialsMode: Mint 2 controlPlane: 3 4 hyperthreading: Enabled 5 name: master platform: {} replicas: 3 compute: 6 - hyperthreading: Enabled 7 name: worker platform: aws: type: m5.large 8 zones: - us-east-1a 9 rootVolume: type: gp2 10 size: 120 replicas: 3 metadata: name: test-cluster 11 networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 machineNetwork: - cidr: 10.0.0.0/16 networkType: OVNKubernetes 12 serviceNetwork: - 172.30.0.0/16 platform: aws: region: us-west-2 13 propagateUserTags: true 14 userTags: adminContact: jdoe costCenter: 7536 subnets: 15 - subnet-1 - subnet-2 - subnet-3 sshKey: ssh-ed25519 AAAA... 16 pullSecret: '{"auths": ...}' 17
- 1 11 13 17
- 필수 항목입니다. 설치 프로그램에서 이 값을 입력하라는 메시지를 표시합니다.
- 2
- 선택 사항: 이 매개변수를 추가하여 CCO(Cloud Credential Operator)에서 지정된 모드를 사용하도록 강제 적용합니다. 기본적으로 CCO는
kube-system
네임스페이스의 root 인증 정보를 사용하여 인증 정보의 기능을 동적으로 확인합니다. CCO 모드에 대한 자세한 내용은 인증 및 권한 부여 가이드의 "Cloud Credential Operator 정보" 섹션을 참조하십시오. - 3 6 14
- 이러한 매개변수와 값을 지정하지 않으면 설치 프로그램은 기본값을 적용합니다.
- 4
controlPlane
섹션은 단일 매핑이지만compute
섹션은 일련의 매핑입니다. 서로 다른 데이터 구조의 요구사항을 충족하도록compute
섹션의 첫 번째 줄은 하이픈(-
)으로 시작해야 하며controlPlane
섹션의 첫 번째 줄은 하이픈으로 시작할 수 없습니다. 하나의 컨트롤 플레인 풀만 사용됩니다.- 5 7
- 동시 멀티스레딩 또는
hyperthreading
활성화/비활성화 여부를 지정합니다. 시스템 코어의 성능을 높이기 위해 기본적으로 동시 멀티스레딩이 활성화됩니다. 매개변수 값을Disabled
로 설정하여 비활성화할 수 있습니다. 일부 클러스터 시스템에서 동시 멀티스레딩을 비활성화할 경우에는 해당 멀티스레딩을 모든 클러스터 시스템에서 비활성화해야 합니다.중요동시 멀티스레딩을 비활성화하는 경우 용량 계획에서 시스템 성능이 크게 저하될 수 있는 문제를 고려해야 합니다. 동시 멀티스레딩을 비활성화하는 경우 시스템에 더 큰 인스턴스 유형(예:
m4.2xlarge
또는m5.2xlarge
)을 사용합니다. - 8
- AWS Outpost 인스턴스에서 실행되는 컴퓨팅 인스턴스의 경우 AWS Outpost 인스턴스에 지원되는 인스턴스 유형을 지정합니다.
- 9
- AWS Outpost 인스턴스에서 실행되는 컴퓨팅 인스턴스의 경우 Outpost 인스턴스가 있는 가용 영역을 지정합니다.
- 10
- AWS Outpost 인스턴스에서 실행되는 컴퓨팅 인스턴스의 경우 지원되지 않는 gp3 볼륨 유형을 사용하지 않도록 볼륨 유형 gp2를 지정합니다.
- 12
- 설치할 클러스터 네트워크 플러그인입니다. 지원되는 값은
OVNKubernetes
및OpenShiftSDN
입니다. 기본값은OVNKubernetes
입니다. - 15
- 자체 VPC를 제공하는 경우 클러스터가 사용하는 각 가용성 영역의 서브넷을 지정합니다.
- 16
- 선택사항으로, 클러스터의 시스템에 액세스하는 데 사용할
sshKey
값을 제공할 수도 있습니다.참고설치 디버깅 또는 재해 복구를 수행하려는 프로덕션 OpenShift Container Platform 클러스터의 경우
ssh-agent
프로세스가 사용하는 SSH 키를 지정합니다.
15.8.2. 클러스터에 기존 AWS 보안 그룹 적용
컨트롤 플레인 및 컴퓨팅 머신에 기존 AWS 보안 그룹을 적용하면 이러한 시스템의 수신 또는 발신 트래픽을 제어해야 하는 경우 조직의 보안 요구 사항을 충족하는 데 도움이 될 수 있습니다.
사전 요구 사항
- AWS에서 보안 그룹을 생성했습니다. 자세한 내용은 보안 그룹 작업에 대한 AWS 설명서를 참조하십시오.
- 보안 그룹은 클러스터를 배포하는 기존 VPC와 연결되어야 합니다. 보안 그룹은 다른 VPC와 연결할 수 없습니다.
-
기존
install-config.yaml
파일이 있습니다.
프로세스
-
install-config.yaml
파일에서compute.platform.aws.additionalSecurityGroupIDs
매개변수를 편집하여 컴퓨팅 머신에 대한 사용자 지정 보안 그룹을 하나 이상 지정합니다. -
controlPlane.platform.aws.additionalSecurityGroupIDs
매개변수를 편집하여 컨트롤 플레인 시스템에 대한 사용자 지정 보안 그룹을 하나 이상 지정합니다. - 파일을 저장하고 클러스터를 배포할 때 참조합니다.
사용자 지정 보안 그룹을 지정하는 샘플 install-config.yaml
파일
# ... compute: - hyperthreading: Enabled name: worker platform: aws: additionalSecurityGroupIDs: - sg-1 1 - sg-2 replicas: 3 controlPlane: hyperthreading: Enabled name: master platform: aws: additionalSecurityGroupIDs: - sg-3 - sg-4 replicas: 3 platform: aws: region: us-east-1 subnets: 2 - subnet-1 - subnet-2 - subnet-3