2.5.6. 설치 구성 파일 만들기

AWS(Amazon Web Services)에 설치하는 OpenShift Container Platform 클러스터를 사용자 지정할 수 있습니다.

사전 요구 사항

  • OpenShift Container Platform 설치 프로그램과 클러스터의 풀 시크릿을 받습니다.

프로세스

  1. install-config.yaml 파일을 생성합니다.

    1. 설치 프로그램이 포함된 디렉터리로 변경하고 다음 명령을 실행합니다.

      $ ./openshift-install create install-config --dir <installation_directory> 1
      1
      <installation_directory>는 설치 프로그램이 생성하는 파일을 저장할 디렉터리 이름을 지정합니다.
      중요

      비어 있는 디렉터리를 지정합니다. 부트스트랩 X.509 인증서와 같은 일부 설치 자산은 단기간에 만료되므로 설치 디렉터리를 재사용해서는 안 됩니다. 다른 클러스터 설치의 개별 파일을 재사용하려면 해당 파일을 사용자 디렉터리에 복사하면 됩니다. 그러나 설치 자산의 파일 이름은 릴리스간에 변경될 수 있습니다. 따라서 이전 OpenShift Container Platform 버전에서 설치 파일을 복사할 때는 주의하십시오.

    2. 화면에 나타나는 지시에 따라 클라우드에 대한 구성 세부 사항을 입력합니다.

      1. 선택 사항: 클러스터 시스템에 액세스하는 데 사용할 SSH 키를 선택합니다.

        참고

        설치 디버깅 또는 재해 복구를 수행하려는 프로덕션 OpenShift Container Platform 클러스터의 경우 ssh-agent 프로세스가 사용하는 SSH 키를 지정합니다.

      2. 대상 플랫폼으로 AWS를 선택합니다.
      3. 컴퓨터에 AWS(Amazon Web Services) 프로필이 저장되어 있지 않은 경우 설치 프로그램을 실행하도록 구성한 사용자의 AWS 액세스 키 ID와 시크릿 액세스 키를 입력합니다.
      4. 클러스터를 배포할 AWS 리전을 선택합니다.
      5. 클러스터에 대해 구성한 Route53 서비스의 기본 도메인을 선택합니다.
      6. 클러스터를 설명할 수 있는 이름을 입력합니다.
      7. Red Hat OpenShift Cluster Manager에서 풀 시크릿 을 붙여넣습니다.
  2. install-config.yaml 파일을 수정합니다. 사용 가능한 매개변수에 대한 자세한 정보는 Installation configuration parameters 섹션에서 확인할 수 있습니다.
  3. 여러 클러스터를 설치하는 데 사용할 수 있도록 install-config.yaml 파일을 백업합니다.

    중요

    install-config.yaml 파일은 설치 과정에서 사용됩니다. 이 파일을 재사용하려면 지금 백업해야 합니다.

2.5.6.1. 설치 구성 매개변수

OpenShift Container Platform 클러스터를 배포하기 전에 매개변수 값을 제공하여 클러스터를 호스팅할 클라우드 플랫폼에서 사용자 계정을 설명하고 선택사항으로 클러스터의 플랫폼을 사용자 지정합니다. install-config.yaml 설치 구성 파일을 생성할 때 명령줄을 통해 필요한 매개변수 값을 제공합니다. 클러스터를 사용자 지정하면 install-config.yaml 파일을 수정하여 플랫폼에 대한 세부 정보를 제공할 수 있습니다.

참고

설치한 후에는 install-config.yaml 파일에서 이러한 매개변수를 수정할 수 없습니다.

중요

openshift-install 명령은 매개변수의 필드 이름을 검증하지 않습니다. 잘못된 이름이 지정되면 관련 파일 또는 오브젝트가 생성되지 않으며 오류가 보고되지 않습니다. 지정된 매개변수의 필드 이름이 올바른지 확인합니다.

2.5.6.1.1. 필수 구성 매개변수

필수 설치 구성 매개변수는 다음 표에 설명되어 있습니다.

표 2.5. 필수 매개 변수

매개변수설명

apiVersion

install-config.yaml 콘텐츠의 API 버전입니다. 현재 버전은 v1입니다. 설치 관리자가 이전 API 버전도 지원할 수 있습니다.

