9.7. 수동으로 설치 구성 파일 만들기


클러스터를 설치하려면 설치 구성 파일을 수동으로 생성해야 합니다.

사전 요구 사항

  • OpenShift Container Platform 설치 프로그램과 클러스터의 풀 시크릿이 있습니다.
  • 레지스트리를 미러링할 때 생성된 imageContentSourcePolicy.yaml 파일이 있습니다.
  • 미러 레지스트리에 대한 인증서의 콘텐츠를 가져왔습니다.

프로세스

  1. 필요한 설치 자산을 저장할 설치 디렉터리를 만듭니다.

    $ mkdir <installation_directory>
    Copy to Clipboard Toggle word wrap
    중요

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

  2. 샘플 install-config.yaml 파일 템플릿을 사용자 지정하여 <installation_directory>에 저장합니다.

    참고

    이 설정 파일의 이름을 install-config.yaml로 지정해야 합니다.

    샘플 템플릿을 사용자 정의할 때 제한된 네트워크에 설치하는 데 필요한 정보를 제공해야 합니다.

    1. 레지스트리의 인증 정보를 포함하도록 pullSecret 값을 업데이트합니다.

      pullSecret: '{"auths":{"<mirror_host_name>:5000": {"auth": "<credentials>","email": "you@example.com"}}}'
      Copy to Clipboard Toggle word wrap

      <mirror_host_name>의 경우 미러 레지스트리의 인증서에 지정한 레지스트리 도메인 이름을 지정하고 <credentials>의 경우 미러 레지스트리에 base64로 인코딩된 사용자 이름 및 암호를 지정합니다.

    2. additionalTrustBundle 매개변수와 값을 추가합니다.

      additionalTrustBundle: |
        -----BEGIN CERTIFICATE-----
        ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
        -----END CERTIFICATE-----
      Copy to Clipboard Toggle word wrap

      값은 미러 레지스트리에 사용한 인증서 파일의 내용이어야 합니다. 인증서 파일은 신뢰할 수 있는 기존 인증 기관 또는 미러 레지스트리에 대해 생성한 자체 서명 인증서일 수 있습니다.

    3. 상위 platform.ibmcloud 필드 아래에 클러스터를 설치할 VPC의 네트워크 및 서브넷을 정의합니다.

      vpcName: <existing_vpc>
      controlPlaneSubnets: <control_plane_subnet>
      computeSubnets: <compute_subnet>
      Copy to Clipboard Toggle word wrap

      platform.ibmcloud.vpcName 의 경우 기존 IBM Cloud VPC(Virtual Private Cloud) 네트워크의 이름을 지정합니다. platform.ibmcloud.controlPlaneSubnetsplatform.ibmcloud.computeSubnets 의 경우 각각 컨트롤 플레인 시스템과 컴퓨팅 시스템을 배포할 기존 서브넷을 지정합니다.

    4. 다음 YAML 발췌와 유사한 이미지 콘텐츠 리소스를 추가합니다.

      imageContentSources:
      - mirrors:
        - <mirror_host_name>:5000/<repo_name>/release
        source: quay.io/openshift-release-dev/ocp-release
      - mirrors:
        - <mirror_host_name>:5000/<repo_name>/release
        source: registry.redhat.io/ocp/release
      Copy to Clipboard Toggle word wrap

      이러한 값의 경우 레지스트리를 미러링할 때 생성된 imageContentSourcePolicy.yaml 파일을 사용합니다.

    5. 네트워크 제한으로 필요한 IBM Cloud® 서비스에 액세스하는 공용 끝점 사용을 제한하는 경우 serviceEndpoints 스탠자를 platform.ibmcloud 를 추가하여 대체 서비스 엔드포인트를 지정합니다.

      참고

      각 서비스에 대해 하나의 대체 서비스 끝점만 지정할 수 있습니다.

      대체 서비스 끝점 사용 예

      # ...
      serviceEndpoints:
        - name: IAM
          url: <iam_alternate_endpoint_url>
        - name: VPC
          url: <vpc_alternate_endpoint_url>
        - name: ResourceController
          url: <resource_controller_alternate_endpoint_url>
        - name: ResourceManager
          url: <resource_manager_alternate_endpoint_url>
        - name: DNSServices
          url: <dns_services_alternate_endpoint_url>
        - name: COS
          url: <cos_alternate_endpoint_url>
        - name: GlobalSearch
          url: <global_search_alternate_endpoint_url>
        - name: GlobalTagging
          url: <global_tagging_alternate_endpoint_url>
      # ...
      Copy to Clipboard Toggle word wrap

    6. 선택사항: 게시 전략을 Internal로 설정합니다.

      publish: Internal
      Copy to Clipboard Toggle word wrap

      이 옵션을 설정하여 내부 Ingress Controller 및 프라이빗 로드 밸런서를 생성합니다.

      참고

      기본값을 사용하는 경우 외부 값을 사용하는 경우 네트워크가 IBM Cloud® 인터넷 서비스(CIS)의 공용 엔드포인트에 액세스할 수 있어야 합니다. CIS는 가상 프라이빗 엔드 포인트에 대해 활성화되지 않습니다.

  3. 여러 클러스터를 설치하는 데 사용할 수 있도록 install-config.yaml 파일을 백업합니다.

    중요

    install-config.yaml 파일은 설치 과정의 다음 단계에서 사용됩니다. 이 시점에서 이를 백업해야 합니다.

