9.5.7. 설치 구성 파일 만들기

RHOSP(Red Hat OpenStack Platform)에 설치하는 OpenShift Container Platform 클러스터를 사용자 지정할 수 있습니다.

사전 요구 사항

  • OpenShift Container Platform 설치 프로그램과 클러스터의 풀 시크릿을 받습니다. 제한된 네트워크 설치의 경우, 해당 파일은 미러 호스트에 있습니다.
  • 미러 레지스트리 작성 중에 생성된 imageContentSources 값이 있어야 합니다.
  • 미러 레지스트리에 대한 인증서의 내용을 가져옵니다.
  • RHCOS (Red Hat Enterprise Linux CoreOS) 이미지를 검색하여 액세스 가능한 위치에 업로드합니다.

프로세스

  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. 대상 플랫폼으로 openstack을 선택합니다.
      3. 클러스터 설치에 사용할 RHOSP(Red Hat OpenStack Platform) 외부 네트워크 이름을 지정합니다.
      4. OpenShift API에 대한 외부 액세스에 사용할 부동 IP 주소를 지정합니다.
      5. 컨트롤 플레인 노드에 사용할 최소 16GB의 RAM과 컴퓨팅 노드에 8GB RAM이 있는 RHOSP 플레이버를 지정합니다.
      6. 클러스터를 배포할 기본 도메인을 선택합니다. 모든 DNS 레코드는 이 기본 도메인의 하위 도메인이 되므로 클러스터 이름을 포함합니다.
      7. 클러스터 이름을 입력합니다. 이름은 14자 이하여야 합니다.
      8. Red Hat OpenShift Cluster Manager에서 풀 시크릿 을 붙여넣습니다.
  2. install-config.yaml 파일에서 platform.openstack.clusterOSImage 값을 이미지 위치 또는 이름으로 설정합니다. 예를 들면 다음과 같습니다.

    platform:
      openstack:
          clusterOSImage: http://mirror.example.com/images/rhcos-43.81.201912131630.0-openstack.x86_64.qcow2.gz?sha256=ffebbd68e8a1f2a245ca19522c16c86f67f9ac8e4e0c1f0a812b068b16f7265d
  3. 제한된 네트워크에서의 설치에 필요한 추가 정보를 제공하려면 install-config.yaml 파일을 편집합니다.

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

      pullSecret: '{"auths":{"<mirror_host_name>:5000": {"auth": "<credentials>","email": "you@example.com"}}}'

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

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

      additionalTrustBundle: |
        -----BEGIN CERTIFICATE-----
        ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
        -----END CERTIFICATE-----

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

    3. 다음과 같은 이미지 콘텐츠 리소스를 추가합니다.

      imageContentSources:
      - mirrors:
        - <mirror_host_name>:5000/<repo_name>/release
        source: quay.example.com/openshift-release-dev/ocp-release
      - mirrors:
        - <mirror_host_name>:5000/<repo_name>/release
        source: registry.example.com/ocp/release

      이러한 값을 완료하려면 미러 레지스트리 생성 중에 기록한 imageContentSources를 사용하십시오.

  4. 필요한 install-config.yaml 파일을 수정합니다. 사용 가능한 매개변수에 대한 자세한 정보는 Installation configuration parameters 섹션에서 확인할 수 있습니다.
  5. 여러 클러스터를 설치하는 데 사용할 수 있도록 install-config.yaml 파일을 백업합니다.

    중요

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

9.5.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[] 필드의 값으로 채워집니다.

    Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft Azure 및 Red Hat OpenStack Platform (RHOSP)에 설치하는 경우 Proxy 오브젝트 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-----
    ...
    1
    클러스터 외부에서 HTTP 연결을 구축하는 데 사용할 프록시 URL입니다. URL 스키마는 http여야 합니다.
    2
    클러스터 외부에서 HTTPS 연결을 구축하는 데 사용할 프록시 URL입니다.
    3
    대상 도메인 이름, IP 주소 또는 프록시에서 제외할 기타 네트워크 CIDR로 이루어진 쉼표로 구분된 목록입니다. 하위 도메인과 일치하려면 도메인 앞에 .을 입력합니다. 예를 들어, .y.comx.y.com과 일치하지만 y.com은 일치하지 않습니다. *를 사용하여 모든 대상에 대해 프록시를 바이패스합니다.
    4
    이 값을 제공하면 설치 프로그램에서 추가 CA 인증서를 보유할 openshift -config 네임스페이스에 user-ca- bundle 이라는 구성 맵을 생성합니다. additionalTrustBundle 및 하나 이상의 프록시 설정을 제공하는 경우 프록시 오브젝트는 trustedCA 필드의 user-ca-bundle 구성 맵을 참조하도록 구성됩니다. 그러면 Cluster Network Operator에서 trustedCA 매개변수에 대해 지정된 콘텐츠를 RHCOS 신뢰 번들과 병합하는 trusted-ca-bundle 구성 맵을 생성합니다. 프록시의 ID 인증서를 RHCOS 트러스트 번들에 있는 기관에서 서명하지 않은 경우 additionalTrustBundle 필드가 있어야 합니다.
    참고

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

  2. 파일을 저장해 놓고 OpenShift Container Platform을 설치할 때 참조하십시오.

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

참고

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