문자열

baseDomain

클라우드 공급자의 기본 도메인입니다. 기본 도메인은 OpenShift Container Platform 클러스터 구성 요소에 대한 경로를 생성하는 데 사용됩니다. 클러스터의 전체 DNS 이름은 baseDomainmetadata.name 매개변수 값의 조합으로, <metadata.name>.<baseDomain> 형식입니다.

정규화된 도메인 또는 하위 도메인 이름(예: example.com).

metadata

Kubernetes 리소스 ObjectMetaname 매개변수만 사용합니다.

개체

metadata.name

클러스터의 이름입니다. 클러스터의 DNS 레코드는 {{.metadata.name}}.{{. baseDomain}} 형식의 모든 하위 도메인입니다.

소문자, 하이픈(-), 마침표(.)로 구성되는 문자열(예: dev)입니다.

platform

설치를 수행하는 특정 플랫폼에 대한 구성(aws, baremetal, azure, openstack, ovirt, vsphere)입니다. platform.<platform> 매개변수에 대한 자세한 내용은 다음 표에서 사용자 플랫폼에 해당하는 정보를 참조하십시오.

개체

pullSecret

Red Hat OpenShift Cluster Manager에서 풀 시크릿 을 가져와서 Quay.io와 같은 서비스에서 OpenShift Container Platform 구성 요소의 컨테이너 이미지 다운로드를 인증합니다.

{
   "auths":{
      "cloud.openshift.com":{
         "auth":"b3Blb=",
         "email":"you@example.com"
      },
      "quay.io":{
         "auth":"b3Blb=",
         "email":"you@example.com"
      }
   }
}
2.5.6.1.2. 네트워크 구성 매개변수

기존 네트워크 인프라의 요구 사항에 따라 설치 구성을 사용자 지정할 수 있습니다. 예를 들어 클러스터 네트워크의 IP 주소 블록을 확장하거나 기본값과 다른 IP 주소 블록을 제공할 수 있습니다.

IPv4 주소만 지원됩니다.

표 2.6. 네트워크 매개변수

매개변수설명

networking

클러스터의 네트워크의 구성입니다.

개체

참고

설치한 후에는 networking 오브젝트에서 지정된 매개변수를 수정할 수 없습니다.

networking.networkType

설치할 클러스터 네트워크 제공자 CNI(Container Network Interface) 플러그인입니다.

OpenShiftSDN 또는 OVNKubernetes 중 하나이며, 기본값은 OpenShiftSDN입니다.

networking.clusterNetwork

Pod의 IP 주소 블록입니다.

기본값은 10.128.0.0/14이며, 호스트 접두사는 /23입니다.

여러 IP 주소 블록을 지정하는 경우 블록이 겹치지 않아야 합니다.

개체의 배열입니다. 예를 들면 다음과 같습니다.

networking:
  clusterNetwork:
  - cidr: 10.128.0.0/14
    hostPrefix: 23

networking.clusterNetwork.cidr

networking.clusterNetwork를 사용하는 경우 필수 항목입니다. IP 주소 블록입니다.

IPv4 네트워크입니다.

CIDR(Classless Inter-Domain Routing) 표기법의 IP 주소 블록입니다. IPv4 블록의 접두사 길이는 0 에서 32 사이입니다.

networking.clusterNetwork.hostPrefix

개별 노드 각각에 할당할 서브넷 접두사 길이입니다. 예를 들어 hostPrefix23으로 설정하는 경우, 지정된 cidr 이외 /23 서브넷이 각 노드에 할당됩니다. 23hostPrefix 값은 510(2^(32 - 23) - 2) Pod IP 주소를 제공합니다.

서브넷 접두사입니다.

기본값은 23입니다.

networking.serviceNetwork

서비스의 IP 주소 블록입니다. 기본값은 172.30.0.0/16입니다.

OpenShift SDN 및 OVN-Kubernetes 네트워크 공급자는 서비스 네트워크에 대한 단일 IP 주소 블록만 지원합니다.

CIDR 형식의 IP 주소 블록이 있는 어레이입니다. 예를 들면 다음과 같습니다.

networking:
  serviceNetwork:
   - 172.30.0.0/16

networking.machineNetwork