9.7.1. 설치 중 클러스터 단위 프록시 구성

프로덕션 환경에서는 인터넷에 대한 직접 액세스를 거부하고 대신 HTTP 또는 HTTPS 프록시를 사용할 수 있습니다. install-config.yaml 파일에서 프록시 설정을 구성하여 프록시가 사용되도록 새 OpenShift Container Platform 클러스터를 구성할 수 있습니다.

사전 요구 사항

  • 기존 install-config.yaml 파일이 있습니다.
  • 클러스터에서 액세스해야 하는 사이트를 검토하고 프록시를 바이패스해야 하는지 확인했습니다. 기본적으로 호스팅 클라우드 공급자 API에 대한 호출을 포함하여 모든 클러스터 발신(Egress) 트래픽이 프록시됩니다. 필요한 경우 프록시를 바이패스하기 위해 Proxy 오브젝트의 spec.noProxy 필드에 사이트를 추가했습니다.

    참고

    Proxy 오브젝트의 status.noProxy 필드는 설치 구성에 있는 networking.machineNetwork[].cidr, networking.clusterNetwork[].cidr, networking.serviceNetwork[] 필드의 값으로 채워집니다.

    AWS(Amazon Web Services), GCP(Google Cloud Platform), Microsoft Azure 및 RHOSP(Red Hat OpenStack Platform)에 설치하는 경우 프록시 오브젝트 status.noProxy 필드도 인스턴스 메타데이터 끝점(169.254.169.254)으로 채워집니다.

