1.6.6. 설치 구성 파일 만들기

GCP(Google Cloud Platform)에 설치하는 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. 대상 플랫폼으로 gcp를 선택합니다.
      3. 사용자 컴퓨터에 GCP 계정의 서비스 계정 키가 구성되어 있지 않은 경우, GCP에서 해당 키를 가져와 파일의 내용을 붙여 넣거나 파일의 전체 경로를 입력해야 합니다.
      4. 클러스터를 프로비저닝할 프로젝트 ID를 선택합니다. 구성한 서비스 계정에 의해 기본값이 지정됩니다.
      5. 클러스터를 배포할 리전을 선택합니다.
      6. 클러스터를 배포할 기본 도메인을 선택합니다. 기본 도메인은 클러스터용으로 생성한 퍼블릭 DNS 영역에 해당합니다.
      7. 클러스터를 설명할 수 있는 이름을 입력합니다.
      8. Red Hat OpenShift Cluster Manager에서 풀 시크릿 을 붙여넣습니다.
  2. install-config.yaml 파일을 수정합니다. 사용 가능한 매개변수에 대한 자세한 정보는 Installation configuration parameters 섹션에서 확인할 수 있습니다.
  3. 여러 클러스터를 설치하는 데 사용할 수 있도록 install-config.yaml 파일을 백업합니다.

    중요

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

1.6.6.1. 설치 구성 매개변수

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

참고

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

중요

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

1.6.6.1.1. 필수 구성 매개변수

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

표 1.17. 필수 매개 변수

매개변수설명

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"
      }
   }
}
1.6.6.1.2. 네트워크 구성 매개변수

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

IPv4 주소만 지원됩니다.

표 1.18. 네트워크 매개변수

매개변수설명

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를 설정합니다.

1.6.6.1.3. 선택적 구성 매개변수

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

표 1.19. 선택적 매개변수

매개변수설명

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>
1.6.6.1.4. 추가 GCP(Google Cloud Platform) 구성 매개변수

추가 GCP 구성 매개변수는 다음 표에 설명되어 있습니다.

표 1.20. 추가 GCP 매개변수

매개변수설명

platform.gcp.network

클러스터를 배포할 기존 VPC의 이름입니다.

문자열.

platform.gcp.region

클러스터를 호스팅하는 GCP 리전의 이름입니다.

유효한 리전 이름 (예: us-central1)

platform.gcp.type

GCP 시스템 유형

GCP 시스템 유형입니다.

platform.gcp.zones

설치 프로그램에서 지정된 MachinePool에 대한 시스템을 생성하는 가용 영역입니다.

us-central1-a와 같이 유효한 GCP 가용 영역 목록에 YAML 순서로 나열됩니다.

platform.gcp.controlPlaneSubnet

컨트롤 플레인 시스템을 배포할 VPC의 기존 서브넷 이름

서브넷 이름입니다.

platform.gcp.computeSubnet

컴퓨팅 시스템을 배포할 VPC의 기존 서브넷 이름

서브넷 이름입니다.

platform.gcp.licenses

컴퓨팅 이미지에 적용해야 하는 라이센스 URL 목록입니다.

중요

license 매개변수 는 더 이상 사용되지 않는 필드이며 중첩된 가상화는 기본적으로 활성화되어 있습니다. 이 필드를 사용하지 않는 것이 좋습니다.

라이센스와 같은 라이센스를 사용하여 중첩된 가상화 활성화와 같은 라이센스를 사용할 수 있습니다. 이 매개변수는 사전 빌드된 이미지를 생성하는 메커니즘과 함께 사용할 수 없습니다. 라이센스 URL을 사용하면 설치 프로그램이 사용하기 전에 소스 이미지를 복사해야 합니다.

platform.gcp.osDisk.diskSizeGB

디스크 크기(GB)입니다.

16GB 및 65536GB 사이의 모든 크기.

platform.gcp.osDisk.diskType

디스크 유형입니다.

기본 pd-ssd 또는 pd-standard 디스크 유형입니다. 컨트롤 플레인 노드는 pd-ssd 디스크 유형이어야 합니다. 작업자 노드는 유형 중 하나일 수 있습니다.