시스템의 IP 주소 블록입니다.

여러 IP 주소 블록을 지정하는 경우 블록이 겹치지 않아야 합니다.

개체의 배열입니다. 예를 들면 다음과 같습니다.

networking:
  machineNetwork:
  - cidr: 10.0.0.0/16

networking.machineNetwork.cidr

networking.machineNetwork를 사용하는 경우 필수 항목입니다. IP 주소 블록입니다. libvirt를 제외한 모든 플랫폼의 기본값은 10.0.0.0/16입니다. libvirt의 기본값은 192.168.126.0/24입니다.

CIDR 표기법의 IP 네트워크 블록입니다.

예: 10.0.0.0/16

참고

기본 NIC가 상주하는 CIDR과 일치하도록 networking.machineNetwork를 설정합니다.

2.5.6.1.3. 선택적 구성 매개변수

선택적 설치 구성 매개변수는 다음 표에 설명되어 있습니다.

표 2.7. 선택적 매개변수

매개변수설명

additionalTrustBundle

노드의 신뢰할 수 있는 인증서 스토리지에 추가되는 PEM 인코딩 X.509 인증서 번들입니다. 이 신뢰할 수 있는 번들은 프록시가 구성되었을 때에도 사용할 수 있습니다.

문자열

compute

컴퓨팅 노드를 구성하는 시스템의 구성입니다.

시스템 풀 개체의 배열입니다. 자세한 내용은 다음의 "시스템 풀" 표를 참조하십시오.

compute.architecture

풀에 있는 시스템의 명령어 집합 아키텍처를 결정합니다. 이기종 클러스터는 현재 지원되지 않으므로 모든 풀이 동일한 아키텍처를 지정해야 합니다. 유효한 값은 amd64(기본값)입니다.

문자열

compute.hyperthreading

컴퓨팅 시스템에서 동시 멀티스레딩 또는 hyperthreading 활성화 또는 비활성화 여부를 지정합니다. 시스템 코어의 성능을 높이기 위해 기본적으로 동시 멀티스레딩이 활성화됩니다.

중요

동시 멀티스레딩을 비활성화하는 경우 용량 계획에서 시스템 성능이 크게 저하될 수 있는 문제를 고려해야 합니다.

Enabled 또는 Disabled

compute.name

compute를 사용하는 경우 필수 항목입니다. 시스템 풀의 이름입니다.

worker

compute.platform

compute를 사용하는 경우 필수 항목입니다. 이 매개변수를 사용하여 작업자 시스템을 호스팅할 클라우드 공급자를 지정합니다. 이 매개변수 값은 controlPlane.platform 매개변수 값과 일치해야 합니다

aws, azure, gcp, openstack, ovirt, vsphere 또는 {}

compute.replicas

프로비저닝할 컴퓨팅 시스템(작업자 시스템이라고도 함) 수입니다.

2 이상의 양의 정수이며, 기본값은 3입니다.

controlPlane

컨트롤 플레인을 구성하는 시스템들의 구성입니다.

MachinePool 개체의 배열입니다. 자세한 내용은 다음의 "시스템 풀" 표를 참조하십시오.

controlPlane.architecture

풀에 있는 시스템의 명령어 집합 아키텍처를 결정합니다. 현재 이기종 클러스터는 지원되지 않으므로 모든 풀에서 동일한 아키텍처를 지정해야 합니다. 유효한 값은 amd64(기본값)입니다.

문자열

controlPlane.hyperthreading

컨트롤 플레인 시스템에서 동시 멀티스레딩 또는 hyperthreading 활성화 또는 비활성화 여부를 지정합니다. 시스템 코어의 성능을 높이기 위해 기본적으로 동시 멀티스레딩이 활성화됩니다.

중요

동시 멀티스레딩을 비활성화하는 경우 용량 계획에서 시스템 성능이 크게 저하될 수 있는 문제를 고려해야 합니다.

Enabled 또는 Disabled

controlPlane.name

controlPlane을 사용하는 경우 필수 항목입니다. 시스템 풀의 이름입니다.

master

controlPlane.platform

controlPlane을 사용하는 경우 필수 항목입니다. 이 매개변수를 사용하여 컨트롤 플레인 시스템을 호스팅하는 클라우드 공급자를 지정합니다. 이 매개변수 값은 compute.platform 매개변수 값과 일치해야 합니다.