프로세스

  1. install-config.yaml 파일을 편집하고 프록시 설정을 추가합니다. 예를 들면 다음과 같습니다.

    apiVersion: v1
    baseDomain: my.domain.com
    proxy:
      httpProxy: http://<username>:<pswd>@<ip>:<port> 
    1
    
      httpsProxy: https://<username>:<pswd>@<ip>:<port> 
    2
    
      noProxy: example.com 
    3
    
    additionalTrustBundle: | 
    4
    
        -----BEGIN CERTIFICATE-----
        <MY_TRUSTED_CA_CERT>
        -----END CERTIFICATE-----
    additionalTrustBundlePolicy: <policy_to_add_additionalTrustBundle> 
    5
    Copy to Clipboard Toggle word wrap
    1
    클러스터 외부에서 HTTP 연결을 구축하는 데 사용할 프록시 URL입니다. URL 스키마는 http여야 합니다.
    2
    클러스터 외부에서 HTTPS 연결을 구축하는 데 사용할 프록시 URL입니다.
    3
    대상 도메인 이름, IP 주소 또는 프록시에서 제외할 기타 네트워크 CIDR로 이루어진 쉼표로 구분된 목록입니다. 하위 도메인과 일치하려면 도메인 앞에 .을 입력합니다. 예를 들어, .y.comx.y.com과 일치하지만 y.com은 일치하지 않습니다. *를 사용하여 모든 대상에 대해 프록시를 바이패스합니다.
    4
    이 값을 제공하면 설치 프로그램에서 HTTPS 연결을 프록시하는 데 필요한 추가 CA 인증서가 하나 이상 포함된 openshift-config 네임스페이스에 user-ca-bundle이라는 이름으로 구성 맵을 생성합니다. 그러면 CNO(Cluster Network Operator)에서 이러한 콘텐츠를 RHCOS(Red Hat Enterprise Linux CoreOS) 신뢰 번들과 병합하는 trusted-ca-bundle 구성 맵을 생성합니다. 이 구성 맵은 Proxy 오브젝트의 trustedCA 필드에서 참조됩니다. 프록시의 ID 인증서를 RHCOS 트러스트 번들에 있는 기관에서 서명하지 않은 경우 additionalTrustBundle 필드가 있어야 합니다.
    5
    선택 사항: trustedCA 필드에서 user-ca-bundle 구성 맵을 참조할 프록시 오브젝트의 구성을 결정하는 정책입니다. 허용되는 값은 ProxyonlyAlways 입니다. http/https 프록시가 구성된 경우에만 user-ca-bundle 구성 맵을 참조하려면 Proxyonly 를 사용합니다. Always를 사용하여 user-ca-bundle 구성 맵을 항상 참조합니다. 기본값은 Proxyonly 입니다.
    참고

    설치 프로그램에서 프록시 adinessEndpoints 필드를 지원하지 않습니다.

    참고

    설치 프로그램이 시간 초과되면 설치 프로그램의 wait-for 명령을 사용하여 배포를 다시 시작한 다음 완료합니다. 예를 들면 다음과 같습니다.

    $ ./openshift-install wait-for install-complete --log-level debug
    Copy to Clipboard Toggle word wrap
  2. 파일을 저장해 놓고 OpenShift Container Platform을 설치할 때 참조하십시오.

제공되는 install-config.yaml 파일의 프록시 설정을 사용하는 cluster라는 이름의 클러스터 전체 프록시가 설치 프로그램에 의해 생성됩니다. 프록시 설정을 제공하지 않아도 cluster Proxy 오브젝트는 계속 생성되지만 spec은 nil이 됩니다.

참고

cluster라는 Proxy 오브젝트만 지원되며 추가 프록시는 생성할 수 없습니다.

9.7.2. 클러스터 설치를 위한 최소 리소스 요구 사항

각 클러스터 시스템이 다음과 같은 최소 요구사항을 충족해야 합니다.

Expand
표 9.1. 최소 리소스 요구사항
머신운영 체제vCPU가상 RAM스토리지초당 입력/출력(IOPS)

부트스트랩

RHCOS

4

16GB

100GB

300

컨트롤 플레인

RHCOS

4

16GB

100GB

300

Compute

RHCOS

2

8GB

100GB

300

참고

OpenShift Container Platform 버전 4.19의 경우 RHCOS는 마이크로 아키텍처 요구 사항을 업데이트하는 RHEL 버전 9.6을 기반으로 합니다. 다음 목록에는 각 아키텍처에 필요한 최소 명령 세트 아키텍처(ISA)가 포함되어 있습니다.

  • x86-64 아키텍처에는 x86-64-v2 ISA가 필요합니다.
  • ARM64 아키텍처에는 ARMv8.0-A ISA가 필요합니다.
  • IBM Power 아키텍처에는 Power 9 ISA가 필요합니다.
  • s390x 아키텍처에는 z14 ISA가 필요합니다.

자세한 내용은 아키텍처 (RHEL 문서)를 참조하십시오.

플랫폼의 인스턴스 유형이 클러스터 머신의 최소 요구 사항을 충족하는 경우 OpenShift Container Platform에서 사용할 수 있습니다.

9.7.3. IBM Cloud에서 테스트된 인스턴스 유형

다음 IBM Cloud® 인스턴스 유형은 OpenShift Container Platform에서 테스트되었습니다.