aws, azure, gcp, openstack, ovirt, vsphere 또는 {}

controlPlane.replicas

프로비저닝하는 컨트롤 플레인 시스템의 수입니다.

지원되는 유일한 값은 기본값인 3입니다.

credentialsMode

Cloud Credential Operator (CCO) 모드입니다. 모드가 지정되지 않은 경우 CCO는 여러 모드가 지원되는 플랫폼에서 Mint 모드가 우선으로 되어 지정된 인증 정보의 기능을 동적으로 확인하려고합니다.

참고

모든 클라우드 공급자에서 모든 CCO 모드가 지원되는 것은 아닙니다. CCO 모드에 대한 자세한 내용은 Red Hat OperatorsCloud Credential Operator를 참조하십시오.

Mint, Passthrough, Manual 또는 빈 문자열 ("").

fips

FIPS 모드를 활성화 또는 비활성화합니다. 기본값은 false(비활성화)입니다. FIPS 모드가 활성화되면 OpenShift Container Platform이 실행되는 RHCOS(Red Hat Enterprise Linux CoreOS) 시스템에서 기본 Kubernetes 암호화 제품군은 우회하고 RHCOS와 함께 제공되는 암호화 모듈을 대신 사용합니다.

중요

FIPS 검증 / 진행중인 모듈 암호화 라이브러리 사용은 x86_64 아키텍처의 OpenShift Container Platform 배포에서만 지원됩니다.

참고

Azure File 스토리지를 사용하는 경우 FIPS 모드를 활성화할 수 없습니다.

false 또는 true

imageContentSources

릴리스 이미지 내용의 소스 및 리포지토리입니다.

개체의 배열입니다. 이 표의 다음 행에 설명된 대로 sourcemirrors(선택사항)가 포함됩니다.

imageContentSources.source

imageContentSources를 사용하는 경우 필수 항목입니다. 예를 들어 이미지 가져오기 사양에서 사용자가 가리키는 리포지토리를 지정합니다.

문자열

imageContentSources.mirrors

동일한 이미지를 포함할 수도 있는 하나 이상의 리포지토리를 지정합니다.

문자열 배열

publish

Kubernetes API, OpenShift 경로와 같이 클러스터의 사용자 끝점을 게시하거나 노출하는 방법입니다.

Internal 또는 External입니다. 인터넷에서 액세스할 수 없는 사설 클러스터를 배포하려면 publishInternal로 설정합니다. 기본값은 External입니다.

sshKey

클러스터 시스템 액세스 인증에 필요한 하나 이상의 SSH 키입니다.

참고

설치 디버깅 또는 재해 복구를 수행하려는 프로덕션 OpenShift Container Platform 클러스터의 경우 ssh-agent 프로세스가 사용하는 SSH 키를 지정합니다.

하나 이상의 키입니다. 예를 들면 다음과 같습니다.

sshKey:
  <key1>
  <key2>
  <key3>
2.5.6.1.4. 선택적 AWS 구성 매개변수

선택적 AWS 구성 매개변수는 다음 표에 설명되어 있습니다.

표 2.8. 선택적 AWS 매개변수

매개변수설명

compute.platform.aws.amiID

클러스터의 컴퓨팅 머신을 부팅하는 데 사용되는 AWS AMI입니다. 이는 사용자 지정 RHCOS AMI가 필요한 리전에 필요합니다.

설정된 AWS 리전에 속하는 게시된 또는 사용자 지정 RHCOS AMI.

compute.platform.aws.rootVolume.iops

루트 볼륨용으로 예약된 IOPS(초당 입/출력 작업)입니다.

정수(예: 4000)

compute.platform.aws.rootVolume.size

루트 볼륨의 크기(GiB)입니다.

정수(예: 500)

compute.platform.aws.rootVolume.type

루트 볼륨의 유형입니다.

유효한 AWS EBS 볼륨 유형 (예:io1)

compute.platform.aws.rootVolume.kmsKeyARN

KMS 키의 Amazon 리소스 이름(키 ARN)입니다. 이는 특정 KMS 키를 사용하여 작업자 노드의 OS 볼륨을 암호화하는 데 필요합니다.