예 9.1. 머신 시리즈

  • bx2-8x32
  • bx2d-4x16
  • bx3d-4x20
  • bx3dc-8x40
  • cx2-8x16
  • cx2d-4x8
  • cx3d-8x20
  • cx3dc-4x10
  • gx2-8x64x1v100
  • gx3-16x80x1l4
  • gx3d-160x1792x8h100
  • mx2-8x64
  • mx2d-4x32
  • mx3d-4x40
  • ox2-8x64
  • ux2d-2x56
  • vx2d-4x56

9.7.4. IBM Cloud용 사용자 지정 install-config.yaml 파일 샘플

install-config.yaml 파일을 사용자 지정하여 OpenShift Container Platform 클러스터 플랫폼에 대한 자세한 정보를 지정하거나 필수 매개변수 값을 수정할 수 있습니다.

중요

이 샘플 YAML 파일은 참조용으로만 제공됩니다. 설치 프로그램을 사용하여 install-config.yaml 파일을 가져온 다음 수정해야 합니다.

apiVersion: v1
baseDomain: example.com 
1

controlPlane: 
2
 
3

  hyperthreading: Enabled 
4

  name: master
  platform:
    ibm-cloud: {}
  replicas: 3
compute: 
5
 
6

- hyperthreading: Enabled 
7

  name: worker
  platform:
    ibmcloud: {}
  replicas: 3
metadata:
  name: test-cluster 
8

networking:
  clusterNetwork:
  - cidr: 10.128.0.0/14 
9

    hostPrefix: 23
  machineNetwork:
  - cidr: 10.0.0.0/16 
10

  networkType: OVNKubernetes 
11

  serviceNetwork:
  - 172.30.0.0/16
platform:
  ibmcloud:
    region: us-east 
12

    resourceGroupName: us-east-example-cluster-rg 
13

    serviceEndpoints: 
14

      - name: IAM
        url: https://private.us-east.iam.cloud.ibm.com
      - name: VPC
        url: https://us-east.private.iaas.cloud.ibm.com/v1
      - name: ResourceController
        url: https://private.us-east.resource-controller.cloud.ibm.com
      - name: ResourceManager
        url: https://private.us-east.resource-controller.cloud.ibm.com
      - name: DNSServices
        url: https://api.private.dns-svcs.cloud.ibm.com/v1
      - name: COS
        url: https://s3.direct.us-east.cloud-object-storage.appdomain.cloud
      - name: GlobalSearch
        url: https://api.private.global-search-tagging.cloud.ibm.com
      - name: GlobalTagging
        url: https://tags.private.global-search-tagging.cloud.ibm.com
    networkResourceGroupName: us-east-example-existing-network-rg 
15

    vpcName: us-east-example-network-1 
16

    controlPlaneSubnets: 
17

      - us-east-example-network-1-cp-us-east-1
      - us-east-example-network-1-cp-us-east-2
      - us-east-example-network-1-cp-us-east-3
    computeSubnets: 
18

      - us-east-example-network-1-compute-us-east-1
      - us-east-example-network-1-compute-us-east-2
      - us-east-example-network-1-compute-us-east-3
credentialsMode: Manual
pullSecret: '{"auths":{"<local_registry>": {"auth": "<credentials>","email": "you@example.com"}}}' 
19

fips: false 
20

sshKey: ssh-ed25519 AAAA... 
21

additionalTrustBundle: | 
22

    -----BEGIN CERTIFICATE-----
    <MY_TRUSTED_CA_CERT>
    -----END CERTIFICATE-----
imageContentSources: 
23

- mirrors:
  - <local_registry>/<local_repository_name>/release
  source: quay.io/openshift-release-dev/ocp-release
- mirrors:
  - <local_registry>/<local_repository_name>/release
  source: quay.io/openshift-release-dev/ocp-v4.0-art-dev