유효한 키 ID 또는 키 ARN 입니다.

compute.platform.aws.type

컴퓨팅 시스템의 EC2 인스턴스 유형입니다.

유효한 AWS 인스턴스 유형(예: c5.9xlarge)

compute.platform.aws.zones

설치 프로그램이 컴퓨팅 머신 풀에 필요한 시스템을 생성하는 가용성 영역입니다. 자체 VPC를 제공하는 경우 해당 가용성 영역에 서브넷을 제공해야 합니다.

us-east-1c와 같이 YAML 시퀀스로 표시되는 유효한 AWS 가용성 영역의 목록입니다.

compute.aws.region

설치 프로그램이 컴퓨팅 리소스를 생성하는 AWS 리전입니다.

유효한 모든 AWS 리전(예: us-east-1)

controlPlane.platform.aws.amiID

클러스터의 컨트롤 플레인 시스템을 시작하는 데 사용되는 AWS AMI입니다. 이는 사용자 지정 RHCOS AMI가 필요한 리전에 필요합니다.

설정된 AWS 리전에 속하는 게시된 또는 사용자 지정 RHCOS AMI.

controlPlane.platform.aws.rootVolume.kmsKeyARN

KMS 키의 Amazon 리소스 이름(키 ARN)입니다. 이는 특정 KMS 키를 사용하여 컨트롤 플레인 노드의 OS 볼륨을 암호화하는 데 필요합니다.

유효한 키 ID 및 키 ARN.

controlPlane.platform.aws.type

컨트롤 플레인 시스템의 EC2 인스턴스 유형입니다.

유효한 AWS 인스턴스 유형(예: c5.9xlarge)

controlPlane.platform.aws.zones

설치 프로그램이 컨트롤 플레인 시스템 풀에 필요한 시스템을 생성하는 가용성 영역입니다.

us-east-1c와 같이 YAML 시퀀스로 표시되는 유효한 AWS 가용성 영역의 목록입니다.

controlPlane.aws.region

설치 프로그램이 컨트롤 플레인 리소스를 생성하는 AWS 리전입니다.

유효한 AWS 리전(예: us-east-1)

platform.aws.amiID

클러스터의 모든 머신을 부팅하는 데 사용되는 AWS AMI입니다. 설정된 경우 AMI는 클러스터와 동일한 리전에 속해 있어야 합니다. 이는 사용자 지정 RHCOS AMI가 필요한 리전에 필요합니다.

설정된 AWS 리전에 속하는 게시된 또는 사용자 지정 RHCOS AMI.

platform.aws.serviceEndpoints.name

AWS 서비스 엔드 포인트 이름. 사용자 지정 엔드 포인트는 FIPS와 같은 대체 AWS 엔드 포인트를 사용해야하는 경우에만 필요합니다. EC2, S3, IAM, Elastic Load Balancing, Tagging, Route 53 및 STS AWS 서비스에 대해 사용자 지정 API 엔드 포인트를 지정할 수 있습니다.

유효한 AWS 서비스 엔드 포인트 이름.

platform.aws.serviceEndpoints.url

AWS 서비스 엔드 포인트 URL. URL은 https 프로토콜을 사용해야하며 호스트는 인증서를 신뢰해야 합니다.

유효한 AWS 서비스 엔드 포인트 URL.

platform.aws.userTags

설치 프로그램이 생성하는 모든 리소스에 태그로 추가하는 키와 값의 맵입니다.

유효한 YAML 맵(예: <key>: <value> 형식의 키 값 쌍) AWS 태그에 대한 자세한 내용은 AWS 문서의 Amazon EC2 리소스 태그 지정을 참조하십시오.

platform.aws.subnets

설치 프로그램이 VPC를 자동으로 생성하지 않고 VPC를 직접 제공하는 경우 사용할 클러스터의 서브넷을 지정합니다. 서브넷은 사용자가 지정하는 동일한 machineNetwork[].cidr 범위의 일부여야 합니다. 표준 클러스터의 경우 각 가용성 영역의 퍼블릭 및 프라이빗 서브넷을 지정합니다. 개인 클러스터의 경우 각 가용성 영역의 프라이빗 서브넷을 지정합니다.

유효한 서브넷 ID.