Copy to Clipboard Toggle word wrap
1 8 12
필수 항목입니다.
2 5
이러한 매개변수와 값을 지정하지 않으면 설치 프로그램은 기본값을 적용합니다.
3 6
controlPlane 섹션은 단일 매핑이지만 compute 섹션은 일련의 매핑입니다. 서로 다른 데이터 구조의 요구사항을 충족하도록 compute 섹션의 첫 번째 줄은 하이픈(-)으로 시작해야 하며 controlPlane 섹션의 첫 번째 줄은 하이픈으로 시작할 수 없습니다. 하나의 컨트롤 플레인 풀만 사용됩니다.
4 7
Hyper-Threading이라고도 하는 동시 멀티스레딩을 활성화하거나 비활성화합니다. 시스템 코어의 성능을 높이기 위해 기본적으로 동시 멀티스레딩이 활성화됩니다. 매개변수 값을 Disabled로 설정하여 비활성화할 수 있습니다. 일부 클러스터 시스템에서 동시 멀티스레딩을 비활성화할 경우에는 해당 멀티스레딩을 모든 클러스터 시스템에서 비활성화해야 합니다.
중요

동시 멀티스레딩을 비활성화하는 경우 용량 계획에서 시스템 성능이 크게 저하될 수 있는 문제를 고려해야 합니다. 동시 멀티스레딩을 비활성화하는 경우, 사용자 시스템에 더 큰 시스템 유형(예: n1-standard-8)을 사용하십시오.

9
시스템 CIDR에는 컴퓨팅 시스템 및 컨트롤 플레인 시스템의 서브넷이 포함되어야 합니다.
10
CIDR에는 platform.ibmcloud.controlPlaneSubnetsplatform.ibmcloud.computeSubnets 에 정의된 서브넷이 포함되어야 합니다.
11
설치할 클러스터 네트워크 플러그인입니다. 기본 값 OVNKubernetes 는 지원되는 유일한 값입니다.
13
기존 리소스 그룹의 이름입니다. 설치 관리자 프로비저닝 클러스터 리소스는 모두 이 리소스 그룹에 배포됩니다. 정의되지 않은 경우 클러스터에 새 리소스 그룹이 생성됩니다.
14
VPC의 네트워크 제한 사항에 따라 필요에 따라 대체 서비스 끝점을 지정합니다. 이렇게 하면 서비스의 기본 공용 끝점이 재정의됩니다.
15
기존 VPC(가상 프라이빗 클라우드)가 포함된 리소스 그룹의 이름을 지정합니다. 기존 VPC 및 서브넷은 이 리소스 그룹에 있어야 합니다. 클러스터가 이 VPC에 설치됩니다.
16
기존 VPC의 이름을 지정합니다.
17
컨트롤 플레인 시스템을 배포할 기존 서브넷의 이름을 지정합니다. 지정한 VPC에 속하는 서브넷이어야 합니다. 리전의 각 가용성 영역의 서브넷을 지정합니다.
18
컴퓨팅 시스템을 배포할 기존 서브넷의 이름을 지정합니다. 지정한 VPC에 속하는 서브넷이어야 합니다. 리전의 각 가용성 영역의 서브넷을 지정합니다.
19
<local_registry>는 미러 레지스트리가 해당 내용을 제공하는 데 사용하는 레지스트리 도메인 이름과 포트(선택사항)를 지정합니다. 예: registry.example.com 또는 registry.example.com:5000. <credentials>는 미러 레지스트리의 base64 인코딩 사용자 이름과 암호를 지정합니다.
20
FIPS 모드를 활성화하거나 비활성화합니다. 기본적으로 FIPS 모드는 비활성화됩니다. FIPS 모드가 활성화된 경우 OpenShift Container Platform이 실행되는 RHCOS(Red Hat Enterprise Linux CoreOS) 머신은 기본 Kubernetes 암호화 제품군을 무시하고 RHCOS와 함께 제공되는 암호화 모듈을 대신 사용합니다.
중요

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

21
선택 사항: 클러스터의 시스템에 액세스하는 데 사용하는 sshKey 값을 제공합니다.
22
미러 레지스트리에 사용한 인증서 파일의 내용을 제공하십시오.
23
레지스트리를 미러링할 때 생성된 imageContentSourcePolicy.yaml 파일의 metadata.name: release-0 섹션에서 이러한 값을 제공합니다.
참고

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

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat