Nutanix에 설치


OpenShift Container Platform 4.17

Nutanix에 OpenShift Container Platform 설치

Red Hat OpenShift Documentation Team

초록

이 문서에서는 Nutanix에 OpenShift Container Platform을 설치하는 방법을 설명합니다.

1장. Nutanix에 설치 준비

OpenShift Container Platform 클러스터를 설치하기 전에 Nutanix 환경이 다음 요구사항을 충족하는지 확인하십시오.

1.1. Nutanix 버전 요구 사항

다음 요구 사항을 충족하는 Nutanix 환경에 OpenShift Container Platform 클러스터를 설치해야 합니다.

표 1.1. Nutanix 가상 환경에 대한 버전 요구 사항
Component필수 버전

Nutanix AOS

6.5.2.7 이상

Prism Central

PC.2022.6 이상

1.2. 환경 요구사항

OpenShift Container Platform 클러스터를 설치하기 전에 다음 Nutanix AOS 환경 요구 사항을 검토하십시오.

1.2.1. 필요한 계정 권한

설치 프로그램에서 클러스터를 배포하고 일상적인 작업을 유지하기 위해 필요한 권한으로 Nutanix 계정에 액세스해야 합니다. 다음 옵션을 사용할 수 있습니다.

  • 관리 권한으로 로컬 Prism Central 사용자 계정을 사용할 수 있습니다. 로컬 계정을 사용하는 것이 필요한 권한이 있는 계정에 대한 액세스 권한을 부여하는 가장 빠른 방법입니다.
  • 조직의 보안 정책에서 보다 제한적인 권한 세트를 사용해야 하는 경우 다음 표에 나열된 권한을 사용하여 Prism Central에서 사용자 지정 Cloud Native 역할을 만듭니다. 그런 다음 Prism Central 인증 디렉터리의 멤버인 사용자 계정에 역할을 할당할 수 있습니다.

이 사용자 계정을 관리할 때는 다음을 고려하십시오.

  • 엔터티를 역할에 할당할 때 사용자가 가상 머신을 배포하는 데 필요한 Prism Element 및 subnet에만 액세스할 수 있는지 확인합니다.
  • 사용자가 가상 머신을 할당해야 하는 프로젝트의 멤버인지 확인합니다.

자세한 내용은 Custom Cloud Native 역할 생성, 역할 할당프로젝트에 사용자를 추가하는 방법에 대한 Nutanix 설명서를 참조하십시오.

예 1.1. Custom Cloud Native 역할을 생성하는 데 필요한 권한

Nutanix 오브젝트필요한 경우Nutanix API에서 필요한 권한설명

카테고리

Always

Create_Category_Mapping
Create_Or_Update_Name_Category
Create_Or_Update_Value_Category
Delete_Category_Mapping
Delete_Name_Category
Delete_Value_Category
View_Category_Mapping
View_Name_Category
View_Name_CategoryView_Name_Categoryview_Value_Category

OpenShift Container Platform 시스템에 할당된 카테고리를 생성, 읽기 및 삭제합니다.

이미지

Always

Create_Image
Delete_Image
View_Image

OpenShift Container Platform 머신에 사용되는 운영 체제 이미지를 생성, 읽기 및 삭제합니다.

가상 머신

Always

Create_Virtual_Machine
Delete_Virtual_Machine
View_Virtual_Machine

OpenShift Container Platform 시스템을 생성, 읽기 및 삭제합니다.

클러스터

Always

View_Cluster

OpenShift Container Platform 머신을 호스팅하는 Prism Element 클러스터를 확인합니다.

서브넷

Always

View_Subnet

OpenShift Container Platform 머신을 호스팅하는 서브넷을 확인합니다.

프로젝트

프로젝트를 컴퓨팅 시스템, 컨트롤 플레인 시스템 또는 모든 시스템과 연결하는 경우.

View_Project

Prism Central에 정의된 프로젝트를 보고 OpenShift Container Platform 머신에 프로젝트를 할당할 수 있습니다.

1.2.2. 클러스터 제한

사용 가능한 리소스는 클러스터마다 다릅니다. Nutanix 환경에서 사용 가능한 클러스터 수는 주로 사용 가능한 스토리지 공간 및 클러스터가 생성하는 리소스와 관련된 제한 사항 및 IP 주소 및 네트워크를 배포하는 데 필요한 리소스를 통해 제한됩니다.

1.2.3. 클러스터 리소스

표준 클러스터를 사용하려면 최소 800GB의 스토리지가 필요합니다.

설치 관리자 프로비저닝 인프라를 사용하는 OpenShift Container Platform 클러스터를 배포할 때 설치 프로그램은 Nutanix 인스턴스에 여러 리소스를 생성할 수 있어야 합니다. 이러한 리소스는 856GB의 스토리지를 사용하지만 부트스트랩 노드는 설치 프로세스의 일부로 삭제됩니다.

표준 OpenShift Container Platform 설치는 다음 리소스를 생성합니다.

  • 레이블 1개
  • 가상 머신:

    • 디스크 이미지 1개
    • 임시 부트스트랩 노드 한 개
    • 컨트롤 플레인 노드 세 개
    • 컴퓨팅 시스템 세 개

1.2.4. 네트워킹 요구사항

네트워크에 AHV IP 주소 관리(IPAM) 또는 DHCP(Dynamic Host Configuration Protocol)를 사용하고 클러스터 시스템에 영구 IP 주소를 제공하도록 구성되어 있는지 확인해야 합니다. 또한 OpenShift Container Platform 클러스터를 설치하기 전에 다음 네트워킹 리소스를 생성합니다.

  • IP 주소
  • DNS 레코드

새 클러스터 설치에는 Nutanix Flow Virtual Networking이 지원됩니다. 이 기능을 사용하려면 설치하기 전에 AHV 클러스터에서 Flow Virtual Networking을 활성화합니다. 자세한 내용은 Flow Virtual Networking 개요 를 참조하십시오.

참고

클러스터의 각 OpenShift Container Platform 노드는 DHCP를 통해 검색할 수 있는 NTP(Network Time Protocol) 서버에 액세스하는 것이 좋습니다. NTP 서버 없이도 설치할 수 있습니다. 그러나 NTP 서버는 일반적으로 비동기 서버 클록과 관련된 오류를 방지합니다.

1.2.4.1. 필요한 IP 주소

설치 프로그램에서 제공하는 설치에는 두 개의 고정 가상 IP(VIP) 주소가 필요합니다.

  • API의 VIP 주소가 필요합니다. 이 주소는 클러스터 API에 액세스하는 데 사용됩니다.
  • Ingress의 VIP 주소가 필요합니다. 이 주소는 클러스터 인그레스 트래픽에 사용됩니다.

OpenShift Container Platform 클러스터를 설치할 때 이러한 IP 주소를 지정합니다.

1.2.4.2. DNS 레코드

OpenShift Container Platform 클러스터를 호스팅하는 Nutanix 인스턴스에 적절한 DNS 서버에 두 개의 고정 IP 주소에 대한 DNS 레코드를 생성해야 합니다. 각 레코드에서 <cluster_name>은 클러스터 이름이고 <base_domain>은 클러스터를 설치할 때 지정하는 클러스터 기본 도메인입니다.

자체 DNS 또는 DHCP 서버를 사용하는 경우 부트스트랩, 컨트롤 플레인 및 컴퓨팅 노드를 포함하여 각 노드에 대한 레코드도 생성해야 합니다.

전체 DNS 레코드는 <component>.<cluster_name>.<base_domain> 형식입니다.

표 1.2. 필수 DNS 레코드
구성 요소레코드설명

API VIP

api.<cluster_name>.<base_domain>.

이 DNS A/AAAA 또는 CNAME 레코드는 컨트롤 플레인 시스템의 로드 밸런서를 가리켜야 합니다. 이 레코드는 클러스터 외부의 클라이언트와 클러스터 내의 모든 노드에서 확인할 수 있어야 합니다.

Ingress VIP

*.apps.<cluster_name>.<base_domain>.

기본적으로 작업자 노드인 인그레스 라우터 Pod를 실행하는 시스템을 대상으로 하는 로드 밸런서를 가리키는 와일드카드 DNS A/AAAA 또는 CNAME 레코드입니다. 이 레코드는 클러스터 외부의 클라이언트와 클러스터 내의 모든 노드에서 확인할 수 있어야 합니다.

1.3. Cloud Credential Operator 유틸리티 구성

CCO(Cloud Credential Operator)는 클라우드 공급자 자격 증명을 Kubernetes CRD(사용자 지정 리소스 정의)로 관리합니다. Nutanix에 클러스터를 설치하려면 설치 프로세스의 일부로 CCO를 수동 모드로 설정해야 합니다.

CCO(Cloud Credential Operator)가 수동 모드에서 작동할 때 클러스터 외부에서 클라우드 인증 정보를 생성하고 관리하려면 CCO 유틸리티(ccoctl) 바이너리를 추출 및 준비합니다.

참고

ccoctl 유틸리티는 Linux 환경에서 실행해야 하는 Linux 바이너리입니다.

사전 요구 사항

  • 클러스터 관리자 액세스 권한이 있는 OpenShift Container Platform 계정에 액세스할 수 있습니다.
  • OpenShift CLI(oc)가 설치되어 있습니다.

프로세스

  1. 다음 명령을 실행하여 OpenShift Container Platform 릴리스 이미지의 변수를 설정합니다.

    $ RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $3}')
  2. 다음 명령을 실행하여 OpenShift Container Platform 릴리스 이미지에서 CCO 컨테이너 이미지를 가져옵니다.

    $ CCO_IMAGE=$(oc adm release info --image-for='cloud-credential-operator' $RELEASE_IMAGE -a ~/.pull-secret)
    참고

    $RELEASE_IMAGE 의 아키텍처가 ccoctl 툴을 사용할 환경의 아키텍처와 일치하는지 확인합니다.

  3. 다음 명령을 실행하여 OpenShift Container Platform 릴리스 이미지 내에서 ccoctl 바이너리를 추출합니다.

    $ oc image extract $CCO_IMAGE \
      --file="/usr/bin/ccoctl.<rhel_version>" \1
      -a ~/.pull-secret
    1
    & lt;rhel_version > 의 경우 호스트가 사용하는 RHEL(Red Hat Enterprise Linux) 버전에 해당하는 값을 지정합니다. 값을 지정하지 않으면 기본적으로 ccoctl.rhel8 이 사용됩니다. 다음 값이 유효합니다.
    • rhel8: RHEL 8을 사용하는 호스트에 대해 이 값을 지정합니다.
    • rhel9: RHEL 9를 사용하는 호스트에 대해 이 값을 지정합니다.
  4. 다음 명령을 실행하여 ccoctl 을 실행할 수 있도록 권한을 변경합니다.

    $ chmod 775 ccoctl.<rhel_version>

검증

  • ccoctl 을 사용할 준비가 되었는지 확인하려면 도움말 파일을 표시합니다. 명령을 실행할 때 상대 파일 이름을 사용합니다. 예를 들면 다음과 같습니다.

    $ ./ccoctl.rhel9

    출력 예

    OpenShift credentials provisioning tool
    
    Usage:
      ccoctl [command]
    
    Available Commands:
      aws          Manage credentials objects for AWS cloud
      azure        Manage credentials objects for Azure
      gcp          Manage credentials objects for Google cloud
      help         Help about any command
      ibmcloud     Manage credentials objects for {ibm-cloud-title}
      nutanix      Manage credentials objects for Nutanix
    
    Flags:
      -h, --help   help for ccoctl
    
    Use "ccoctl [command] --help" for more information about a command.

2장. 여러 Prism Cryostat를 사용한 내결함성 배포

기본적으로 설치 프로그램은 컨트롤 플레인 및 컴퓨팅 머신을 단일 Nutanix Prism Element (클러스터)에 설치합니다. OpenShift Container Platform 클러스터의 내결함성을 개선하기 위해 장애 도메인을 구성하여 이러한 머신을 여러 Nutanix 클러스터에 배포하도록 지정할 수 있습니다.

실패 도메인은 설치 중 및 설치 후 OpenShift Container Platform 머신 풀에서 사용할 수 있는 추가 Prism Element 인스턴스를 나타냅니다.

2.1. 설치 방법 및 실패 도메인 구성

OpenShift Container Platform 설치 방법은 장애 도메인을 구성하는 방법과 시기를 결정합니다.

  • 설치 관리자 프로비저닝 인프라를 사용하여 배포하는 경우 클러스터를 배포하기 전에 설치 구성 파일에서 실패 도메인을 구성할 수 있습니다. 자세한 내용은 실패 도메인 구성을 참조하십시오.

    클러스터가 배포된 후 실패 도메인을 구성할 수도 있습니다. 설치 후 실패 도메인 구성에 대한 자세한 내용은 기존 Nutanix 클러스터에 장애 도메인 추가를 참조하십시오.

  • (사용자 프로비저닝 인프라)를 사용하여 관리하는 인프라를 사용하여 배포하는 경우 추가 구성이 필요하지 않습니다. 클러스터가 배포된 후 장애 도메인에서 컨트롤 플레인과 컴퓨팅 시스템을 수동으로 배포할 수 있습니다.

2.2. 기존 Nutanix 클러스터에 장애 도메인 추가

기본적으로 설치 프로그램은 컨트롤 플레인 및 컴퓨팅 머신을 단일 Nutanix Prism Element (클러스터)에 설치합니다. OpenShift Container Platform 클러스터가 배포된 후 실패 도메인을 사용하여 배포에 Prism Element 인스턴스를 추가하여 내결함성을 개선할 수 있습니다.

장애 도메인은 새 컨트롤 플레인 및 컴퓨팅 시스템을 배포하고 기존 컨트롤 플레인 및 컴퓨팅 시스템을 배포할 수 있는 단일 Prism Element 인스턴스를 나타냅니다.

2.2.1. 실패 도메인 요구 사항

실패 도메인을 사용하려는 경우 다음 요구 사항을 고려하십시오.

  • 모든 Nutanix Prism Element 인스턴스는 Prism Central의 동일한 인스턴스에서 관리해야 합니다. 여러 Prism Central 인스턴스로 구성된 배포는 지원되지 않습니다.
  • Prism Element 클러스터를 구성하는 시스템은 장애 도메인이 서로 통신할 수 있도록 동일한 이더넷 네트워크에 있어야 합니다.
  • OpenShift Container Platform 클러스터에서 장애 도메인으로 사용할 각 Prism Element에 서브넷이 필요합니다. 이러한 서브넷을 정의할 때 동일한 IP 주소 접두사(CIDR)를 공유해야 하며 OpenShift Container Platform 클러스터가 사용하는 가상 IP 주소를 포함해야 합니다.

2.2.2. Infrastructure CR에 장애 도메인 추가

Infrastructure CR(사용자 정의 리소스)( infrastructure.config.openshift.io )을 수정하여 기존 Nutanix 클러스터에 장애 도메인을 추가합니다.

작은 정보

고가용성을 보장하기 위해 세 개의 실패 도메인을 구성하는 것이 좋습니다.

프로세스

  1. 다음 명령을 실행하여 Infrastructure CR을 편집합니다.

    $ oc edit infrastructures.config.openshift.io cluster
  2. 실패 도메인을 구성합니다.

    Nutanix 실패 도메인이 있는 Infrastructure CR의 예

    spec:
      cloudConfig:
        key: config
        name: cloud-provider-config
    #...
      platformSpec:
        nutanix:
          failureDomains:
          - cluster:
             type: UUID
             uuid: <uuid>
            name: <failure_domain_name>
            subnets:
            - type: UUID
              uuid: <network_uuid>
          - cluster:
             type: UUID
             uuid: <uuid>
            name: <failure_domain_name>
            subnets:
            - type: UUID
              uuid: <network_uuid>
          - cluster:
              type: UUID
              uuid: <uuid>
            name: <failure_domain_name>
            subnets:
            - type: UUID
              uuid: <network_uuid>
    # ...

    다음과 같습니다.

    <uuid>
    Prism Element의 UUID(Universally unique identifier)를 지정합니다.
    <failure_domain_name>
    실패 도메인의 고유한 이름을 지정합니다. 이름은 64자 미만으로 제한되며 소문자, 숫자, 대시(-)를 포함할 수 있습니다. 대시는 이름의 선행 또는 종료 위치에 있을 수 없습니다.
    <network_uuid>
    Prism Element 서브넷 오브젝트의 UUID를 지정합니다. 서브넷의 CIDR(IP 주소 접두사)에는 OpenShift Container Platform 클러스터가 사용하는 가상 IP 주소가 포함되어야 합니다. OpenShift Container Platform 클러스터에서 장애 도메인(Prism Element)당 하나의 서브넷만 지원됩니다.
  3. CR을 저장하여 변경 사항을 적용합니다.

2.2.3. 장애 도메인에서 컨트롤 플레인 배포

컨트롤 플레인 머신 세트 CR(사용자 정의 리소스)을 수정하여 Nutanix 장애 도메인에 컨트롤 플레인을 배포합니다.

사전 요구 사항

  • 클러스터의 Infrastructure CR(사용자 정의 리소스)에 장애 도메인을 구성했습니다.
  • 컨트롤 플레인 머신 세트 CR(사용자 정의 리소스)은 활성 상태입니다.

컨트롤 플레인 머신 세트 사용자 정의 리소스 상태를 확인하는 방법에 대한 자세한 내용은 "추가 리소스"를 참조하십시오.

프로세스

  1. 다음 명령을 실행하여 컨트롤 플레인 머신 세트 CR을 편집합니다.

    $ oc edit controlplanemachineset.machine.openshift.io cluster -n openshift-machine-api
  2. spec.template.machines_v1beta1_machine_openshift_io.failureDomains 스탠자를 추가하여 실패 도메인을 사용하도록 컨트롤 플레인 머신 세트를 구성합니다.

    Nutanix 장애 도메인이 있는 컨트롤 플레인 머신 세트의 예

    apiVersion: machine.openshift.io/v1
    kind: ControlPlaneMachineSet
      metadata:
        creationTimestamp: null
        labels:
          machine.openshift.io/cluster-api-cluster: <cluster_name>
        name: cluster
        namespace: openshift-machine-api
    spec:
    # ...
      template:
        machineType: machines_v1beta1_machine_openshift_io
        machines_v1beta1_machine_openshift_io:
          failureDomains:
            platform: Nutanix
            nutanix:
            - name: <failure_domain_name_1>
            - name: <failure_domain_name_2>
            - name: <failure_domain_name_3>
    # ...

  3. 변경 사항을 저장하십시오.

기본적으로 컨트롤 플레인 머신 세트는 변경 사항을 컨트롤 플레인 구성에 자동으로 전파합니다. 클러스터가 OnDelete 업데이트 전략을 사용하도록 구성된 경우 컨트롤 플레인을 수동으로 교체해야 합니다. 자세한 내용은 "추가 리소스"를 참조하십시오.

2.2.4. 장애 도메인에서 컴퓨팅 머신 배포

다음 방법 중 하나로 Nutanix 장애 도메인에 컴퓨팅 머신을 배포할 수 있습니다.

2.2.4.1. 실패 도메인 구현을 위해 컴퓨팅 머신 세트 편집

기존 컴퓨팅 머신 세트를 사용하여 Nutanix 장애 도메인에 컴퓨팅 머신을 배포하려면 컴퓨팅 머신 세트를 구성으로 업데이트한 다음 스케일링을 사용하여 기존 컴퓨팅 머신을 교체합니다.

사전 요구 사항

  • 클러스터의 Infrastructure CR(사용자 정의 리소스)에 장애 도메인을 구성했습니다.

프로세스

  1. 다음 명령을 실행하여 클러스터의 Infrastructure CR을 확인합니다.

    $ oc describe infrastructures.config.openshift.io cluster
  2. 각 장애 도메인(platformSpec.nutanix.failureDomains)에 대해 클러스터의 UUID, 이름 및 서브넷 오브젝트 UUID를 기록해 둡니다. 이러한 값은 컴퓨팅 머신 세트에 실패 도메인을 추가하는 데 필요합니다.
  3. 다음 명령을 실행하여 클러스터의 컴퓨팅 머신 세트를 나열합니다.

    $ oc get machinesets -n openshift-machine-api

    출력 예

    NAME                   DESIRED   CURRENT   READY   AVAILABLE   AGE
    <machine_set_name_1>   1         1         1       1           55m
    <machine_set_name_2>   1         1         1       1           55m

  4. 다음 명령을 실행하여 첫 번째 컴퓨팅 머신 세트를 편집합니다.

    $ oc edit machineset <machine_set_name_1> -n openshift-machine-api
  5. 다음을 spec.template.spec.providerSpec.value 스탠자로 업데이트하여 첫 번째 실패 도메인을 사용하도록 컴퓨팅 시스템 세트를 구성합니다.

    참고

    clustersubnets 필드에 지정한 값이 클러스터의 Infrastructure CR의 failureDomains 스탠자에 구성된 값과 일치하는지 확인합니다.

    Nutanix 실패 도메인이 있는 컴퓨팅 머신 세트의 예

    apiVersion: machine.openshift.io/v1
    kind: MachineSet
    metadata:
      creationTimestamp: null
      labels:
        machine.openshift.io/cluster-api-cluster: <cluster_name>
      name: <machine_set_name_1>
      namespace: openshift-machine-api
    spec:
      replicas: 2
    # ...
      template:
        spec:
    # ...
          providerSpec:
            value:
              apiVersion: machine.openshift.io/v1
              failureDomain:
                name: <failure_domain_name_1>
              cluster:
                type: uuid
                uuid: <prism_element_uuid_1>
              subnets:
              - type: uuid
                uuid: <prism_element_network_uuid_1>
    # ...

  6. 변경 사항을 적용하기 위해 컴퓨팅 머신 세트를 스케일링할 때 필요하므로 spec.replicas 의 값을 확인합니다.
  7. 변경 사항을 저장하십시오.
  8. 다음 명령을 실행하여 업데이트된 컴퓨팅 머신 세트에서 관리하는 머신을 나열합니다.

    $ oc get -n openshift-machine-api machines \
      -l machine.openshift.io/cluster-api-machineset=<machine_set_name_1>

    출력 예

    NAME                        PHASE     TYPE   REGION    ZONE                 AGE
    <machine_name_original_1>   Running   AHV    Unnamed   Development-STS   4h
    <machine_name_original_2>   Running   AHV    Unnamed   Development-STS   4h

  9. 업데이트된 컴퓨팅 머신 세트에서 관리하는 각 머신에 대해 다음 명령을 실행하여 삭제 주석을 설정합니다.

    $ oc annotate machine/<machine_name_original_1> \
      -n openshift-machine-api \
      machine.openshift.io/delete-machine="true"
  10. 새 구성으로 대체 머신을 생성하려면 다음 명령을 실행하여 컴퓨팅 머신 세트를 복제본 수의 두 배로 스케일링합니다.

    $ oc scale --replicas=<twice_the_number_of_replicas> \1
      machineset <machine_set_name_1> \
      -n openshift-machine-api
    1
    예를 들어 컴퓨팅 시스템 세트의 원래 복제본 수가 2 이면 복제본을 4 로 스케일링합니다.
  11. 다음 명령을 실행하여 업데이트된 컴퓨팅 머신 세트에서 관리하는 머신을 나열합니다.

    $ oc get -n openshift-machine-api machines -l machine.openshift.io/cluster-api-machineset=<machine_set_name_1>

    새 머신이 Running 단계에 있는 경우 컴퓨팅 머신 세트를 원래 복제본 수로 확장할 수 있습니다.

  12. 이전 구성으로 생성된 머신을 제거하려면 다음 명령을 실행하여 컴퓨팅 머신 세트를 원래 복제본 수로 확장합니다.

    $ oc scale --replicas=<original_number_of_replicas> \1
      machineset <machine_set_name_1> \
      -n openshift-machine-api
    1
    예를 들어 컴퓨팅 시스템 세트의 원래 복제본 수가 2인 경우 복제본을 2 로 확장합니다.
  13. 필요에 따라 배포에 사용할 수 있는 추가 실패 도메인을 참조하도록 머신 세트를 계속 수정합니다.
2.2.4.2. 실패 도메인 구현을 위해 컴퓨팅 머신 세트 교체

컴퓨팅 머신 세트를 교체하여 Nutanix 장애 도메인에 컴퓨팅 머신을 배포하려면 구성으로 새 컴퓨팅 머신 세트를 생성하고 생성된 시스템이 시작될 때까지 기다린 다음 이전 컴퓨팅 머신 세트를 삭제합니다.

사전 요구 사항

  • 클러스터의 Infrastructure CR(사용자 정의 리소스)에 장애 도메인을 구성했습니다.

프로세스

  1. 다음 명령을 실행하여 클러스터의 Infrastructure CR을 확인합니다.

    $ oc describe infrastructures.config.openshift.io cluster
  2. 각 장애 도메인(platformSpec.nutanix.failureDomains)에 대해 클러스터의 UUID, 이름 및 서브넷 오브젝트 UUID를 기록해 둡니다. 이러한 값은 컴퓨팅 머신 세트에 실패 도메인을 추가하는 데 필요합니다.
  3. 다음 명령을 실행하여 클러스터의 컴퓨팅 머신 세트를 나열합니다.

    $ oc get machinesets -n openshift-machine-api

    출력 예

    NAME                            DESIRED   CURRENT   READY   AVAILABLE   AGE
    <original_machine_set_name_1>   1         1         1       1           55m
    <original_machine_set_name_2>   1         1         1       1           55m

  4. 기존 컴퓨팅 머신 세트의 이름을 확인합니다.
  5. 다음 방법 중 하나를 사용하여 새 컴퓨팅 머신 세트 CR(사용자 정의 리소스)의 값이 포함된 YAML 파일을 생성합니다.

    • 다음 명령을 실행하여 기존 컴퓨팅 머신 세트 구성을 새 파일에 복사합니다.

      $ oc get machineset <original_machine_set_name_1> \
        -n openshift-machine-api -o yaml > <new_machine_set_name_1>.yaml

      기본 텍스트 편집기를 사용하여 이 YAML 파일을 편집할 수 있습니다.

    • 원하는 텍스트 편집기를 사용하여 < new_machine_set_name_1>.yaml 이라는 빈 YAML 파일을 생성하고 새 컴퓨팅 머신 세트에 필요한 값을 포함합니다.

      특정 필드에 설정할 값이 확실하지 않은 경우 다음 명령을 실행하여 기존 컴퓨팅 머신 세트 CR의 값을 볼 수 있습니다.

      $ oc get machineset <original_machine_set_name_1> \
        -n openshift-machine-api -o yaml

      출력 예

      apiVersion: machine.openshift.io/v1beta1
      kind: MachineSet
      metadata:
        labels:
          machine.openshift.io/cluster-api-cluster: <infrastructure_id> 1
        name: <infrastructure_id>-<role> 2
        namespace: openshift-machine-api
      spec:
        replicas: 1
        selector:
          matchLabels:
            machine.openshift.io/cluster-api-cluster: <infrastructure_id>
            machine.openshift.io/cluster-api-machineset: <infrastructure_id>-<role>
        template:
          metadata:
            labels:
              machine.openshift.io/cluster-api-cluster: <infrastructure_id>
              machine.openshift.io/cluster-api-machine-role: <role>
              machine.openshift.io/cluster-api-machine-type: <role>
              machine.openshift.io/cluster-api-machineset: <infrastructure_id>-<role>
          spec:
            providerSpec: 3
              ...

      1
      클러스터 인프라 ID입니다.
      2
      기본 노드 레이블입니다.
      참고

      사용자 프로비저닝 인프라가 있는 클러스터의 경우 컴퓨팅 머신 세트는 작업자 또는 인프라 역할이 있는 머신만 생성할 수 있습니다.

      3
      컴퓨팅 머신 세트 CR의 <providerSpec> 섹션에 있는 값은 플랫폼에 따라 다릅니다. CR의 <providerSpec> 매개변수에 대한 자세한 내용은 공급자의 샘플 컴퓨팅 머신 세트 CR 구성을 참조하십시오.
  6. <new_machine_set_name_1>.yaml 파일의 spec.template.spec.providerSpec.value 스탠자에 다음을 업데이트하여 첫 번째 실패 도메인을 사용하도록 새 컴퓨팅 머신 세트를 구성합니다.

    참고

    clustersubnets 필드에 지정한 값이 클러스터의 Infrastructure CR의 failureDomains 스탠자에 구성된 값과 일치하는지 확인합니다.

    Nutanix 실패 도메인이 있는 컴퓨팅 머신 세트의 예

    apiVersion: machine.openshift.io/v1
    kind: MachineSet
    metadata:
      creationTimestamp: null
      labels:
        machine.openshift.io/cluster-api-cluster: <cluster_name>
      name: <new_machine_set_name_1>
      namespace: openshift-machine-api
    spec:
      replicas: 2
    # ...
      template:
        spec:
    # ...
          providerSpec:
            value:
              apiVersion: machine.openshift.io/v1
              failureDomain:
                name: <failure_domain_name_1>
              cluster:
                type: uuid
                uuid: <prism_element_uuid_1>
              subnets:
              - type: uuid
                uuid: <prism_element_network_uuid_1>
    # ...

  7. 변경 사항을 저장하십시오.
  8. 다음 명령을 실행하여 컴퓨팅 머신 세트 CR을 생성합니다.

    $ oc create -f <new_machine_set_name_1>.yaml
  9. 필요에 따라 배포에 사용할 수 있는 추가 장애 도메인을 참조하는 컴퓨팅 머신 세트를 계속 생성합니다.
  10. 새 컴퓨팅 머신 세트마다 다음 명령을 실행하여 새 컴퓨팅 머신 세트에서 관리하는 머신을 나열합니다.

    $ oc get -n openshift-machine-api machines -l machine.openshift.io/cluster-api-machineset=<new_machine_set_name_1>

    출력 예

    NAME                             PHASE          TYPE   REGION    ZONE                 AGE
    <machine_from_new_1>             Provisioned    AHV    Unnamed   Development-STS   25s
    <machine_from_new_2>             Provisioning   AHV    Unnamed   Development-STS   25s

    새 머신이 Running 단계에 있을 때 실패 도메인 구성이 포함되지 않은 이전 컴퓨팅 머신 세트를 삭제할 수 있습니다.

  11. 새 머신이 Running 단계에 있음을 확인한 경우 각각에 대해 다음 명령을 실행하여 이전 컴퓨팅 머신 세트를 삭제합니다.

    $ oc delete machineset <original_machine_set_name_1> -n openshift-machine-api

검증

  • 업데이트된 구성이 없는 컴퓨팅 머신 세트가 삭제되었는지 확인하려면 다음 명령을 실행하여 클러스터의 컴퓨팅 머신 세트를 나열합니다.

    $ oc get machinesets -n openshift-machine-api

    출력 예

    NAME                       DESIRED   CURRENT   READY   AVAILABLE   AGE
    <new_machine_set_name_1>   1         1         1       1           4m12s
    <new_machine_set_name_2>   1         1         1       1           4m12s

  • 업데이트된 구성이 없는 컴퓨팅 머신이 삭제되었는지 확인하려면 다음 명령을 실행하여 클러스터의 시스템을 나열합니다.

    $ oc get -n openshift-machine-api machines

    삭제가 진행되는 동안 출력 예

    NAME                        PHASE           TYPE     REGION      ZONE                 AGE
    <machine_from_new_1>        Running         AHV      Unnamed     Development-STS   5m41s
    <machine_from_new_2>        Running         AHV      Unnamed     Development-STS   5m41s
    <machine_from_original_1>   Deleting        AHV      Unnamed     Development-STS   4h
    <machine_from_original_2>   Deleting        AHV      Unnamed     Development-STS   4h

    삭제가 완료되면 출력 예

    NAME                        PHASE           TYPE     REGION      ZONE                 AGE
    <machine_from_new_1>        Running         AHV      Unnamed     Development-STS   6m30s
    <machine_from_new_2>        Running         AHV      Unnamed     Development-STS   6m30s

  • 새 컴퓨팅 머신 세트로 생성한 머신에 올바른 구성이 있는지 확인하려면 다음 명령을 실행하여 새 머신 중 하나에 대해 CR의 관련 필드를 검사합니다.

    $ oc describe machine <machine_from_new_1> -n openshift-machine-api

3장. Nutanix에 클러스터 설치

OpenShift Container Platform 버전 4.17에서는 다음 옵션 중 하나를 선택하여 Nutanix 인스턴스에 클러스터를 설치할 수 있습니다.

설치 관리자 프로비저닝 인프라 사용: 다음 섹션의 절차를 사용하여 설치 관리자 프로비저닝 인프라를 사용합니다. 설치 관리자 프로비저닝 인프라는 연결되거나 연결이 끊긴 네트워크 환경에 설치하는 데 이상적입니다. 설치 프로그램에서 제공하는 인프라에는 클러스터의 기본 인프라를 프로비저닝하는 설치 프로그램이 포함되어 있습니다.

지원 설치 관리자 사용: console.redhat.com 에서 호스팅되는 지원 설치 관리자 입니다. 지원 설치 프로그램은 연결이 끊긴 환경에서 사용할 수 없습니다. 지원 설치 프로그램은 클러스터의 기본 인프라를 프로비저닝하지 않으므로 지원 설치 관리자를 실행하기 전에 인프라를 프로비저닝해야 합니다. 지원 설치 관리자를 사용하여 설치하면 Nutanix와의 통합도 제공되므로 자동 스케일링이 가능합니다. 자세한 내용은 지원 설치 관리자를 사용하여 온프레미스 클러스터 설치를 참조하십시오.

사용자 프로비저닝 인프라 사용: 모든 플랫폼 설명서에서 클러스터 설치에 설명된 관련 단계를 완료합니다.

3.1. 사전 요구 사항

  • OpenShift Container Platform 설치 및 업데이트 프로세스에 대한 세부 사항을 검토했습니다.
  • 설치 프로그램은 Prism Central 및 Prism Element의 포트 9440에 액세스해야 합니다. 포트 9440에 액세스할 수 있는지 확인합니다.
  • 방화벽을 사용하는 경우 다음 사전 요구 사항을 충족했습니다.

    • 포트 9440에 액세스할 수 있음을 확인했습니다. 컨트롤 플레인 노드는 설치에 성공하려면 포트 9440에서 Prism Central 및 Prism Element에 도달할 수 있어야 합니다.
    • OpenShift Container Platform에 필요한 사이트에 대한 액세스 권한을 부여 하도록 방화벽을 구성하셨습니다. 여기에는 Telemetry 사용이 포함됩니다.
  • Nutanix 환경에서 자체 서명된 기본 SSL 인증서를 사용하는 경우 CA에서 서명한 인증서로 교체합니다. 설치 프로그램에는 Prism Central API에 액세스하려면 유효한 CA 서명 인증서가 필요합니다. 자체 서명된 인증서 교체에 대한 자세한 내용은 Nutanix AOS 보안 가이드를 참조하십시오.

    Nutanix 환경에서 내부 CA를 사용하여 인증서를 발급하는 경우 클러스터 전체 프록시를 설치 프로세스의 일부로 구성해야 합니다. 자세한 내용은 사용자 정의 PKI 구성을 참조하십시오.

    중요

    2048비트 인증서를 사용합니다. Prism Central 2022.x와 함께 4096비트 인증서를 사용하는 경우 설치에 실패합니다.

3.2. OpenShift Container Platform 용 인터넷 액세스

OpenShift Container Platform 4.17에서 클러스터를 설치하려면 인터넷 액세스가 필요합니다.

다음의 경우 인터넷 액세스가 필요합니다.

  • OpenShift Cluster Manager 에 액세스하여 설치 프로그램을 다운로드하고 서브스크립션 관리를 수행합니다. 클러스터가 인터넷에 액세스할 수 있고 Telemetry 서비스를 비활성화하지 않은 경우, 클러스터에 자동으로 권한이 부여됩니다.
  • Quay.io에 액세스. 클러스터를 설치하는 데 필요한 패키지를 받을 수 있습니다.
  • 클러스터 업데이트를 수행하는 데 필요한 패키지를 받을 수 있습니다.
중요

클러스터가 직접 인터넷에 액세스할 수 없는 경우, 프로비저닝하는 일부 유형의 인프라에서 제한된 네트워크 설치를 수행할 수 있습니다. 이 프로세스 동안 필요한 콘텐츠를 다운로드하고 이를 사용하여 설치 패키지로 미러 레지스트리를 채웁니다. 설치 유형에 따라서는 클러스터를 설치하는 환경에 인터넷 액세스가 필요하지 않을 수도 있습니다. 클러스터를 업데이트하기 전에 미러 레지스트리의 내용을 업데이트합니다.

3.3. Prism Central에 대한 인터넷 액세스

Prism Central은 클러스터를 설치하는 데 필요한 RHCOS(Red Hat Enterprise Linux CoreOS) 이미지를 가져오려면 인터넷 액세스가 필요합니다. Nutanix용 RHCOS 이미지는 rhcos.mirror.openshift.com 에서 사용할 수 있습니다.

3.4. 클러스터 노드 SSH 액세스를 위한 키 쌍 생성

OpenShift Container Platform을 설치하는 동안 SSH 공개 키를 설치 프로그램에 지정할 수 있습니다. 키는 Ignition 구성 파일을 통해 RHCOS(Red Hat Enterprise Linux CoreOS) 노드에 전달되며 노드에 대한 SSH 액세스를 인증하는 데 사용됩니다. 키는 각 노드에서 core 사용자의 ~/.ssh/authorized_keys 목록에 추가되어 암호 없는 인증을 활성화합니다.

키가 노드에 전달되면 키 쌍을 사용하여 사용자 core로 RHCOS 노드에 SSH로 SSH 연결을 수행할 수 있습니다 . SSH를 통해 노드에 액세스하려면 로컬 사용자의 SSH에서 개인 키 ID를 관리해야 합니다.

설치 디버깅 또는 재해 복구를 수행하기 위해 클러스터 노드에 SSH를 실행하려면 설치 프로세스 중에 SSH 공용 키를 지정해야 합니다. ./openshift-install gather 명령에도 SSH 공개 키가 클러스터 노드에 있어야 합니다.

중요

재해 복구 및 디버깅이 필요한 프로덕션 환경에서는이 단계를 생략하지 마십시오.

참고

AWS 키 쌍과 같이 플랫폼 고유의 방식으로 구성된 키가 아닌 로컬 키를 사용해야 합니다.

프로세스

  1. 로컬 시스템에 클러스터 노드의 인증에 사용할 기존 SSH 키 쌍이 없는 경우 새로 생성합니다. 예를 들어 Linux 운영 체제를 사용하는 컴퓨터에서 다음 명령을 실행합니다.

    $ ssh-keygen -t ed25519 -N '' -f <path>/<file_name> 1
    1
    새 SSH 키의 경로 및 파일 이름(예: ~/.ssh/id_ed25519 )을 지정합니다. 기존 키 쌍이 있는 경우 공개 키가 '~/.ssh 디렉터리에 있는지 확인하십시오.
    참고

    x86_64,ppc64le, s390x 아키텍처에서만 FIPS 140-2/140-3 Validation에 대해 NIST에 제출된 RHEL 암호화 라이브러리를 사용하는 OpenShift Container Platform 클러스터를 설치하려면 ed25519 알고리즘을 사용하는 키를 생성하지 마십시오. 대신 rsa 또는 ecdsa 알고리즘을 사용하는 키를 생성합니다.

  2. 공개 SSH 키를 확인합니다.

    $ cat <path>/<file_name>.pub

    예를 들어 다음을 실행하여 ~/.ssh/id_ed25519.pub 공개 키를 확인합니다.

    $ cat ~/.ssh/id_ed25519.pub
  3. 아직 추가되지 않은 경우 로컬 사용자의 SSH 에이전트에 SSH 개인 키 ID를 추가합니다. 키의 SSH 에이전트 관리는 클러스터 노드에 암호 없는 SSH 인증을 수행하거나 ./openshift-install gather 명령을 사용하려는 경우 필요합니다.

    참고

    일부 배포에서는 ~/.ssh/id_rsa~/.ssh/id_dsa와 같은 기본 SSH 개인 키 ID가 자동으로 관리됩니다.

    1. ssh-agent 프로세스가 로컬 사용자에 대해 실행되지 않은 경우 백그라운드 작업으로 시작합니다.

      $ eval "$(ssh-agent -s)"

      출력 예

      Agent pid 31874

      참고

      클러스터가 FIPS 모드인 경우 FIPS 호환 알고리즘만 사용하여 SSH 키를 생성합니다. 키는 RSA 또는 ECDSA여야 합니다.

  4. ssh-agent에 SSH 개인 키를 추가합니다.

    $ ssh-add <path>/<file_name> 1
    1
    SSH 개인 키의 경로와 파일 이름을 지정합니다(예: ~/.ssh/id_ed25519).

    출력 예

    Identity added: /home/<you>/<path>/<file_name> (<computer_name>)

다음 단계

  • OpenShift Container Platform을 설치할 때 SSH 공개 키를 설치 프로그램에 지정합니다.

3.5. 설치 프로그램 받기

OpenShift Container Platform을 설치하기 전에 설치에 사용하는 호스트에 설치 파일을 다운로드합니다.

사전 요구 사항

  • 최소 1.2GB의 로컬 디스크 공간이 있는 Linux 또는 macOS를 실행하는 컴퓨터가 있습니다.

프로세스

  1. Red Hat Hybrid Cloud Console의 Cluster Type 페이지로 이동합니다. Red Hat 계정이 있는 경우 인증 정보를 사용하여 로그인합니다. 계정이 없으면 계정을 만드십시오.
  2. 페이지의 자체 실행 섹션에서 인프라 공급자를 선택합니다.
  3. OpenShift 설치 관리자의 드롭다운 메뉴에서 호스트 운영 체제 및 아키텍처를 선택하고 설치 프로그램 다운로드를 클릭합니다.
  4. 다운로드한 파일을 설치 구성 파일을 저장할 디렉터리에 배치합니다.

    중요
    • 설치 프로그램은 클러스터를 설치하는 데 사용하는 컴퓨터에 여러 파일을 만듭니다. 클러스터 설치를 마친 후 설치 프로그램과 설치 프로그램으로 생성되는 파일을 보관해야 합니다. 클러스터를 삭제하려면 두 파일이 모두 필요합니다.
    • 클러스터 설치에 실패하거나 설치 프로그램으로 만든 파일을 삭제해도 클러스터는 제거되지 않습니다. 클러스터를 제거하려면 해당 클라우드 공급자에 적용되는 OpenShift Container Platform 설치 제거 절차를 완료해야 합니다.
  5. 설치 프로그램 파일의 압축을 풉니다. 예를 들어 Linux 운영 체제를 사용하는 컴퓨터에서 다음 명령을 실행합니다.

    $ tar -xvf openshift-install-linux.tar.gz
  6. Red Hat OpenShift Cluster Manager에서 설치 풀 시크릿을 다운로드합니다. 이 풀 시크릿을 사용하면 OpenShift Container Platform 구성 요소에 대한 컨테이너 이미지를 제공하는 Quay.io를 포함하여 인증 기관에서 제공하는 서비스로 인증할 수 있습니다.
작은 정보

또는 다운로드할 설치 프로그램 버전을 지정할 수 있는 Red Hat 고객 포털에서 설치 프로그램을 검색할 수 있습니다. 그러나 이 페이지에 액세스하려면 활성 서브스크립션이 있어야 합니다.

3.6. 시스템 신뢰에 Nutanix 루트 CA 인증서 추가

설치 프로그램에서 Prism Central API에 액세스해야 하므로 OpenShift Container Platform 클러스터를 설치하기 전에 Nutanix 신뢰할 수 있는 루트 CA 인증서를 시스템 신뢰에 추가해야 합니다.

프로세스

  1. Prism Central 웹 콘솔에서 Nutanix 루트 CA 인증서를 다운로드합니다.
  2. Nutanix 루트 CA 인증서가 포함된 압축 파일을 추출합니다.
  3. 운영 체제 파일을 시스템 신뢰에 추가합니다. 예를 들어 Fedora 운영 체제에서는 다음 명령을 실행합니다.

    # cp certs/lin/* /etc/pki/ca-trust/source/anchors
  4. 시스템 신뢰를 업데이트합니다. 예를 들어 Fedora 운영 체제에서는 다음 명령을 실행합니다.

    # update-ca-trust extract

3.7. 설치 구성 파일 만들기

Nutanix에 설치하는 OpenShift Container Platform 클러스터를 사용자 지정할 수 있습니다.

사전 요구 사항

  • OpenShift Container Platform 설치 프로그램과 클러스터의 풀 시크릿이 있습니다.
  • Nutanix 네트워킹 요구 사항을 충족하는지 확인했습니다. 자세한 내용은 " Nutanix에 설치 준비"를 참조하십시오.

프로세스

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

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

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

      디렉터리를 지정할 때 다음을 수행합니다.

      • 디렉터리에 실행 권한이 있는지 확인합니다. 설치 디렉토리에서 Terraform 바이너리를 실행하려면 이 권한이 필요합니다.
      • 빈 디렉터리를 사용합니다. 부트스트랩 X.509 인증서와 같은 일부 설치 자산은 단기간에 만료되므로 설치 디렉터리를 재사용해서는 안 됩니다. 다른 클러스터 설치의 개별 파일을 재사용하려면 해당 파일을 사용자 디렉터리에 복사하면 됩니다. 그러나 설치 자산의 파일 이름은 릴리스간에 변경될 수 있습니다. 따라서 이전 OpenShift Container Platform 버전에서 설치 파일을 복사할 때는 주의하십시오.
    2. 화면에 나타나는 지시에 따라 클라우드에 대한 구성 세부 사항을 입력합니다.

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

        참고

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

      2. 대상 플랫폼으로 nutanix 를 선택합니다.
      3. Prism Central 도메인 이름 또는 IP 주소를 입력합니다.
      4. Prism Central에 로그인하는 데 사용되는 포트를 입력합니다.
      5. Prism Central에 로그인하는 데 사용되는 인증 정보를 입력합니다.

        설치 프로그램은 Prism Central에 연결됩니다.

      6. OpenShift Container Platform 클러스터를 관리할 Prism Element를 선택합니다.
      7. 사용할 네트워크 서브넷을 선택합니다.
      8. 컨트롤 플레인 API 액세스를 위해 구성한 가상 IP 주소를 입력합니다.
      9. 클러스터 인그레스용으로 구성한 가상 IP 주소를 입력합니다.
      10. 기본 도메인을 입력합니다. 이 기본 도메인은 DNS 레코드에서 구성한 것과 동일해야 합니다.
      11. 클러스터를 설명할 수 있는 이름을 입력합니다.

        입력한 클러스터 이름은 DNS 레코드를 구성할 때 지정한 클러스터 이름과 일치해야 합니다.

  2. 선택 사항: install.config.yaml 파일에서 기본 구성 매개변수 중 하나 이상을 업데이트하여 설치를 사용자 지정합니다.

    매개변수에 대한 자세한 내용은 "설치 구성 매개변수"를 참조하십시오.

    참고

    3-노드 클러스터를 설치하는 경우 compute.replicas 매개변수를 0 으로 설정해야 합니다. 이렇게 하면 클러스터의 컨트롤 플레인을 예약할 수 있습니다. 자세한 내용은 " Nutanix에 3-노드 클러스터 설치"를 참조하십시오.

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

    중요

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

3.7.1. Nutanix용 샘플 사용자 지정 install-config.yaml 파일

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

중요

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

apiVersion: v1
baseDomain: example.com 1
compute: 2
- hyperthreading: Enabled 3
  name: worker
  replicas: 3
  platform:
    nutanix: 4
      cpus: 2
      coresPerSocket: 2
      memoryMiB: 8196
      osDisk:
        diskSizeGiB: 120
      categories: 5
      - key: <category_key_name>
        value: <category_value>
controlPlane: 6
  hyperthreading: Enabled 7
  name: master
  replicas: 3
  platform:
    nutanix: 8
      cpus: 4
      coresPerSocket: 2
      memoryMiB: 16384
      osDisk:
        diskSizeGiB: 120
      categories: 9
      - key: <category_key_name>
        value: <category_value>
metadata:
  creationTimestamp: null
  name: test-cluster 10
networking:
  clusterNetwork:
    - cidr: 10.128.0.0/14
      hostPrefix: 23
  machineNetwork:
    - cidr: 10.0.0.0/16
  networkType: OVNKubernetes 11
  serviceNetwork:
    - 172.30.0.0/16
platform:
  nutanix:
    apiVIPs:
      - 10.40.142.7 12
    defaultMachinePlatform:
      bootType: Legacy
      categories: 13
      - key: <category_key_name>
        value: <category_value>
      project: 14
        type: name
        name: <project_name>
    ingressVIPs:
      - 10.40.142.8 15
    prismCentral:
      endpoint:
        address: your.prismcentral.domainname 16
        port: 9440 17
      password: <password> 18
      username: <username> 19
    prismElements:
    - endpoint:
        address: your.prismelement.domainname
        port: 9440
      uuid: 0005b0f1-8f43-a0f2-02b7-3cecef193712
    subnetUUIDs:
    - c7938dc6-7659-453e-a688-e26020c68e43
    clusterOSImage: http://example.com/images/rhcos-47.83.202103221318-0-nutanix.x86_64.qcow2 20
credentialsMode: Manual
publish: External
pullSecret: '{"auths": ...}' 21
fips: false 22
sshKey: ssh-ed25519 AAAA... 23
1 10 12 15 16 17 18 19 21
필수 항목입니다. 설치 프로그램에서 이 값을 입력하라는 메시지를 표시합니다.
2 6
controlPlane 섹션은 단일 매핑이지만 compute 섹션은 일련의 매핑입니다. 서로 다른 데이터 구조의 요구사항을 충족하도록 compute 섹션의 첫 번째 줄은 하이픈(-)으로 시작해야 하며 controlPlane 섹션의 첫 번째 줄은 하이픈으로 시작할 수 없습니다. 현재 두 섹션이 모두 단일 시스템 풀을 정의하지만 향후 출시되는 OpenShift Container Platform 버전은 설치 과정에서 여러 컴퓨팅 풀 정의를 지원할 수 있습니다. 하나의 컨트롤 플레인 풀만 사용됩니다.
3 7
동시 멀티스레딩 또는 hyperthreading 활성화/비활성화 여부를 지정합니다. 시스템 코어의 성능을 높이기 위해 기본적으로 동시 멀티스레딩이 활성화됩니다. 매개변수 값을 Disabled로 설정하여 비활성화할 수 있습니다. 일부 클러스터 시스템에서 동시 멀티스레딩을 비활성화할 경우에는 해당 멀티스레딩을 모든 클러스터 시스템에서 비활성화해야 합니다.
중요

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

4 8
선택사항: 컴퓨팅 및 컨트롤 플레인 시스템의 시스템 풀 매개변수에 대한 추가 구성을 제공하십시오.
5 9 13
선택 사항: prism 카테고리 키와 prism 카테고리 값 중 하나 이상의 쌍을 제공합니다. 이러한 카테고리 키-값 쌍은 Prism Central에 있어야 합니다. 컴퓨팅 시스템, 컨트롤 플레인 시스템 또는 모든 시스템에 별도의 카테고리를 제공할 수 있습니다.
11
설치할 클러스터 네트워크 플러그인입니다. 기본 값 OVNKubernetes 는 지원되는 유일한 값입니다.
14
선택 사항: VM이 연결된 프로젝트를 지정합니다. 프로젝트 유형에 name 또는 uuid 를 지정한 다음 해당 UUID 또는 프로젝트 이름을 입력합니다. 프로젝트를 컴퓨팅 시스템, 컨트롤 플레인 시스템 또는 모든 시스템에 연결할 수 있습니다.
20
선택 사항: 기본적으로 설치 프로그램은 RHCOS(Red Hat Enterprise Linux CoreOS) 이미지를 다운로드하여 설치합니다. Prism Central이 인터넷에 액세스할 수 없는 경우 모든 HTTP 서버에서 RHCOS 이미지를 호스팅하고 설치 프로그램을 이미지로 가리켜 기본 동작을 재정의할 수 있습니다.
22
FIPS 모드 활성화 또는 비활성화 여부입니다. 기본적으로 FIPS 모드는 비활성화됩니다. FIPS 모드가 활성화되면 OpenShift Container Platform이 실행되는 RHCOS(Red Hat Enterprise Linux CoreOS) 시스템에서 기본 Kubernetes 암호화 제품군은 우회하고 RHCOS와 함께 제공되는 암호화 모듈을 대신 사용합니다.
중요

FIPS 모드에서 부팅된 RHEL(Red Hat Enterprise Linux CoreOS) 또는 RHCOS(Red Hat Enterprise Linux CoreOS)를 실행하는 경우 OpenShift Container Platform 코어 구성 요소는 x86_64, ppc64le 및 s390x 아키텍처에서만 FIPS 140-2/140-3 Validation에 대해 NIST에 제출된 RHEL 암호화 라이브러리를 사용합니다.

23
선택 사항: 클러스터의 시스템에 액세스하는 데 사용하는 sshKey 값을 제공할 수 있습니다.
참고

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

3.7.2. 실패 도메인 구성

장애 도메인은 여러 Nutanix Prism Cryostat (클러스터)에 컨트롤 플레인 및 컴퓨팅 머신을 배포하여 OpenShift Container Platform 클러스터의 내결함성을 향상시킵니다.

작은 정보

고가용성을 보장하기 위해 세 개의 실패 도메인을 구성하는 것이 좋습니다.

사전 요구 사항

  • 설치 구성 파일(install-config.yaml)이 있습니다.

프로세스

  1. install-config.yaml 파일을 편집하고 다음 스탠자를 추가하여 첫 번째 실패 도메인을 구성합니다.

    apiVersion: v1
    baseDomain: example.com
    compute:
    # ...
    platform:
      nutanix:
        failureDomains:
        - name: <failure_domain_name>
          prismElement:
            name: <prism_element_name>
            uuid: <prism_element_uuid>
          subnetUUIDs:
          - <network_uuid>
    # ...

    다음과 같습니다.

    <failure_domain_name>
    실패 도메인의 고유한 이름을 지정합니다. 이름은 64자 미만으로 제한되며 소문자, 숫자, 대시(-)를 포함할 수 있습니다. 대시는 이름의 선행 또는 종료 위치에 있을 수 없습니다.
    <prism_element_name>
    선택 사항: Prism Element의 이름을 지정합니다.
    <prism_element_uuid>
    Prism Element의 UUID를 지정합니다.
    <network_uuid>
    Prism Element 서브넷 오브젝트의 UUID를 지정합니다. 서브넷의 CIDR(IP 주소 접두사)에는 OpenShift Container Platform 클러스터가 사용하는 가상 IP 주소가 포함되어야 합니다. OpenShift Container Platform 클러스터에서 장애 도메인(Prism Element)당 하나의 서브넷만 지원됩니다.
  2. 필요에 따라 추가 실패 도메인을 구성합니다.
  3. 장애 도메인에서 컨트롤 플레인 및 컴퓨팅 시스템을 배포하려면 다음 중 하나를 수행하십시오.

    • 컴퓨팅 및 컨트롤 플레인 시스템이 동일한 장애 도메인 세트를 공유할 수 있는 경우 클러스터의 기본 머신 구성에 장애 도메인 이름을 추가합니다.

      장애 도메인 세트를 공유하는 컨트롤 플레인 및 컴퓨팅 머신의 예

      apiVersion: v1
      baseDomain: example.com
      compute:
      # ...
      platform:
        nutanix:
          defaultMachinePlatform:
            failureDomains:
              - failure-domain-1
              - failure-domain-2
              - failure-domain-3
      # ...

    • 컴퓨팅 및 컨트롤 플레인 시스템에서 다른 장애 도메인을 사용해야 하는 경우 해당 시스템 풀 아래에 실패 도메인 이름을 추가합니다.

      다른 장애 도메인을 사용하는 컨트롤 플레인 및 컴퓨팅 머신의 예

      apiVersion: v1
      baseDomain: example.com
      compute:
      # ...
      controlPlane:
        platform:
          nutanix:
            failureDomains:
              - failure-domain-1
              - failure-domain-2
              - failure-domain-3
      # ...
      compute:
        platform:
          nutanix:
            failureDomains:
              - failure-domain-1
              - failure-domain-2
      # ...

  4. 파일을 저장합니다.

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

프로덕션 환경에서는 인터넷에 대한 직접 액세스를 거부하고 대신 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-----
    additionalTrustBundlePolicy: <policy_to_add_additionalTrustBundle> 5
    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
  2. 파일을 저장해 놓고 OpenShift Container Platform을 설치할 때 참조하십시오.

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

참고

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

3.8. OpenShift CLI 설치

명령줄 인터페이스를 사용하여 OpenShift Container Platform과 상호 작용하기 위해 OpenShift CLI(oc)를 설치할 수 있습니다. Linux, Windows 또는 macOS에 oc를 설치할 수 있습니다.

중요

이전 버전의 oc 를 설치한 경우 OpenShift Container Platform 4.17의 모든 명령을 완료하는 데 해당 버전을 사용할 수 없습니다. 새 버전의 oc를 다운로드하여 설치합니다.

Linux에서 OpenShift CLI 설치

다음 절차를 사용하여 Linux에서 OpenShift CLI(oc) 바이너리를 설치할 수 있습니다.

프로세스

  1. Red Hat 고객 포털에서 OpenShift Container Platform 다운로드 페이지로 이동합니다.
  2. 제품 변형 드롭다운 목록에서 아키텍처를 선택합니다.
  3. 버전 드롭다운 목록에서 적절한 버전을 선택합니다.
  4. OpenShift v4.17 Linux Clients 항목 옆에 있는 지금 다운로드를 클릭하고 파일을 저장합니다.
  5. 아카이브의 압축을 풉니다.

    $ tar xvf <file>
  6. oc 바이너리를 PATH에 있는 디렉터리에 배치합니다.

    PATH를 확인하려면 다음 명령을 실행합니다.

    $ echo $PATH

검증

  • OpenShift CLI를 설치한 후 oc 명령을 사용할 수 있습니다.

    $ oc <command>
Windows에서 OpenSfhit CLI 설치

다음 절차에 따라 Windows에 OpenShift CLI(oc) 바이너리를 설치할 수 있습니다.

프로세스

  1. Red Hat 고객 포털에서 OpenShift Container Platform 다운로드 페이지로 이동합니다.
  2. 버전 드롭다운 목록에서 적절한 버전을 선택합니다.
  3. OpenShift v4.17 Windows Client 항목 옆에 있는 지금 다운로드를 클릭하고 파일을 저장합니다.
  4. ZIP 프로그램으로 아카이브의 압축을 풉니다.
  5. oc 바이너리를 PATH에 있는 디렉터리로 이동합니다.

    PATH를 확인하려면 명령 프롬프트를 열고 다음 명령을 실행합니다.

    C:\> path

검증

  • OpenShift CLI를 설치한 후 oc 명령을 사용할 수 있습니다.

    C:\> oc <command>
macOS에 OpenShift CLI 설치

다음 절차에 따라 macOS에서 OpenShift CLI(oc) 바이너리를 설치할 수 있습니다.

프로세스

  1. Red Hat 고객 포털에서 OpenShift Container Platform 다운로드 페이지로 이동합니다.
  2. 버전 드롭다운 목록에서 적절한 버전을 선택합니다.
  3. OpenShift v4.17 macOS Clients 항목 옆에 있는 지금 다운로드를 클릭하고 파일을 저장합니다.

    참고

    macOS arm64의 경우 OpenShift v4.17 macOS arm64 Client 항목을 선택합니다.

  4. 아카이브의 압축을 해제하고 압축을 풉니다.
  5. oc 바이너리 PATH의 디렉터리로 이동합니다.

    PATH를 확인하려면 터미널을 열고 다음 명령을 실행합니다.

    $ echo $PATH

검증

  • oc 명령을 사용하여 설치를 확인합니다.

    $ oc <command>

3.9. Nutanix의 IAM 구성

클러스터를 설치하려면 CCO(Cloud Credential Operator)가 수동 모드에서 작동해야 합니다. 설치 프로그램은 수동 모드에 대한 CCO를 구성하는 동안 ID 및 액세스 관리 보안을 지정해야 합니다.

사전 요구 사항

  • ccoctl 바이너리를 구성했습니다.
  • install-config.yaml 파일이 있습니다.

프로세스

  1. 다음 형식으로 자격 증명 데이터가 포함된 YAML 파일을 생성합니다.

    인증 정보 데이터 형식

    credentials:
    - type: basic_auth 1
      data:
        prismCentral: 2
          username: <username_for_prism_central>
          password: <password_for_prism_central>
        prismElements: 3
        - name: <name_of_prism_element>
          username: <username_for_prism_element>
          password: <password_for_prism_element>

    1
    인증 유형을 지정합니다. 기본 인증만 지원됩니다.
    2
    Prism Central 자격 증명을 지정합니다.
    3
    선택 사항: Prism Element 자격 증명을 지정합니다.
  2. 다음 명령을 실행하여 설치 파일의 릴리스 이미지로 $RELEASE_IMAGE 변수를 설정합니다.

    $ RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $3}')
  3. 다음 명령을 실행하여 OpenShift Container Platform 릴리스 이미지에서 CredentialsRequest CR(사용자 정의 리소스) 목록을 추출합니다.

    $ oc adm release extract \
      --from=$RELEASE_IMAGE \
      --credentials-requests \
      --included \1
      --install-config=<path_to_directory_with_installation_configuration>/install-config.yaml \2
      --to=<path_to_directory_for_credentials_requests> 3
    1
    --included 매개변수에는 특정 클러스터 구성에 필요한 매니페스트만 포함됩니다.
    2
    install-config.yaml 파일의 위치를 지정합니다.
    3
    CredentialsRequest 오브젝트를 저장할 디렉터리의 경로를 지정합니다. 지정된 디렉터리가 없으면 이 명령이 이를 생성합니다.

    샘플 CredentialsRequest 개체

      apiVersion: cloudcredential.openshift.io/v1
      kind: CredentialsRequest
      metadata:
        annotations:
          include.release.openshift.io/self-managed-high-availability: "true"
        labels:
          controller-tools.k8s.io: "1.0"
        name: openshift-machine-api-nutanix
        namespace: openshift-cloud-credential-operator
      spec:
        providerSpec:
          apiVersion: cloudcredential.openshift.io/v1
          kind: NutanixProviderSpec
        secretRef:
          name: nutanix-credentials
          namespace: openshift-machine-api

  4. ccoctl 툴을 사용하여 다음 명령을 실행하여 모든 CredentialsRequest 오브젝트를 처리합니다.

    $ ccoctl nutanix create-shared-secrets \
      --credentials-requests-dir=<path_to_credentials_requests_directory> \1
      --output-dir=<ccoctl_output_dir> \2
      --credentials-source-filepath=<path_to_credentials_file> 3
    1
    구성 요소 CredentialsRequests 오브젝트의 파일이 포함된 디렉터리의 경로를 지정합니다.
    2
    선택 사항: ccoctl 유틸리티에서 오브젝트를 생성할 디렉터리를 지정합니다. 기본적으로 유틸리티는 명령이 실행되는 디렉터리에 오브젝트를 생성합니다.
    3
    선택 사항: 인증 정보 데이터 YAML 파일이 포함된 디렉터리를 지정합니다. 기본적으로 ccoctl 은 이 파일이 < home_directory>/.nutanix/credentials 에 있을 것으로 예상합니다.
  5. credentialsMode 매개변수가 Manual 로 설정되도록 install-config.yaml 구성 파일을 편집합니다.

    install-config.yaml 설정 파일 예

    apiVersion: v1
    baseDomain: cluster1.example.com
    credentialsMode: Manual 1
    ...

    1
    이 행을 추가하여 credentialsMode 매개변수를 Manual 로 설정합니다.
  6. 다음 명령을 실행하여 설치 매니페스트를 생성합니다.

    $ openshift-install create manifests --dir <installation_directory> 1
    1
    클러스터의 install-config.yaml 파일이 포함된 디렉터리의 경로를 지정합니다.
  7. 다음 명령을 실행하여 생성된 인증 정보 파일을 대상 매니페스트 디렉터리에 복사합니다.

    $ cp <ccoctl_output_dir>/manifests/*credentials.yaml ./<installation_directory>/manifests

검증

  • 매니페스트 디렉터리에 적절한 시크릿이 있는지 확인합니다.

    $ ls ./<installation_directory>/manifests

    출력 예

    cluster-config.yaml
    cluster-dns-02-config.yml
    cluster-infrastructure-02-config.yml
    cluster-ingress-02-config.yml
    cluster-network-01-crd.yml
    cluster-network-02-config.yml
    cluster-proxy-01-config.yaml
    cluster-scheduler-02-config.yml
    cvo-overrides.yaml
    kube-cloud-config.yaml
    kube-system-configmap-root-ca.yaml
    machine-config-server-tls-secret.yaml
    openshift-config-secret-pull-secret.yaml
    openshift-cloud-controller-manager-nutanix-credentials-credentials.yaml
    openshift-machine-api-nutanix-credentials-credentials.yaml

3.10. Nutanix CCM에 필요한 구성 맵 및 시크릿 리소스 추가

Nutanix에 설치하려면 Nutanix Cloud Controller Manager (CCM)와 통합하기 위해 추가 ConfigMapSecret 리소스가 필요합니다.

사전 요구 사항

  • 설치 디렉터리에 매니페스트 디렉터리가 생성되어 있습니다.

프로세스

  1. manifests 디렉터리로 이동합니다.

    $ cd <path_to_installation_directory>/manifests
  2. 이름이 openshift-cloud-controller-manager-cloud-config.yamlcloud-conf ConfigMap 파일을 생성하고 다음 정보를 추가합니다.

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: cloud-conf
      namespace: openshift-cloud-controller-manager
    data:
      cloud.conf: "{
          \"prismCentral\": {
              \"address\": \"<prism_central_FQDN/IP>\", 1
              \"port\": 9440,
                \"credentialRef\": {
                    \"kind\": \"Secret\",
                    \"name\": \"nutanix-credentials\",
                    \"namespace\": \"openshift-cloud-controller-manager\"
                }
           },
           \"topologyDiscovery\": {
               \"type\": \"Prism\",
               \"topologyCategories\": null
           },
           \"enableCustomLabeling\": true
         }"
    1
    Prism Central FQDN/IP를 지정합니다.
  3. cluster-infrastructure-02-config.yml 파일이 존재하고 다음 정보가 있는지 확인합니다.

    spec:
      cloudConfig:
        key: config
        name: cloud-provider-config

3.11. 사용자 관리 로드 밸런서의 서비스

기본 로드 밸런서 대신 사용자 관리 로드 밸런서를 사용하도록 OpenShift Container Platform 클러스터를 구성할 수 있습니다.

중요

사용자 관리 로드 밸런서 구성은 벤더의 로드 밸런서에 따라 다릅니다.

이 섹션의 정보와 예제는 지침용으로만 사용됩니다. 벤더의 로드 밸런서에 대한 자세한 내용은 벤더 설명서를 참조하십시오.

Red Hat은 사용자 관리 로드 밸런서에 대해 다음 서비스를 지원합니다.

  • Ingress 컨트롤러
  • OpenShift API
  • OpenShift MachineConfig API

사용자 관리 로드 밸런서에 대해 이러한 서비스 중 하나 또는 모두를 구성할지 여부를 선택할 수 있습니다. Ingress 컨트롤러 서비스만 구성하는 것은 일반적인 구성 옵션입니다. 각 서비스를 더 잘 이해하려면 다음 다이어그램을 참조하십시오.

그림 3.1. OpenShift Container Platform 환경에서 작동하는 Ingress 컨트롤러를 보여주는 네트워크 워크플로의 예

OpenShift Container Platform 환경에서 작동하는 Ingress 컨트롤러의 네트워크 워크플로 예제를 보여주는 이미지입니다.

그림 3.2. OpenShift Container Platform 환경에서 작동하는 OpenShift API를 보여주는 네트워크 워크플로우의 예

OpenShift Container Platform 환경에서 작동하는 OpenShift API의 네트워크 워크플로 예제를 보여주는 이미지입니다.

그림 3.3. OpenShift Container Platform 환경에서 작동하는 OpenShift MachineConfig API를 보여주는 네트워크 워크플로우의 예

OpenShift Container Platform 환경에서 작동하는 OpenShift MachineConfig API의 네트워크 워크플로 예제를 보여주는 이미지입니다.

사용자 관리 로드 밸런서에 대해 지원되는 구성 옵션은 다음과 같습니다.

  • 노드 선택기를 사용하여 Ingress 컨트롤러를 특정 노드 세트에 매핑합니다. 이 세트의 각 노드에 고정 IP 주소를 할당하거나 DHCP(Dynamic Host Configuration Protocol)에서 동일한 IP 주소를 수신하도록 각 노드를 구성해야 합니다. 인프라 노드는 일반적으로 이러한 유형의 구성을 수신합니다.
  • 서브넷의 모든 IP 주소를 대상으로 지정합니다. 이 구성은 로드 밸런서 대상을 재구성하지 않고 해당 네트워크 내에서 노드를 생성하고 삭제할 수 있으므로 유지 관리 오버헤드를 줄일 수 있습니다. /27 또는 /28 과 같은 작은 네트워크에 머신 세트를 사용하여 Ingress Pod를 배포하는 경우 로드 밸런서 대상을 단순화할 수 있습니다.

    작은 정보

    머신 구성 풀의 리소스를 확인하여 네트워크에 존재하는 모든 IP 주소를 나열할 수 있습니다.

OpenShift Container Platform 클러스터에 대한 사용자 관리 로드 밸런서를 구성하기 전에 다음 정보를 고려하십시오.

  • 프런트 엔드 IP 주소의 경우 프런트 엔드 IP 주소, Ingress 컨트롤러의 로드 밸런서 및 API 로드 밸런서에 동일한 IP 주소를 사용할 수 있습니다. 이 기능에 대해서는 벤더의 설명서를 확인하십시오.
  • 백엔드 IP 주소의 경우 사용자 관리 로드 밸런서의 수명 동안 OpenShift Container Platform 컨트롤 플레인 노드의 IP 주소가 변경되지 않아야 합니다. 다음 작업 중 하나를 완료하여 이 작업을 수행할 수 있습니다.

    • 각 컨트롤 플레인 노드에 고정 IP 주소를 할당합니다.
    • 노드가 DHCP 리스를 요청할 때마다 DHCP에서 동일한 IP 주소를 수신하도록 각 노드를 구성합니다. 공급 업체에 따라 DHCP 리스를 IP 예약 또는 정적 DHCP 할당의 형태로 될 수 있습니다.
  • Ingress 컨트롤러 백엔드 서비스의 사용자 관리 로드 밸런서에서 Ingress 컨트롤러를 실행하는 각 노드를 수동으로 정의합니다. 예를 들어 Ingress 컨트롤러가 정의되지 않은 노드로 이동하는 경우 연결 중단이 발생할 수 있습니다.

3.11.1. 사용자 관리 로드 밸런서 구성

기본 로드 밸런서 대신 사용자 관리 로드 밸런서를 사용하도록 OpenShift Container Platform 클러스터를 구성할 수 있습니다.

중요

사용자 관리 로드 밸런서를 구성하기 전에 "사용자 관리 로드 밸런서의 서비스" 섹션을 읽으십시오.

사용자 관리 로드 밸런서에 대해 구성할 서비스에 적용되는 다음 사전 요구 사항을 읽으십시오.

참고

클러스터에서 실행되는 MetalLB는 사용자 관리 로드 밸런서로 작동합니다.

OpenShift API 사전 요구 사항

  • 프런트 엔드 IP 주소를 정의했습니다.
  • TCP 포트 6443 및 22623은 로드 밸런서의 프런트 엔드 IP 주소에 노출됩니다. 다음 항목을 확인합니다.

    • 포트 6443은 OpenShift API 서비스에 대한 액세스를 제공합니다.
    • 포트 22623은 노드에 Ignition 시작 구성을 제공할 수 있습니다.
  • 프런트 엔드 IP 주소와 포트 6443은 OpenShift Container Platform 클러스터 외부의 위치로 시스템의 모든 사용자가 연결할 수 있습니다.
  • 프런트 엔드 IP 주소와 포트 22623은 OpenShift Container Platform 노드에서만 연결할 수 있습니다.
  • 로드 밸런서 백엔드는 포트 6443 및 22623의 OpenShift Container Platform 컨트롤 플레인 노드와 통신할 수 있습니다.

Ingress 컨트롤러 사전 요구 사항

  • 프런트 엔드 IP 주소를 정의했습니다.
  • TCP 포트 443 및 80은 로드 밸런서의 프런트 엔드 IP 주소에 노출됩니다.
  • 프런트 엔드 IP 주소, 포트 80 및 포트 443은 OpenShift Container Platform 클러스터 외부에 있는 위치로 시스템의 모든 사용자가 연결할 수 있습니다.
  • 프런트 엔드 IP 주소, 포트 80 및 포트 443은 OpenShift Container Platform 클러스터에서 작동하는 모든 노드에 연결할 수 있습니다.
  • 로드 밸런서 백엔드는 포트 80, 443, 1936에서 Ingress 컨트롤러를 실행하는 OpenShift Container Platform 노드와 통신할 수 있습니다.

상태 점검 URL 사양의 사전 요구 사항

서비스를 사용할 수 없거나 사용할 수 없는지 결정하는 상태 점검 URL을 설정하여 대부분의 로드 밸런서를 구성할 수 있습니다. OpenShift Container Platform은 OpenShift API, 머신 구성 API 및 Ingress 컨트롤러 백엔드 서비스에 대한 이러한 상태 점검을 제공합니다.

다음 예제에서는 이전에 나열된 백엔드 서비스의 상태 점검 사양을 보여줍니다.

Kubernetes API 상태 점검 사양의 예

Path: HTTPS:6443/readyz
Healthy threshold: 2
Unhealthy threshold: 2
Timeout: 10
Interval: 10

Machine Config API 상태 점검 사양의 예

Path: HTTPS:22623/healthz
Healthy threshold: 2
Unhealthy threshold: 2
Timeout: 10
Interval: 10

Ingress 컨트롤러 상태 점검 사양의 예

Path: HTTP:1936/healthz/ready
Healthy threshold: 2
Unhealthy threshold: 2
Timeout: 5
Interval: 10

프로세스

  1. 포트 6443, 22623, 443 및 80의 로드 밸런서에서 클러스터에 액세스할 수 있도록 HAProxy Ingress 컨트롤러를 구성합니다. 필요에 따라 HAProxy 구성에 있는 여러 서브넷의 IP 주소 또는 단일 서브넷의 IP 주소를 지정할 수 있습니다.

    나열된 서브넷이 있는 HAProxy 구성 예

    # ...
    listen my-cluster-api-6443
        bind 192.168.1.100:6443
        mode tcp
        balance roundrobin
      option httpchk
      http-check connect
      http-check send meth GET uri /readyz
      http-check expect status 200
        server my-cluster-master-2 192.168.1.101:6443 check inter 10s rise 2 fall 2
        server my-cluster-master-0 192.168.1.102:6443 check inter 10s rise 2 fall 2
        server my-cluster-master-1 192.168.1.103:6443 check inter 10s rise 2 fall 2
    
    listen my-cluster-machine-config-api-22623
        bind 192.168.1.100:22623
        mode tcp
        balance roundrobin
      option httpchk
      http-check connect
      http-check send meth GET uri /healthz
      http-check expect status 200
        server my-cluster-master-2 192.168.1.101:22623 check inter 10s rise 2 fall 2
        server my-cluster-master-0 192.168.1.102:22623 check inter 10s rise 2 fall 2
        server my-cluster-master-1 192.168.1.103:22623 check inter 10s rise 2 fall 2
    
    listen my-cluster-apps-443
        bind 192.168.1.100:443
        mode tcp
        balance roundrobin
      option httpchk
      http-check connect
      http-check send meth GET uri /healthz/ready
      http-check expect status 200
        server my-cluster-worker-0 192.168.1.111:443 check port 1936 inter 10s rise 2 fall 2
        server my-cluster-worker-1 192.168.1.112:443 check port 1936 inter 10s rise 2 fall 2
        server my-cluster-worker-2 192.168.1.113:443 check port 1936 inter 10s rise 2 fall 2
    
    listen my-cluster-apps-80
       bind 192.168.1.100:80
       mode tcp
       balance roundrobin
      option httpchk
      http-check connect
      http-check send meth GET uri /healthz/ready
      http-check expect status 200
        server my-cluster-worker-0 192.168.1.111:80 check port 1936 inter 10s rise 2 fall 2
        server my-cluster-worker-1 192.168.1.112:80 check port 1936 inter 10s rise 2 fall 2
        server my-cluster-worker-2 192.168.1.113:80 check port 1936 inter 10s rise 2 fall 2
    # ...

    나열된 여러 서브넷이 있는 HAProxy 구성의 예

    # ...
    listen api-server-6443
        bind *:6443
        mode tcp
          server master-00 192.168.83.89:6443 check inter 1s
          server master-01 192.168.84.90:6443 check inter 1s
          server master-02 192.168.85.99:6443 check inter 1s
          server bootstrap 192.168.80.89:6443 check inter 1s
    
    listen machine-config-server-22623
        bind *:22623
        mode tcp
          server master-00 192.168.83.89:22623 check inter 1s
          server master-01 192.168.84.90:22623 check inter 1s
          server master-02 192.168.85.99:22623 check inter 1s
          server bootstrap 192.168.80.89:22623 check inter 1s
    
    listen ingress-router-80
        bind *:80
        mode tcp
        balance source
          server worker-00 192.168.83.100:80 check inter 1s
          server worker-01 192.168.83.101:80 check inter 1s
    
    listen ingress-router-443
        bind *:443
        mode tcp
        balance source
          server worker-00 192.168.83.100:443 check inter 1s
          server worker-01 192.168.83.101:443 check inter 1s
    
    listen ironic-api-6385
        bind *:6385
        mode tcp
        balance source
          server master-00 192.168.83.89:6385 check inter 1s
          server master-01 192.168.84.90:6385 check inter 1s
          server master-02 192.168.85.99:6385 check inter 1s
          server bootstrap 192.168.80.89:6385 check inter 1s
    
    listen inspector-api-5050
        bind *:5050
        mode tcp
        balance source
          server master-00 192.168.83.89:5050 check inter 1s
          server master-01 192.168.84.90:5050 check inter 1s
          server master-02 192.168.85.99:5050 check inter 1s
          server bootstrap 192.168.80.89:5050 check inter 1s
    # ...

  2. curl CLI 명령을 사용하여 사용자 관리 로드 밸런서 및 해당 리소스가 작동하는지 확인합니다.

    1. 다음 명령을 실행하고 응답을 관찰하여 Kubernetes API 서버 리소스에서 클러스터 머신 구성 API에 액세스할 수 있는지 확인합니다.

      $ curl https://<loadbalancer_ip_address>:6443/version --insecure

      구성이 올바르면 응답으로 JSON 오브젝트가 표시됩니다.

      {
        "major": "1",
        "minor": "11+",
        "gitVersion": "v1.11.0+ad103ed",
        "gitCommit": "ad103ed",
        "gitTreeState": "clean",
        "buildDate": "2019-01-09T06:44:10Z",
        "goVersion": "go1.10.3",
        "compiler": "gc",
        "platform": "linux/amd64"
      }
    2. 다음 명령을 실행하고 출력을 관찰하여 클러스터 머신 구성 API에 머신 구성 서버 리소스에 액세스할 수 있는지 확인합니다.

      $ curl -v https://<loadbalancer_ip_address>:22623/healthz --insecure

      구성이 올바르면 명령의 출력에 다음 응답이 표시됩니다.

      HTTP/1.1 200 OK
      Content-Length: 0
    3. 다음 명령을 실행하고 출력을 관찰하여 포트 80의 Ingress 컨트롤러 리소스에서 컨트롤러에 액세스할 수 있는지 확인합니다.

      $ curl -I -L -H "Host: console-openshift-console.apps.<cluster_name>.<base_domain>" http://<load_balancer_front_end_IP_address>

      구성이 올바르면 명령의 출력에 다음 응답이 표시됩니다.

      HTTP/1.1 302 Found
      content-length: 0
      location: https://console-openshift-console.apps.ocp4.private.opequon.net/
      cache-control: no-cache
    4. 다음 명령을 실행하고 출력을 관찰하여 포트 443의 Ingress 컨트롤러 리소스에서 컨트롤러에 액세스할 수 있는지 확인합니다.

      $ curl -I -L --insecure --resolve console-openshift-console.apps.<cluster_name>.<base_domain>:443:<Load Balancer Front End IP Address> https://console-openshift-console.apps.<cluster_name>.<base_domain>

      구성이 올바르면 명령의 출력에 다음 응답이 표시됩니다.

      HTTP/1.1 200 OK
      referrer-policy: strict-origin-when-cross-origin
      set-cookie: csrf-token=UlYWOyQ62LWjw2h003xtYSKlh1a0Py2hhctw0WmV2YEdhJjFyQwWcGBsja261dGLgaYO0nxzVErhiXt6QepA7g==; Path=/; Secure; SameSite=Lax
      x-content-type-options: nosniff
      x-dns-prefetch-control: off
      x-frame-options: DENY
      x-xss-protection: 1; mode=block
      date: Wed, 04 Oct 2023 16:29:38 GMT
      content-type: text/html; charset=utf-8
      set-cookie: 1e2670d92730b515ce3a1bb65da45062=1bf5e9573c9a2760c964ed1659cc1673; path=/; HttpOnly; Secure; SameSite=None
      cache-control: private
  3. 사용자 관리 로드 밸런서의 프런트 엔드 IP 주소를 대상으로 하도록 클러스터의 DNS 레코드를 구성합니다. 로드 밸런서를 통해 클러스터 API 및 애플리케이션의 DNS 서버로 레코드를 업데이트해야 합니다.

    수정된 DNS 레코드 예

    <load_balancer_ip_address>  A  api.<cluster_name>.<base_domain>
    A record pointing to Load Balancer Front End

    <load_balancer_ip_address>   A apps.<cluster_name>.<base_domain>
    A record pointing to Load Balancer Front End
    중요

    DNS 전파는 각 DNS 레코드를 사용할 수 있을 때까지 약간의 시간이 걸릴 수 있습니다. 각 레코드를 검증하기 전에 각 DNS 레코드가 전파되는지 확인합니다.

  4. OpenShift Container Platform 클러스터가 사용자 관리 로드 밸런서를 사용하려면 클러스터의 install-config.yaml 파일에 다음 구성을 지정해야 합니다.

    # ...
    platform:
      nutanix:
        loadBalancer:
          type: UserManaged 1
          apiVIPs:
          - <api_ip> 2
          ingressVIPs:
          - <ingress_ip> 3
    # ...
    1
    type 매개변수에 대해 UserManaged 를 설정하여 클러스터의 사용자 관리 로드 밸런서를 지정합니다. 매개변수의 기본값은 기본 내부 로드 밸런서를 나타내는 OpenShiftManagedDefault 입니다. openshift-kni-infra 네임스페이스에 정의된 서비스의 경우 사용자 관리 로드 밸런서는 coredns 서비스를 클러스터의 Pod에 배포할 수 있지만 keepalivedhaproxy 서비스를 무시합니다.
    2
    사용자 관리 로드 밸런서를 지정할 때 필수 매개변수입니다. Kubernetes API가 사용자 관리 로드 밸런서와 통신할 수 있도록 사용자 관리 로드 밸런서의 공용 IP 주소를 지정합니다.
    3
    사용자 관리 로드 밸런서를 지정할 때 필수 매개변수입니다. 사용자 관리 로드 밸런서에서 클러스터의 인그레스 트래픽을 관리할 수 있도록 사용자 관리 로드 밸런서의 공용 IP 주소를 지정합니다.

검증

  1. curl CLI 명령을 사용하여 사용자 관리 로드 밸런서 및 DNS 레코드 구성이 작동하는지 확인합니다.

    1. 다음 명령을 실행하고 출력을 관찰하여 클러스터 API에 액세스할 수 있는지 확인합니다.

      $ curl https://api.<cluster_name>.<base_domain>:6443/version --insecure

      구성이 올바르면 응답으로 JSON 오브젝트가 표시됩니다.

      {
        "major": "1",
        "minor": "11+",
        "gitVersion": "v1.11.0+ad103ed",
        "gitCommit": "ad103ed",
        "gitTreeState": "clean",
        "buildDate": "2019-01-09T06:44:10Z",
        "goVersion": "go1.10.3",
        "compiler": "gc",
        "platform": "linux/amd64"
        }
    2. 다음 명령을 실행하고 출력을 관찰하여 클러스터 머신 구성에 액세스할 수 있는지 확인합니다.

      $ curl -v https://api.<cluster_name>.<base_domain>:22623/healthz --insecure

      구성이 올바르면 명령의 출력에 다음 응답이 표시됩니다.

      HTTP/1.1 200 OK
      Content-Length: 0
    3. 다음 명령을 실행하고 출력을 관찰하여 포트의 각 클러스터 애플리케이션에 액세스할 수 있는지 확인합니다.

      $ curl http://console-openshift-console.apps.<cluster_name>.<base_domain> -I -L --insecure

      구성이 올바르면 명령의 출력에 다음 응답이 표시됩니다.

      HTTP/1.1 302 Found
      content-length: 0
      location: https://console-openshift-console.apps.<cluster-name>.<base domain>/
      cache-control: no-cacheHTTP/1.1 200 OK
      referrer-policy: strict-origin-when-cross-origin
      set-cookie: csrf-token=39HoZgztDnzjJkq/JuLJMeoKNXlfiVv2YgZc09c3TBOBU4NI6kDXaJH1LdicNhN1UsQWzon4Dor9GWGfopaTEQ==; Path=/; Secure
      x-content-type-options: nosniff
      x-dns-prefetch-control: off
      x-frame-options: DENY
      x-xss-protection: 1; mode=block
      date: Tue, 17 Nov 2020 08:42:10 GMT
      content-type: text/html; charset=utf-8
      set-cookie: 1e2670d92730b515ce3a1bb65da45062=9b714eb87e93cf34853e87a92d6894be; path=/; HttpOnly; Secure; SameSite=None
      cache-control: private
    4. 다음 명령을 실행하고 출력을 관찰하여 포트 443에서 각 클러스터 애플리케이션에 액세스할 수 있는지 확인합니다.

      $ curl https://console-openshift-console.apps.<cluster_name>.<base_domain> -I -L --insecure

      구성이 올바르면 명령의 출력에 다음 응답이 표시됩니다.

      HTTP/1.1 200 OK
      referrer-policy: strict-origin-when-cross-origin
      set-cookie: csrf-token=UlYWOyQ62LWjw2h003xtYSKlh1a0Py2hhctw0WmV2YEdhJjFyQwWcGBsja261dGLgaYO0nxzVErhiXt6QepA7g==; Path=/; Secure; SameSite=Lax
      x-content-type-options: nosniff
      x-dns-prefetch-control: off
      x-frame-options: DENY
      x-xss-protection: 1; mode=block
      date: Wed, 04 Oct 2023 16:29:38 GMT
      content-type: text/html; charset=utf-8
      set-cookie: 1e2670d92730b515ce3a1bb65da45062=1bf5e9573c9a2760c964ed1659cc1673; path=/; HttpOnly; Secure; SameSite=None
      cache-control: private

3.12. 클러스터 배포

호환되는 클라우드 플랫폼에 OpenShift Container Platform을 설치할 수 있습니다.

중요

최초 설치 과정에서 설치 프로그램의 create cluster 명령을 한 번만 실행할 수 있습니다.

사전 요구 사항

  • OpenShift Container Platform 설치 프로그램과 클러스터의 풀 시크릿이 있습니다.
  • 호스트의 클라우드 공급자 계정에 클러스터를 배포할 수 있는 올바른 권한이 있는지 확인했습니다. 잘못된 권한이 있는 계정으로 인해 누락된 권한이 표시되는 오류 메시지와 함께 설치 프로세스가 실패합니다.

프로세스

  • 설치 프로그램이 포함된 디렉터리로 변경하고 클러스터 배포를 초기화합니다.

    $ ./openshift-install create cluster --dir <installation_directory> \ 1
        --log-level=info 2
    1
    <installation_directory> 값으로 사용자 지정한 ./install-config.yaml 파일의 위치를 지정합니다.
    2
    다른 설치 세부 사항을 보려면 info 대신 warn, debug 또는 error를 지정합니다.

검증

클러스터 배포가 성공적으로 완료되면 다음을 수행합니다.

  • 터미널에는 웹 콘솔에 대한 링크 및 kubeadmin 사용자의 인증 정보를 포함하여 클러스터에 액세스하는 지침이 표시됩니다.
  • 인증 정보도 < installation_directory>/.openshift_install.log 로 출력합니다.
중요

설치 프로그램 또는 설치 프로그램이 생성하는 파일을 삭제하지 마십시오. 클러스터를 삭제하려면 두 가지가 모두 필요합니다.

출력 예

...
INFO Install complete!
INFO To access the cluster as the system:admin user when using 'oc', run 'export KUBECONFIG=/home/myuser/install_dir/auth/kubeconfig'
INFO Access the OpenShift web-console here: https://console-openshift-console.apps.mycluster.example.com
INFO Login to the console with user: "kubeadmin", and password: "password"
INFO Time elapsed: 36m22s

중요
  • 설치 프로그램에서 생성하는 Ignition 구성 파일에 24시간 후에 만료되는 인증서가 포함되어 있습니다. 이 인증서는 그 후에 갱신됩니다. 인증서를 갱신하기 전에 클러스터가 종료되고 24시간이 지난 후에 클러스터가 다시 시작되면 클러스터는 만료된 인증서를 자동으로 복구합니다. 예외적으로 kubelet 인증서를 복구하려면 대기 중인 node-bootstrapper 인증서 서명 요청(CSR)을 수동으로 승인해야 합니다. 자세한 내용은 만료된 컨트롤 플레인 인증서에서 복구 문서를 참조하십시오.
  • 24 시간 인증서는 클러스터를 설치한 후 16시간에서 22시간으로 인증서가 교체되기 때문에 생성된 후 12시간 이내에 Ignition 구성 파일을 사용하는 것이 좋습니다. 12시간 이내에 Ignition 구성 파일을 사용하면 설치 중에 인증서 업데이트가 실행되는 경우 설치 실패를 방지할 수 있습니다.

3.13. 기본 스토리지 컨테이너 구성

클러스터를 설치한 후 Nutanix CSI Operator를 설치하고 클러스터의 기본 스토리지 컨테이너를 구성해야 합니다.

자세한 내용은 CSI Operator 설치 및 레지스트리 스토리지 구성 을 위한 Nutanix 설명서를 참조하십시오.

3.14. OpenShift Container Platform의 Telemetry 액세스

OpenShift Container Platform 4.17에서 클러스터 상태 및 업데이트 진행에 대한 메트릭을 제공하기 위해 기본적으로 실행되는 Telemetry 서비스에는 인터넷 액세스가 필요합니다. 클러스터가 인터넷에 연결되어 있으면 Telemetry가 자동으로 실행되고 OpenShift Cluster Manager에 클러스터가 자동으로 등록됩니다.

OpenShift Cluster Manager 인벤토리가 올바르거나 OpenShift Cluster Manager를 사용하여 자동으로 또는 OpenShift Cluster Manager를 사용하여 수동으로 유지 관리되는지 확인한 후 subscription watch를 사용하여 계정 또는 다중 클러스터 수준에서 OpenShift Container Platform 서브스크립션을 추적합니다.

3.15. 추가 리소스

3.16. 다음 단계

4장. 제한된 네트워크에서 Nutanix에 클러스터 설치

OpenShift Container Platform 4.17에서는 설치 릴리스 콘텐츠의 내부 미러를 생성하여 제한된 네트워크의 Nutanix 인프라에 클러스터를 설치할 수 있습니다.

4.1. 사전 요구 사항

  • OpenShift Container Platform 설치 및 업데이트 프로세스에 대한 세부 사항을 검토했습니다.
  • 설치 프로그램은 Prism Central 및 Prism Element의 포트 9440에 액세스해야 합니다. 포트 9440에 액세스할 수 있는지 확인합니다.
  • 방화벽을 사용하는 경우 다음 사전 요구 사항을 충족했습니다.

    • 포트 9440에 액세스할 수 있음을 확인했습니다. 컨트롤 플레인 노드는 설치에 성공하려면 포트 9440에서 Prism Central 및 Prism Element에 도달할 수 있어야 합니다.
    • OpenShift Container Platform에 필요한 사이트에 대한 액세스 권한을 부여 하도록 방화벽을 구성하셨습니다. 여기에는 Telemetry 사용이 포함됩니다.
  • Nutanix 환경에서 기본 자체 서명된 SSL/TLS 인증서를 사용하는 경우 CA에서 서명한 인증서로 교체합니다. 설치 프로그램에는 Prism Central API에 액세스하려면 유효한 CA 서명 인증서가 필요합니다. 자체 서명된 인증서 교체에 대한 자세한 내용은 Nutanix AOS 보안 가이드를 참조하십시오.

    Nutanix 환경에서 내부 CA를 사용하여 인증서를 발급하는 경우 클러스터 전체 프록시를 설치 프로세스의 일부로 구성해야 합니다. 자세한 내용은 사용자 정의 PKI 구성을 참조하십시오.

    중요

    2048비트 인증서를 사용합니다. Prism Central 2022.x와 함께 4096비트 인증서를 사용하는 경우 설치에 실패합니다.

  • Red Hat Quay와 같은 컨테이너 이미지 레지스트리가 있습니다. 레지스트리가 없는 경우 Red Hat OpenShift 용 미러 레지스트리를 사용하여 미러 레지스트리 를 생성할 수 있습니다.
  • oc-mirror OpenShift CLI(oc) 플러그인 을 사용하여 Nutanix CSI Operator를 포함한 모든 필수 OpenShift Container Platform 콘텐츠 및 기타 이미지를 미러 레지스트리에 미러링했습니다.

    중요

    미러 호스트에 설치 미디어가 있으므로 해당 컴퓨터를 사용하여 모든 설치 단계를 완료하십시오.

4.2. 네트워크가 제한된 환경에서의 설치 정보

OpenShift Container Platform 4.17에서는 소프트웨어 구성 요소를 받기 위한 인터넷 접속이 필요하지 않은 설치를 수행할 수 있습니다. 제한된 네트워크 설치는 클러스터를 설치하는 클라우드 플랫폼에 따라 설치 관리자 프로비저닝 인프라 또는 사용자 프로비저닝 인프라를 사용하여 완료할 수 있습니다.

클라우드 플랫폼에 제한된 네트워크 설치를 수행하는 방법을 선택해도 클라우드 API에 액세스는 가능해야 합니다. Amazon Web Service의 Route 53 DNS 및 IAM 서비스와 같은 일부 클라우드 기능에는 인터넷 액세스가 필요합니다. 네트워크에 따라 베어 메탈 하드웨어, Nutanix 또는 VMware vSphere에 설치하기 위해 인터넷 액세스가 줄어들 수 있습니다.

제한된 네트워크 설치를 완료하려면 OpenShift 이미지 레지스트리의 콘텐츠를 미러링하고 설치 미디어를 포함하는 레지스트리를 생성해야 합니다. 인터넷과 폐쇄 네트워크에 모두 액세스하거나 제한 사항을 따르는 다른 방법을 통해 미러 호스트에 레지스트리를 생성할 수 있습니다.

4.2.1. 추가 제한

제한된 네트워크의 클러스터에는 다음과 같은 추가 제한이 있습니다.

  • ClusterVersion 상태에 사용 가능한 업데이트를 검색할 수 없음 오류가 포함되어 있습니다.
  • 기본적으로 필요한 이미지 스트림 태그에 액세스할 수 없기 때문에 개발자 카탈로그의 내용을 사용할 수 없습니다.

4.3. 클러스터 노드 SSH 액세스를 위한 키 쌍 생성

OpenShift Container Platform을 설치하는 동안 SSH 공개 키를 설치 프로그램에 지정할 수 있습니다. 키는 Ignition 구성 파일을 통해 RHCOS(Red Hat Enterprise Linux CoreOS) 노드에 전달되며 노드에 대한 SSH 액세스를 인증하는 데 사용됩니다. 키는 각 노드에서 core 사용자의 ~/.ssh/authorized_keys 목록에 추가되어 암호 없는 인증을 활성화합니다.

키가 노드에 전달되면 키 쌍을 사용하여 사용자 core로 RHCOS 노드에 SSH로 SSH 연결을 수행할 수 있습니다 . SSH를 통해 노드에 액세스하려면 로컬 사용자의 SSH에서 개인 키 ID를 관리해야 합니다.

설치 디버깅 또는 재해 복구를 수행하기 위해 클러스터 노드에 SSH를 실행하려면 설치 프로세스 중에 SSH 공용 키를 지정해야 합니다. ./openshift-install gather 명령에도 SSH 공개 키가 클러스터 노드에 있어야 합니다.

중요

재해 복구 및 디버깅이 필요한 프로덕션 환경에서는이 단계를 생략하지 마십시오.

참고

AWS 키 쌍과 같이 플랫폼 고유의 방식으로 구성된 키가 아닌 로컬 키를 사용해야 합니다.

프로세스

  1. 로컬 시스템에 클러스터 노드의 인증에 사용할 기존 SSH 키 쌍이 없는 경우 새로 생성합니다. 예를 들어 Linux 운영 체제를 사용하는 컴퓨터에서 다음 명령을 실행합니다.

    $ ssh-keygen -t ed25519 -N '' -f <path>/<file_name> 1
    1
    새 SSH 키의 경로 및 파일 이름(예: ~/.ssh/id_ed25519 )을 지정합니다. 기존 키 쌍이 있는 경우 공개 키가 '~/.ssh 디렉터리에 있는지 확인하십시오.
    참고

    x86_64,ppc64le, s390x 아키텍처에서만 FIPS 140-2/140-3 Validation에 대해 NIST에 제출된 RHEL 암호화 라이브러리를 사용하는 OpenShift Container Platform 클러스터를 설치하려면 ed25519 알고리즘을 사용하는 키를 생성하지 마십시오. 대신 rsa 또는 ecdsa 알고리즘을 사용하는 키를 생성합니다.

  2. 공개 SSH 키를 확인합니다.

    $ cat <path>/<file_name>.pub

    예를 들어 다음을 실행하여 ~/.ssh/id_ed25519.pub 공개 키를 확인합니다.

    $ cat ~/.ssh/id_ed25519.pub
  3. 아직 추가되지 않은 경우 로컬 사용자의 SSH 에이전트에 SSH 개인 키 ID를 추가합니다. 키의 SSH 에이전트 관리는 클러스터 노드에 암호 없는 SSH 인증을 수행하거나 ./openshift-install gather 명령을 사용하려는 경우 필요합니다.

    참고

    일부 배포에서는 ~/.ssh/id_rsa~/.ssh/id_dsa와 같은 기본 SSH 개인 키 ID가 자동으로 관리됩니다.

    1. ssh-agent 프로세스가 로컬 사용자에 대해 실행되지 않은 경우 백그라운드 작업으로 시작합니다.

      $ eval "$(ssh-agent -s)"

      출력 예

      Agent pid 31874

      참고

      클러스터가 FIPS 모드인 경우 FIPS 호환 알고리즘만 사용하여 SSH 키를 생성합니다. 키는 RSA 또는 ECDSA여야 합니다.

  4. ssh-agent에 SSH 개인 키를 추가합니다.

    $ ssh-add <path>/<file_name> 1
    1
    SSH 개인 키의 경로와 파일 이름을 지정합니다(예: ~/.ssh/id_ed25519).

    출력 예

    Identity added: /home/<you>/<path>/<file_name> (<computer_name>)

다음 단계

  • OpenShift Container Platform을 설치할 때 SSH 공개 키를 설치 프로그램에 지정합니다.

4.4. 시스템 신뢰에 Nutanix 루트 CA 인증서 추가

설치 프로그램에서 Prism Central API에 액세스해야 하므로 OpenShift Container Platform 클러스터를 설치하기 전에 Nutanix 신뢰할 수 있는 루트 CA 인증서를 시스템 신뢰에 추가해야 합니다.

프로세스

  1. Prism Central 웹 콘솔에서 Nutanix 루트 CA 인증서를 다운로드합니다.
  2. Nutanix 루트 CA 인증서가 포함된 압축 파일을 추출합니다.
  3. 운영 체제 파일을 시스템 신뢰에 추가합니다. 예를 들어 Fedora 운영 체제에서는 다음 명령을 실행합니다.

    # cp certs/lin/* /etc/pki/ca-trust/source/anchors
  4. 시스템 신뢰를 업데이트합니다. 예를 들어 Fedora 운영 체제에서는 다음 명령을 실행합니다.

    # update-ca-trust extract

4.5. RHCOS 클러스터 이미지 다운로드

Prism Central은 클러스터를 설치하려면 RHCOS(Red Hat Enterprise Linux CoreOS) 이미지에 액세스해야 합니다. 설치 프로그램을 사용하여 RHCOS 이미지를 찾아서 다운로드하여 내부 HTTP 서버 또는 Nutanix 개체를 통해 사용할 수 있도록 할 수 있습니다.

사전 요구 사항

  • OpenShift Container Platform 설치 프로그램과 클러스터의 풀 시크릿을 받습니다. 제한된 네트워크 설치의 경우, 해당 파일은 미러 호스트에 있습니다.

프로세스

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

    $ ./openshift-install coreos print-stream-json
  2. 명령 출력을 사용하여 Nutanix 이미지의 위치를 찾고 링크를 클릭하여 다운로드합니다.

    출력 예

    "nutanix": {
      "release": "411.86.202210041459-0",
      "formats": {
        "qcow2": {
          "disk": {
            "location": "https://rhcos.mirror.openshift.com/art/storage/releases/rhcos-4.11/411.86.202210041459-0/x86_64/rhcos-411.86.202210041459-0-nutanix.x86_64.qcow2",
            "sha256": "42e227cac6f11ac37ee8a2f9528bb3665146566890577fd55f9b950949e5a54b"

  3. 내부 HTTP 서버 또는 Nutanix 개체를 통해 이미지를 사용할 수 있도록 합니다.
  4. 다운로드한 이미지의 위치를 기록해 둡니다. 클러스터를 배포하기 전에 설치 구성 파일(install-config.yaml)의 platform 섹션을 이미지 위치로 업데이트합니다.

RHCOS 이미지를 지정하는 install-config.yaml 파일의 스니펫

platform:
  nutanix:
    clusterOSImage: http://example.com/images/rhcos-411.86.202210041459-0-nutanix.x86_64.qcow2

4.6. 설치 구성 파일 만들기

Nutanix에 설치하는 OpenShift Container Platform 클러스터를 사용자 지정할 수 있습니다.

사전 요구 사항

  • OpenShift Container Platform 설치 프로그램과 클러스터의 풀 시크릿이 있습니다. 제한된 네트워크 설치의 경우, 해당 파일은 미러 호스트에 있습니다.
  • 레지스트리를 미러링할 때 생성된 imageContentSourcePolicy.yaml 파일이 있습니다.
  • 다운로드한 RHCOS(Red Hat Enterprise Linux CoreOS) 이미지의 위치가 있습니다.
  • 미러 레지스트리에 대한 인증서의 콘텐츠를 가져왔습니다.
  • RHCOS(Red Hat Enterprise Linux CoreOS) 이미지를 검색하여 액세스 가능한 위치에 업로드했습니다.
  • Nutanix 네트워킹 요구 사항을 충족하는지 확인했습니다. 자세한 내용은 " Nutanix에 설치 준비"를 참조하십시오.

프로세스

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

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

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

      디렉터리를 지정할 때 다음을 수행합니다.

      • 디렉터리에 실행 권한이 있는지 확인합니다. 설치 디렉토리에서 Terraform 바이너리를 실행하려면 이 권한이 필요합니다.
      • 빈 디렉터리를 사용합니다. 부트스트랩 X.509 인증서와 같은 일부 설치 자산은 단기간에 만료되므로 설치 디렉터리를 재사용해서는 안 됩니다. 다른 클러스터 설치의 개별 파일을 재사용하려면 해당 파일을 사용자 디렉터리에 복사하면 됩니다. 그러나 설치 자산의 파일 이름은 릴리스간에 변경될 수 있습니다. 따라서 이전 OpenShift Container Platform 버전에서 설치 파일을 복사할 때는 주의하십시오.
    2. 화면에 나타나는 지시에 따라 클라우드에 대한 구성 세부 사항을 입력합니다.

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

        참고

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

      2. 대상 플랫폼으로 nutanix 를 선택합니다.
      3. Prism Central 도메인 이름 또는 IP 주소를 입력합니다.
      4. Prism Central에 로그인하는 데 사용되는 포트를 입력합니다.
      5. Prism Central에 로그인하는 데 사용되는 인증 정보를 입력합니다.

        설치 프로그램은 Prism Central에 연결됩니다.

      6. OpenShift Container Platform 클러스터를 관리할 Prism Element를 선택합니다.
      7. 사용할 네트워크 서브넷을 선택합니다.
      8. 컨트롤 플레인 API 액세스를 위해 구성한 가상 IP 주소를 입력합니다.
      9. 클러스터 인그레스용으로 구성한 가상 IP 주소를 입력합니다.
      10. 기본 도메인을 입력합니다. 이 기본 도메인은 DNS 레코드에서 구성한 것과 동일해야 합니다.
      11. 클러스터를 설명할 수 있는 이름을 입력합니다.

        입력한 클러스터 이름은 DNS 레코드를 구성할 때 지정한 클러스터 이름과 일치해야 합니다.

  2. install-config.yaml 파일에서 platform.nutanix.clusterOSImage 값을 이미지 위치 또는 이름으로 설정합니다. 예를 들면 다음과 같습니다.

    platform:
      nutanix:
          clusterOSImage: http://mirror.example.com/images/rhcos-47.83.202103221318-0-nutanix.x86_64.qcow2
  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. 다음 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

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

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

      publish: Internal

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

  4. 선택 사항: install.config.yaml 파일에서 기본 구성 매개변수 중 하나 이상을 업데이트하여 설치를 사용자 지정합니다.

    매개변수에 대한 자세한 내용은 "설치 구성 매개변수"를 참조하십시오.

    참고

    3-노드 클러스터를 설치하는 경우 compute.replicas 매개변수를 0 으로 설정해야 합니다. 이렇게 하면 클러스터의 컨트롤 플레인을 예약할 수 있습니다. 자세한 내용은 " {platform}에 3-노드 클러스터 설치"를 참조하십시오.

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

    중요

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

4.6.1. Nutanix용 샘플 사용자 지정 install-config.yaml 파일

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

중요

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

apiVersion: v1
baseDomain: example.com 1
compute: 2
- hyperthreading: Enabled 3
  name: worker
  replicas: 3
  platform:
    nutanix: 4
      cpus: 2
      coresPerSocket: 2
      memoryMiB: 8196
      osDisk:
        diskSizeGiB: 120
      categories: 5
      - key: <category_key_name>
        value: <category_value>
controlPlane: 6
  hyperthreading: Enabled 7
  name: master
  replicas: 3
  platform:
    nutanix: 8
      cpus: 4
      coresPerSocket: 2
      memoryMiB: 16384
      osDisk:
        diskSizeGiB: 120
      categories: 9
      - key: <category_key_name>
        value: <category_value>
metadata:
  creationTimestamp: null
  name: test-cluster 10
networking:
  clusterNetwork:
  - cidr: 10.128.0.0/14
    hostPrefix: 23
  machineNetwork:
  - cidr: 10.0.0.0/16
  networkType: OVNKubernetes 11
  serviceNetwork:
  - 172.30.0.0/16
platform:
  nutanix:
    apiVIP: 10.40.142.7 12
    ingressVIP: 10.40.142.8 13
    defaultMachinePlatform:
      bootType: Legacy
      categories: 14
      - key: <category_key_name>
        value: <category_value>
      project: 15
        type: name
        name: <project_name>
    prismCentral:
      endpoint:
        address: your.prismcentral.domainname 16
        port: 9440 17
      password: <password> 18
      username: <username> 19
    prismElements:
    - endpoint:
        address: your.prismelement.domainname
        port: 9440
      uuid: 0005b0f1-8f43-a0f2-02b7-3cecef193712
    subnetUUIDs:
    - c7938dc6-7659-453e-a688-e26020c68e43
    clusterOSImage: http://example.com/images/rhcos-47.83.202103221318-0-nutanix.x86_64.qcow2 20
credentialsMode: Manual
publish: External
pullSecret: '{"auths":{"<local_registry>": {"auth": "<credentials>","email": "you@example.com"}}}' 21
fips: false 22
sshKey: ssh-ed25519 AAAA... 23
additionalTrustBundle: | 24
  -----BEGIN CERTIFICATE-----
  ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
  -----END CERTIFICATE-----
imageContentSources: 25
- 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
1 10 12 13 16 17 18 19
필수 항목입니다. 설치 프로그램에서 이 값을 입력하라는 메시지를 표시합니다.
2 6
controlPlane 섹션은 단일 매핑이지만 compute 섹션은 일련의 매핑입니다. 서로 다른 데이터 구조의 요구사항을 충족하도록 compute 섹션의 첫 번째 줄은 하이픈(-)으로 시작해야 하며 controlPlane 섹션의 첫 번째 줄은 하이픈으로 시작할 수 없습니다. 현재 두 섹션이 모두 단일 시스템 풀을 정의하지만 향후 출시되는 OpenShift Container Platform 버전은 설치 과정에서 여러 컴퓨팅 풀 정의를 지원할 수 있습니다. 하나의 컨트롤 플레인 풀만 사용됩니다.
3 7
동시 멀티스레딩 또는 hyperthreading 활성화/비활성화 여부를 지정합니다. 시스템 코어의 성능을 높이기 위해 기본적으로 동시 멀티스레딩이 활성화됩니다. 매개변수 값을 Disabled로 설정하여 비활성화할 수 있습니다. 일부 클러스터 시스템에서 동시 멀티스레딩을 비활성화할 경우에는 해당 멀티스레딩을 모든 클러스터 시스템에서 비활성화해야 합니다.
중요

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

4 8
선택사항: 컴퓨팅 및 컨트롤 플레인 시스템의 시스템 풀 매개변수에 대한 추가 구성을 제공하십시오.
5 9 14
선택 사항: prism 카테고리 키와 prism 카테고리 값 중 하나 이상의 쌍을 제공합니다. 이러한 카테고리 키-값 쌍은 Prism Central에 있어야 합니다. 컴퓨팅 시스템, 컨트롤 플레인 시스템 또는 모든 시스템에 별도의 카테고리를 제공할 수 있습니다.
11
설치할 클러스터 네트워크 플러그인입니다. 기본 값 OVNKubernetes 는 지원되는 유일한 값입니다.
15
선택 사항: VM이 연결된 프로젝트를 지정합니다. 프로젝트 유형에 name 또는 uuid 를 지정한 다음 해당 UUID 또는 프로젝트 이름을 입력합니다. 프로젝트를 컴퓨팅 시스템, 컨트롤 플레인 시스템 또는 모든 시스템에 연결할 수 있습니다.
20
선택 사항: 기본적으로 설치 프로그램은 RHCOS(Red Hat Enterprise Linux CoreOS) 이미지를 다운로드하여 설치합니다. Prism Central이 인터넷에 액세스할 수 없는 경우 HTTP 서버 또는 Nutanix 개체에서 RHCOS 이미지를 호스팅하고 설치 프로그램을 이미지를 가리켜 기본 동작을 재정의할 수 있습니다.
21
<local_registry>는 미러 레지스트리가 해당 내용을 제공하는 데 사용하는 레지스트리 도메인 이름과 포트(선택사항)를 지정합니다. 예: registry.example.com 또는 registry.example.com:5000. <credentials>는 미러 레지스트리의 base64 인코딩 사용자 이름과 암호를 지정합니다.
22
FIPS 모드 활성화 또는 비활성화 여부입니다. 기본적으로 FIPS 모드는 비활성화됩니다. FIPS 모드가 활성화되면 OpenShift Container Platform이 실행되는 RHCOS(Red Hat Enterprise Linux CoreOS) 시스템에서 기본 Kubernetes 암호화 제품군은 우회하고 RHCOS와 함께 제공되는 암호화 모듈을 대신 사용합니다.
중요

FIPS 모드에서 부팅된 RHEL(Red Hat Enterprise Linux CoreOS) 또는 RHCOS(Red Hat Enterprise Linux CoreOS)를 실행하는 경우 OpenShift Container Platform 코어 구성 요소는 x86_64, ppc64le 및 s390x 아키텍처에서만 FIPS 140-2/140-3 Validation에 대해 NIST에 제출된 RHEL 암호화 라이브러리를 사용합니다.

23
선택 사항: 클러스터의 시스템에 액세스하는 데 사용하는 sshKey 값을 제공할 수 있습니다.
참고

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

24
미러 레지스트리에 사용한 인증서 파일의 내용을 제공하십시오.
25
레지스트리를 미러링할 때 생성된 imageContentSourcePolicy.yaml 파일의 metadata.name: release-0 섹션에서 이러한 값을 제공합니다.

4.6.2. 실패 도메인 구성

장애 도메인은 여러 Nutanix Prism Cryostat (클러스터)에 컨트롤 플레인 및 컴퓨팅 머신을 배포하여 OpenShift Container Platform 클러스터의 내결함성을 향상시킵니다.

작은 정보

고가용성을 보장하기 위해 세 개의 실패 도메인을 구성하는 것이 좋습니다.

사전 요구 사항

  • 설치 구성 파일(install-config.yaml)이 있습니다.

프로세스

  1. install-config.yaml 파일을 편집하고 다음 스탠자를 추가하여 첫 번째 실패 도메인을 구성합니다.

    apiVersion: v1
    baseDomain: example.com
    compute:
    # ...
    platform:
      nutanix:
        failureDomains:
        - name: <failure_domain_name>
          prismElement:
            name: <prism_element_name>
            uuid: <prism_element_uuid>
          subnetUUIDs:
          - <network_uuid>
    # ...

    다음과 같습니다.

    <failure_domain_name>
    실패 도메인의 고유한 이름을 지정합니다. 이름은 64자 미만으로 제한되며 소문자, 숫자, 대시(-)를 포함할 수 있습니다. 대시는 이름의 선행 또는 종료 위치에 있을 수 없습니다.
    <prism_element_name>
    선택 사항: Prism Element의 이름을 지정합니다.
    <prism_element_uuid>
    Prism Element의 UUID를 지정합니다.
    <network_uuid>
    Prism Element 서브넷 오브젝트의 UUID를 지정합니다. 서브넷의 CIDR(IP 주소 접두사)에는 OpenShift Container Platform 클러스터가 사용하는 가상 IP 주소가 포함되어야 합니다. OpenShift Container Platform 클러스터에서 장애 도메인(Prism Element)당 하나의 서브넷만 지원됩니다.
  2. 필요에 따라 추가 실패 도메인을 구성합니다.
  3. 장애 도메인에서 컨트롤 플레인 및 컴퓨팅 시스템을 배포하려면 다음 중 하나를 수행하십시오.

    • 컴퓨팅 및 컨트롤 플레인 시스템이 동일한 장애 도메인 세트를 공유할 수 있는 경우 클러스터의 기본 머신 구성에 장애 도메인 이름을 추가합니다.

      장애 도메인 세트를 공유하는 컨트롤 플레인 및 컴퓨팅 머신의 예

      apiVersion: v1
      baseDomain: example.com
      compute:
      # ...
      platform:
        nutanix:
          defaultMachinePlatform:
            failureDomains:
              - failure-domain-1
              - failure-domain-2
              - failure-domain-3
      # ...

    • 컴퓨팅 및 컨트롤 플레인 시스템에서 다른 장애 도메인을 사용해야 하는 경우 해당 시스템 풀 아래에 실패 도메인 이름을 추가합니다.

      다른 장애 도메인을 사용하는 컨트롤 플레인 및 컴퓨팅 머신의 예

      apiVersion: v1
      baseDomain: example.com
      compute:
      # ...
      controlPlane:
        platform:
          nutanix:
            failureDomains:
              - failure-domain-1
              - failure-domain-2
              - failure-domain-3
      # ...
      compute:
        platform:
          nutanix:
            failureDomains:
              - failure-domain-1
              - failure-domain-2
      # ...

  4. 파일을 저장합니다.

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

프로덕션 환경에서는 인터넷에 대한 직접 액세스를 거부하고 대신 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-----
    additionalTrustBundlePolicy: <policy_to_add_additionalTrustBundle> 5
    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
  2. 파일을 저장해 놓고 OpenShift Container Platform을 설치할 때 참조하십시오.

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

참고

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

4.7. OpenShift CLI 설치

명령줄 인터페이스를 사용하여 OpenShift Container Platform과 상호 작용하기 위해 OpenShift CLI(oc)를 설치할 수 있습니다. Linux, Windows 또는 macOS에 oc를 설치할 수 있습니다.

중요

이전 버전의 oc 를 설치한 경우 OpenShift Container Platform 4.17의 모든 명령을 완료하는 데 해당 버전을 사용할 수 없습니다. 새 버전의 oc를 다운로드하여 설치합니다.

Linux에서 OpenShift CLI 설치

다음 절차를 사용하여 Linux에서 OpenShift CLI(oc) 바이너리를 설치할 수 있습니다.

프로세스

  1. Red Hat 고객 포털에서 OpenShift Container Platform 다운로드 페이지로 이동합니다.
  2. 제품 변형 드롭다운 목록에서 아키텍처를 선택합니다.
  3. 버전 드롭다운 목록에서 적절한 버전을 선택합니다.
  4. OpenShift v4.17 Linux Clients 항목 옆에 있는 지금 다운로드를 클릭하고 파일을 저장합니다.
  5. 아카이브의 압축을 풉니다.

    $ tar xvf <file>
  6. oc 바이너리를 PATH에 있는 디렉터리에 배치합니다.

    PATH를 확인하려면 다음 명령을 실행합니다.

    $ echo $PATH

검증

  • OpenShift CLI를 설치한 후 oc 명령을 사용할 수 있습니다.

    $ oc <command>
Windows에서 OpenSfhit CLI 설치

다음 절차에 따라 Windows에 OpenShift CLI(oc) 바이너리를 설치할 수 있습니다.

프로세스

  1. Red Hat 고객 포털에서 OpenShift Container Platform 다운로드 페이지로 이동합니다.
  2. 버전 드롭다운 목록에서 적절한 버전을 선택합니다.
  3. OpenShift v4.17 Windows Client 항목 옆에 있는 지금 다운로드를 클릭하고 파일을 저장합니다.
  4. ZIP 프로그램으로 아카이브의 압축을 풉니다.
  5. oc 바이너리를 PATH에 있는 디렉터리로 이동합니다.

    PATH를 확인하려면 명령 프롬프트를 열고 다음 명령을 실행합니다.

    C:\> path

검증

  • OpenShift CLI를 설치한 후 oc 명령을 사용할 수 있습니다.

    C:\> oc <command>
macOS에 OpenShift CLI 설치

다음 절차에 따라 macOS에서 OpenShift CLI(oc) 바이너리를 설치할 수 있습니다.

프로세스

  1. Red Hat 고객 포털에서 OpenShift Container Platform 다운로드 페이지로 이동합니다.
  2. 버전 드롭다운 목록에서 적절한 버전을 선택합니다.
  3. OpenShift v4.17 macOS Clients 항목 옆에 있는 지금 다운로드를 클릭하고 파일을 저장합니다.

    참고

    macOS arm64의 경우 OpenShift v4.17 macOS arm64 Client 항목을 선택합니다.

  4. 아카이브의 압축을 해제하고 압축을 풉니다.
  5. oc 바이너리 PATH의 디렉터리로 이동합니다.

    PATH를 확인하려면 터미널을 열고 다음 명령을 실행합니다.

    $ echo $PATH

검증

  • oc 명령을 사용하여 설치를 확인합니다.

    $ oc <command>

4.8. Nutanix의 IAM 구성

클러스터를 설치하려면 CCO(Cloud Credential Operator)가 수동 모드에서 작동해야 합니다. 설치 프로그램은 수동 모드에 대한 CCO를 구성하는 동안 ID 및 액세스 관리 보안을 지정해야 합니다.

사전 요구 사항

  • ccoctl 바이너리를 구성했습니다.
  • install-config.yaml 파일이 있습니다.

프로세스

  1. 다음 형식으로 자격 증명 데이터가 포함된 YAML 파일을 생성합니다.

    인증 정보 데이터 형식

    credentials:
    - type: basic_auth 1
      data:
        prismCentral: 2
          username: <username_for_prism_central>
          password: <password_for_prism_central>
        prismElements: 3
        - name: <name_of_prism_element>
          username: <username_for_prism_element>
          password: <password_for_prism_element>

    1
    인증 유형을 지정합니다. 기본 인증만 지원됩니다.
    2
    Prism Central 자격 증명을 지정합니다.
    3
    선택 사항: Prism Element 자격 증명을 지정합니다.
  2. 다음 명령을 실행하여 설치 파일의 릴리스 이미지로 $RELEASE_IMAGE 변수를 설정합니다.

    $ RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $3}')
  3. 다음 명령을 실행하여 OpenShift Container Platform 릴리스 이미지에서 CredentialsRequest CR(사용자 정의 리소스) 목록을 추출합니다.

    $ oc adm release extract \
      --from=$RELEASE_IMAGE \
      --credentials-requests \
      --included \1
      --install-config=<path_to_directory_with_installation_configuration>/install-config.yaml \2
      --to=<path_to_directory_for_credentials_requests> 3
    1
    --included 매개변수에는 특정 클러스터 구성에 필요한 매니페스트만 포함됩니다.
    2
    install-config.yaml 파일의 위치를 지정합니다.
    3
    CredentialsRequest 오브젝트를 저장할 디렉터리의 경로를 지정합니다. 지정된 디렉터리가 없으면 이 명령이 이를 생성합니다.

    샘플 CredentialsRequest 개체

      apiVersion: cloudcredential.openshift.io/v1
      kind: CredentialsRequest
      metadata:
        annotations:
          include.release.openshift.io/self-managed-high-availability: "true"
        labels:
          controller-tools.k8s.io: "1.0"
        name: openshift-machine-api-nutanix
        namespace: openshift-cloud-credential-operator
      spec:
        providerSpec:
          apiVersion: cloudcredential.openshift.io/v1
          kind: NutanixProviderSpec
        secretRef:
          name: nutanix-credentials
          namespace: openshift-machine-api

  4. ccoctl 툴을 사용하여 다음 명령을 실행하여 모든 CredentialsRequest 오브젝트를 처리합니다.

    $ ccoctl nutanix create-shared-secrets \
      --credentials-requests-dir=<path_to_credentials_requests_directory> \1
      --output-dir=<ccoctl_output_dir> \2
      --credentials-source-filepath=<path_to_credentials_file> 3
    1
    구성 요소 CredentialsRequests 오브젝트의 파일이 포함된 디렉터리의 경로를 지정합니다.
    2
    선택 사항: ccoctl 유틸리티에서 오브젝트를 생성할 디렉터리를 지정합니다. 기본적으로 유틸리티는 명령이 실행되는 디렉터리에 오브젝트를 생성합니다.
    3
    선택 사항: 인증 정보 데이터 YAML 파일이 포함된 디렉터리를 지정합니다. 기본적으로 ccoctl 은 이 파일이 < home_directory>/.nutanix/credentials 에 있을 것으로 예상합니다.
  5. credentialsMode 매개변수가 Manual 로 설정되도록 install-config.yaml 구성 파일을 편집합니다.

    install-config.yaml 설정 파일 예

    apiVersion: v1
    baseDomain: cluster1.example.com
    credentialsMode: Manual 1
    ...

    1
    이 행을 추가하여 credentialsMode 매개변수를 Manual 로 설정합니다.
  6. 다음 명령을 실행하여 설치 매니페스트를 생성합니다.

    $ openshift-install create manifests --dir <installation_directory> 1
    1
    클러스터의 install-config.yaml 파일이 포함된 디렉터리의 경로를 지정합니다.
  7. 다음 명령을 실행하여 생성된 인증 정보 파일을 대상 매니페스트 디렉터리에 복사합니다.

    $ cp <ccoctl_output_dir>/manifests/*credentials.yaml ./<installation_directory>/manifests

검증

  • 매니페스트 디렉터리에 적절한 시크릿이 있는지 확인합니다.

    $ ls ./<installation_directory>/manifests

    출력 예

    cluster-config.yaml
    cluster-dns-02-config.yml
    cluster-infrastructure-02-config.yml
    cluster-ingress-02-config.yml
    cluster-network-01-crd.yml
    cluster-network-02-config.yml
    cluster-proxy-01-config.yaml
    cluster-scheduler-02-config.yml
    cvo-overrides.yaml
    kube-cloud-config.yaml
    kube-system-configmap-root-ca.yaml
    machine-config-server-tls-secret.yaml
    openshift-config-secret-pull-secret.yaml
    openshift-cloud-controller-manager-nutanix-credentials-credentials.yaml
    openshift-machine-api-nutanix-credentials-credentials.yaml

4.9. 클러스터 배포

호환되는 클라우드 플랫폼에 OpenShift Container Platform을 설치할 수 있습니다.

중요

최초 설치 과정에서 설치 프로그램의 create cluster 명령을 한 번만 실행할 수 있습니다.

사전 요구 사항

  • OpenShift Container Platform 설치 프로그램과 클러스터의 풀 시크릿이 있습니다.
  • 호스트의 클라우드 공급자 계정에 클러스터를 배포할 수 있는 올바른 권한이 있는지 확인했습니다. 잘못된 권한이 있는 계정으로 인해 누락된 권한이 표시되는 오류 메시지와 함께 설치 프로세스가 실패합니다.

프로세스

  • 설치 프로그램이 포함된 디렉터리로 변경하고 클러스터 배포를 초기화합니다.

    $ ./openshift-install create cluster --dir <installation_directory> \ 1
        --log-level=info 2
    1
    <installation_directory> 값으로 사용자 지정한 ./install-config.yaml 파일의 위치를 지정합니다.
    2
    다른 설치 세부 사항을 보려면 info 대신 warn, debug 또는 error를 지정합니다.

검증

클러스터 배포가 성공적으로 완료되면 다음을 수행합니다.

  • 터미널에는 웹 콘솔에 대한 링크 및 kubeadmin 사용자의 인증 정보를 포함하여 클러스터에 액세스하는 지침이 표시됩니다.
  • 인증 정보도 < installation_directory>/.openshift_install.log 로 출력합니다.
중요

설치 프로그램 또는 설치 프로그램이 생성하는 파일을 삭제하지 마십시오. 클러스터를 삭제하려면 두 가지가 모두 필요합니다.

출력 예

...
INFO Install complete!
INFO To access the cluster as the system:admin user when using 'oc', run 'export KUBECONFIG=/home/myuser/install_dir/auth/kubeconfig'
INFO Access the OpenShift web-console here: https://console-openshift-console.apps.mycluster.example.com
INFO Login to the console with user: "kubeadmin", and password: "password"
INFO Time elapsed: 36m22s

중요
  • 설치 프로그램에서 생성하는 Ignition 구성 파일에 24시간 후에 만료되는 인증서가 포함되어 있습니다. 이 인증서는 그 후에 갱신됩니다. 인증서를 갱신하기 전에 클러스터가 종료되고 24시간이 지난 후에 클러스터가 다시 시작되면 클러스터는 만료된 인증서를 자동으로 복구합니다. 예외적으로 kubelet 인증서를 복구하려면 대기 중인 node-bootstrapper 인증서 서명 요청(CSR)을 수동으로 승인해야 합니다. 자세한 내용은 만료된 컨트롤 플레인 인증서에서 복구 문서를 참조하십시오.
  • 24 시간 인증서는 클러스터를 설치한 후 16시간에서 22시간으로 인증서가 교체되기 때문에 생성된 후 12시간 이내에 Ignition 구성 파일을 사용하는 것이 좋습니다. 12시간 이내에 Ignition 구성 파일을 사용하면 설치 중에 인증서 업데이트가 실행되는 경우 설치 실패를 방지할 수 있습니다.

4.10. 설치 후

클러스터 구성을 완료하려면 다음 단계를 완료합니다.

4.10.1. 기본 OperatorHub 카탈로그 소스 비활성화

Red Hat 및 커뮤니티 프로젝트에서 제공하는 콘텐츠를 소싱하는 Operator 카탈로그는 OpenShift Container Platform을 설치하는 동안 기본적으로 OperatorHub용으로 구성됩니다. 제한된 네트워크 환경에서는 클러스터 관리자로서 기본 카탈로그를 비활성화해야 합니다.

프로세스

  • OperatorHub 오브젝트에 disableAllDefaultSources: true를 추가하여 기본 카탈로그의 소스를 비활성화합니다.

    $ oc patch OperatorHub cluster --type json \
        -p '[{"op": "add", "path": "/spec/disableAllDefaultSources", "value": true}]'
작은 정보

또는 웹 콘솔을 사용하여 카탈로그 소스를 관리할 수 있습니다. 관리클러스터 설정구성OperatorHub 페이지에서 개별 소스 를 생성, 업데이트, 삭제, 비활성화 및 활성화할 수 있는 소스 탭을 클릭합니다.

4.10.2. 클러스터에 정책 리소스 설치

oc-mirror OpenShift CLI(oc) 플러그인을 사용하여 OpenShift Container Platform 콘텐츠를 미러링하면 catalogSource- certified-operator-index.yamlimageContentSourcePolicy.yaml 이 포함된 리소스가 생성됩니다.

  • ImageContentSourcePolicy 리소스는 미러 레지스트리를 소스 레지스트리와 연결하고 온라인 레지스트리에서 미러 레지스트리로 이미지 가져오기 요청을 리디렉션합니다.
  • CatalogSource 리소스는 OLM(Operator Lifecycle Manager)에서 미러 레지스트리에서 사용 가능한 Operator에 대한 정보를 검색하는 데 사용되며, 이를 통해 사용자가 Operator를 검색하고 설치할 수 있습니다.

클러스터를 설치한 후 이러한 리소스를 클러스터에 설치해야 합니다.

사전 요구 사항

  • 연결이 끊긴 환경에서 레지스트리 미러로 이미지를 미러링했습니다.
  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.

프로세스

  1. cluster-admin 역할의 사용자로 OpenShift CLI에 로그인합니다.
  2. 결과 디렉터리의 YAML 파일을 클러스터에 적용합니다.

    $ oc apply -f ./oc-mirror-workspace/results-<id>/

검증

  1. ImageContentSourcePolicy 리소스가 성공적으로 설치되었는지 확인합니다.

    $ oc get imagecontentsourcepolicy
  2. CatalogSource 리소스가 성공적으로 설치되었는지 확인합니다.

    $ oc get catalogsource --all-namespaces

4.10.3. 기본 스토리지 컨테이너 구성

클러스터를 설치한 후 Nutanix CSI Operator를 설치하고 클러스터의 기본 스토리지 컨테이너를 구성해야 합니다.

자세한 내용은 CSI Operator 설치 및 레지스트리 스토리지 구성 을 위한 Nutanix 설명서를 참조하십시오.

4.11. OpenShift Container Platform의 Telemetry 액세스

OpenShift Container Platform 4.17에서 클러스터 상태 및 업데이트 진행에 대한 메트릭을 제공하기 위해 기본적으로 실행되는 Telemetry 서비스에는 인터넷 액세스가 필요합니다. 클러스터가 인터넷에 연결되어 있으면 Telemetry가 자동으로 실행되고 OpenShift Cluster Manager에 클러스터가 자동으로 등록됩니다.

OpenShift Cluster Manager 인벤토리가 올바르거나 OpenShift Cluster Manager를 사용하여 자동으로 또는 OpenShift Cluster Manager를 사용하여 수동으로 유지 관리되는지 확인한 후 subscription watch를 사용하여 계정 또는 다중 클러스터 수준에서 OpenShift Container Platform 서브스크립션을 추적합니다.

4.12. 추가 리소스

4.13. 다음 단계

5장. Nutanix에 3-노드 클러스터 설치

OpenShift Container Platform 버전 4.17에서는 Nutanix에 3-노드 클러스터를 설치할 수 있습니다. 3-노드 클러스터는 컴퓨팅 시스템이라고도 하는 컨트롤 플레인 시스템 세 개로 구성됩니다. 이 유형의 클러스터는 클러스터 관리자와 개발자가 테스트, 개발 및 프로덕션에 사용할 수 있는 작고 리소스 효율이 높은 클러스터를 제공합니다.

5.1. 3개의 노드 클러스터 구성

클러스터를 배포하기 전에 install-config.yaml 파일에서 작업자 노드 수를 0 으로 설정하여 3-노드 클러스터를 구성합니다. 작업자 노드 수를 0 으로 설정하면 컨트롤 플레인 시스템을 예약할 수 있습니다. 이를 통해 컨트롤 플레인 노드에서 애플리케이션 워크로드를 실행할 수 있습니다.

참고

컨트롤 플레인 노드가 컴퓨팅 노드로 간주되므로 컨트롤 플레인 노드에서 실행되는 애플리케이션 워크로드는 추가 서브스크립션이 필요합니다.

사전 요구 사항

  • 기존 install-config.yaml 파일이 있습니다.

프로세스

  • 다음 compute 스탠자에 표시된 대로 install-config.yaml 파일에서 컴퓨팅 복제본 수를 0 으로 설정합니다.

    3-노드 클러스터의 install-config.yaml 파일 예

    apiVersion: v1
    baseDomain: example.com
    compute:
    - name: worker
      platform: {}
      replicas: 0
    # ...

5.2. 다음 단계

6장. Nutanix에서 클러스터 설치 제거

Nutanix에 배포한 클러스터를 제거할 수 있습니다.

6.1. 설치 관리자가 프로비저닝한 인프라를 사용하는 클러스터 제거

클라우드에서 설치 관리자 프로비저닝 인프라를 사용하는 클러스터를 제거할 수 있습니다.

참고

설치 제거 후 특히 UPI(User Provisioned Infrastructure) 클러스터에서 제거되지 않은 리소스에 대해 클라우드 공급자를 확인합니다. 설치 관리자가 생성하지 않았거나 설치 프로그램이 액세스할 수 없는 리소스가 있을 수 있습니다.

사전 요구 사항

  • 클러스터를 배포하는 데 사용한 설치 프로그램의 사본이 있습니다.
  • 클러스터를 생성할 때 설치 프로그램에서 생성한 파일이 있습니다.

프로세스

  1. 클러스터를 설치하는 데 사용한 컴퓨터에 설치 프로그램이 포함된 디렉터리에서 다음 명령을 실행합니다.

    $ ./openshift-install destroy cluster \
    --dir <installation_directory> --log-level info 1 2
    1
    <installation_directory>는 설치 파일을 저장한 디렉터리의 경로를 지정합니다.
    2
    다른 세부 사항을 보려면 info 대신 warn, debug 또는 error를 지정합니다.
    참고

    클러스터의 클러스터 정의 파일이 포함되어 있는 디렉터리를 지정해야 합니다. 설치 프로그램이 클러스터를 삭제하려면 이 디렉터리에 있는 metadata.json 파일이 필요합니다.

  2. 선택사항: <installation_directory> 디렉터리와 OpenShift Container Platform 설치 프로그램을 삭제합니다.

7장. Nutanix의 설치 구성 매개변수

Nutanix에 OpenShift Container Platform 클러스터를 배포하기 전에 클러스터와 이를 호스팅하는 플랫폼을 사용자 정의하는 매개변수를 제공합니다. install-config.yaml 파일을 생성할 때 명령줄을 통해 필요한 매개변수 값을 제공합니다. 그런 다음 install-config.yaml 파일을 수정하여 클러스터를 추가로 사용자 지정할 수 있습니다.

7.1. Nutanix에 사용 가능한 설치 구성 매개변수

다음 표에서는 설치 프로세스의 일부로 설정할 수 있는 필수, 선택 사항, Nutanix별 설치 구성 매개 변수를 지정합니다.

참고

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

7.1.1. 필수 구성 매개변수

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

표 7.1. 필수 매개 변수
매개변수설명
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,gcp,ibmcloud,nutanix,openstack,powervs,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"
      }
   }
}

7.1.2. 네트워크 구성 매개변수

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

IPv4 주소만 지원됩니다.

표 7.2. 네트워크 매개변수
매개변수설명
networking:

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

개체

참고

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

networking:
  networkType:

설치할 Red Hat OpenShift Networking 네트워크 플러그인입니다.

OVNKubernetes. OVNKubernetes 는 Linux 네트워크 및 하이브리드 네트워크용 CNI 플러그인으로, Linux 및 Windows 서버가 모두 포함됩니다. 기본값은 OVNKubernetes 입니다.

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입니다.

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 및 IBM Power® Virtual Server 이외의 모든 플랫폼의 기본값은 10.0.0.0/16 입니다. libvirt의 기본값은 192.168.126.0/24입니다. IBM Power® Virtual Server의 경우 기본값은 192.168.0.0/24 입니다.

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

예: 10.0.0.0/16

참고

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

7.1.3. 선택적 구성 매개변수

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

표 7.3. 선택적 매개변수
매개변수설명
additionalTrustBundle:

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

문자열

capabilities:

선택적 핵심 클러스터 구성 요소의 설치를 제어합니다. 선택적 구성 요소를 비활성화하여 OpenShift Container Platform 클러스터의 설치 공간을 줄일 수 있습니다. 자세한 내용은 설치 의 "클러스터 기능" 페이지를 참조하십시오.

문자열 배열

capabilities:
  baselineCapabilitySet:

활성화할 선택적 기능 세트를 선택합니다. 유효한 값은 None,v4.11,v4.12v Current 입니다. 기본값은 v current입니다.

문자열

capabilities:
  additionalEnabledCapabilities:

baselineCapabilitySet 에서 지정한 것 이상으로 선택적 기능 세트를 확장합니다. 이 매개변수에서 여러 기능을 지정할 수 있습니다.

문자열 배열

cpuPartitioningMode:

워크로드 파티셔닝을 통해 OpenShift Container Platform 서비스, 클러스터 관리 워크로드 및 인프라 Pod를 분리하여 예약된 CPU 세트에서 실행할 수 있습니다. 워크로드 파티셔닝은 설치 중에만 활성화할 수 있으며 설치 후에는 비활성화할 수 없습니다. 이 필드를 사용하면 워크로드 파티셔닝을 사용할 수 있지만 특정 CPU를 사용하도록 워크로드를 구성하지 않습니다. 자세한 내용은 확장 및 성능 섹션의 워크로드 파티션 페이지를 참조하십시오.

none 또는 AllNodes 기본값은 None 입니다.

compute:

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

MachinePool 개체의 배열입니다.

compute:
  architecture:

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

문자열

compute:
  hyperthreading:

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

중요

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

Enabled 또는 Disabled

compute:
  name:

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

worker

compute:
  platform:

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

AWS , azure,gcp,ibmcloud,nutanix,openstack,powervs,vsphere 또는 {}

compute:
  replicas:

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

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

featureSet:

기능 세트를 위한 클러스터를 활성화합니다. 기능 세트는 기본적으로 활성화되어 있지 않은 OpenShift Container Platform 기능 컬렉션입니다. 설치 중에 기능 세트를 활성화하는 방법에 대한 자세한 내용은 "기능 게이트를 사용하여 기능 활성화"를 참조하십시오.

문자열. TechPreviewNoUpgrade 와 같이 활성화할 기능 세트의 이름입니다.

controlPlane:

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

MachinePool 개체의 배열입니다.

controlPlane:
  architecture:

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

문자열

controlPlane:
  hyperthreading:

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

중요

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

Enabled 또는 Disabled

controlPlane:
  name:

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

master

controlPlane:
  platform:

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

AWS , azure,gcp,ibmcloud,nutanix,openstack,powervs,vsphere 또는 {}

controlPlane:
  replicas:

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

지원되는 값은 3 노드 또는 단일 노드 OpenShift를 배포할 때 1 입니다.

credentialsMode:

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

참고

모든 클라우드 공급자에서 모든 CCO 모드가 지원되는 것은 아닙니다. CCO 모드에 대한 자세한 내용은 인증 및 권한 부여 콘텐츠의 "클라우드 공급자 인증 정보 관리" 항목을 참조하십시오.

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

fips:

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

중요

클러스터의 FIPS 모드를 활성화하려면 FIPS 모드에서 작동하도록 구성된 RHEL(Red Hat Enterprise Linux) 컴퓨터에서 설치 프로그램을 실행해야 합니다. RHEL에서 FIPS 모드를 구성하는 방법에 대한 자세한 내용은 RHEL을 FIPS 모드로 전환 을 참조하십시오.

FIPS 모드에서 부팅된 RHEL(Red Hat Enterprise Linux CoreOS) 또는 RHCOS(Red Hat Enterprise Linux CoreOS)를 실행하는 경우 OpenShift Container Platform 코어 구성 요소는 x86_64, ppc64le 및 s390x 아키텍처에서만 FIPS 140-2/140-3 Validation에 대해 NIST에 제출된 RHEL 암호화 라이브러리를 사용합니다.

참고

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

false 또는 true

imageContentSources:

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

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

imageContentSources:
  source:

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

문자열

imageContentSources:
  mirrors:

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

문자열 배열

publish:

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

Internal 또는 External입니다. 기본값은 External입니다.

이 필드를 Internal 로 설정하는 것은 클라우드 이외의 플랫폼에서는 지원되지 않습니다.

중요

필드 값을 Internal 로 설정하면 클러스터가 작동하지 않습니다. 자세한 내용은 BZ#1953035를 참조하십시오.

sshKey:

클러스터 시스템에 대한 액세스를 인증하는 SSH 키입니다.

참고

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

예를 들어 sshKey: ssh-ed25519 AAAA...

7.1.4. 추가 Nutanix 구성 매개변수

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

표 7.4. 추가 Nutanix 클러스터 매개변수
매개변수설명
compute:
  platform:
    nutanix:
      categories:
        key:

컴퓨팅 VM에 적용할 prism 카테고리 키의 이름입니다. 이 매개변수는 value 매개변수와 함께 있어야 하며 keyvalue 매개변수는 모두 Prism Central에 있어야 합니다. 카테고리에 대한 자세한 내용은 카테고리 관리를 참조하십시오.

문자열

compute:
  platform:
    nutanix:
      categories:
        value:

컴퓨팅 VM에 적용할 prism 카테고리 키-값 쌍의 값입니다. 이 매개변수는 key 매개변수와 함께 있어야 하며 key value 매개변수는 모두 Prism Central에 있어야 합니다.

문자열

compute:
  platform:
    nutanix:
     failureDomains:

컴퓨팅 시스템에만 적용되는 실패 도메인입니다.

실패 도메인은 platform.nutanix.failureDomains 에 지정됩니다.

목록.

하나 이상의 실패 도메인의 이름입니다.

compute:
  platform:
    nutanix:
      gpus:
        type:

GPU를 컴퓨팅 머신에 연결하는 데 사용되는 식별자 유형입니다. 유효한 값은 "Name" 또는 "DeviceID"입니다.

문자열

compute:
  platform:
    nutanix:
      gpus:
        name:

컴퓨팅 머신에 연결할 GPU 장치의 이름입니다. GPU 유형이 "Name"인 경우 이 매개변수가 필요합니다.

문자열

compute:
  platform:
    nutanix:
      gpus:
        deviceID:

컴퓨팅 머신에 연결할 GPU 장치의 장치 식별자입니다. 이 정보는 Prism Central에서 확인할 수 있습니다. GPU 유형이 "DeviceID"인 경우 이 매개변수가 필요합니다.

정수

compute:
  platform:
    nutanix:
      project:
        type:

컴퓨팅 VM에 사용할 프로젝트를 선택하는 데 사용하는 식별자 유형입니다. 프로젝트는 권한, 네트워크 및 기타 매개 변수를 관리하기 위한 사용자 역할의 논리 그룹을 정의합니다. 프로젝트에 대한 자세한 내용은 프로젝트 개요를 참조하십시오.

이름 또는 UUID

compute:
  platform:
    nutanix:
      project:
        name: or uuid:

컴퓨팅 VM이 연결된 프로젝트의 이름 또는 UUID입니다. 이 매개변수는 type 매개변수와 함께 사용해야 합니다.

문자열

compute:
  platform:
    nutanix:
      bootType:

컴퓨팅 시스템에서 사용하는 부팅 유형입니다. OpenShift Container Platform 4.17에서 레거시 부팅 유형을 사용해야 합니다. 부팅 유형에 대한 자세한 내용은 가상화 된 환경에서 UEFI, Secure Boot 및 TPM 이해를 참조하십시오.

레거시,SecureBoot 또는 UEFI. 기본값은 Legacy 입니다.

compute:
  platform:
    nutanix:
      dataDisks:
        dataSourceImage:
          name:

선택 사항: Prism Central에서 가상 머신 디스크의 데이터 소스 이미지의 이름입니다.

문자열

compute:
  platform:
    nutanix:
      dataDisks:
        dataSourceImage:
          referenceName:

선택 사항: 실패 도메인에 있는 데이터 소스 이미지의 참조 이름입니다. 이 매개변수를 사용하는 경우 컴퓨팅 노드에서 사용하는 각 실패 도메인에서 일치하는 dataSourceImage (동일 referenceName)를 구성해야 합니다. 장애 도메인 구성에 대한 자세한 내용은 Nutanix에 클러스터 설치 페이지에서 장애 도메인 구성 참조하십시오.

문자열

compute:
  platform:
    nutanix:
      dataDisks:
        dataSourceImage:
          uuid:

Prism Central에서 데이터 소스 이미지의 UUID입니다. 이 값은 필수입니다.

문자열

compute:
  platform:
    nutanix:
      dataDisks:
        deviceProperties:
          adapterType:

디스크 주소의 어댑터 유형입니다. 디스크 유형이 "Disk"인 경우 유효한 값은 "SCSI", "IDE", "PCI", "SATA" 또는 "SPAPR"입니다. 디스크 유형이 "CDRom"인 경우 유효한 값은 "IDE" 또는 "SATA"입니다.

문자열

compute:
  platform:
    nutanix:
      dataDisks:
        deviceProperties:
          deviceIndex:

디스크 주소의 인덱스입니다. 유효한 값은 0을 포함하여 음수가 아닌 정수입니다. 동일한 어댑터 유형을 공유하는 디스크의 장치 인덱스는 0에서 시작하여 연속으로 늘려야 합니다. 기본값은 0입니다. 각 가상 머신에 대해 Disk.SCSI.0CDRom.IDE.0 인덱스가 예약되어 있습니다. Disk.SCSI 또는 CDRom.IDE 디스크 및 어댑터 유형을 사용하는 경우 deviceIndex 는 1에서 시작해야 합니다.

0을 포함하여 음수가 아닌 정수입니다.

compute:
  platform:
    nutanix:
      dataDisks:
        deviceProperties:
          deviceType:

디스크 장치 유형입니다. 유효한 값은 "Disk" 및 "CDRom"입니다.

문자열

compute:
  platform:
    nutanix:
      dataDisks:
        diskSize:

가상 머신에 연결할 디스크의 크기입니다. 최소 크기는 1Gb입니다.

수량 형식 (예: 100G 또는 100Gi) 이 형식에 대한 자세한 내용은 link:https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Format를 참조하십시오.

compute:
  platform:
    nutanix:
      dataDisks:
        storageConfig:
          diskMode:

디스크 모드입니다. 유효한 값은 "Standard" 또는 "플래시"이며 기본값은 "Standard"입니다.

문자열

compute:
  platform:
    nutanix:
      dataDisks:
        storageConfig:
          storageContainer:
            name:

선택 사항: Prism Central의 가상 머신 디스크에서 사용하는 스토리지 컨테이너 오브젝트의 이름입니다.

문자열

compute:
  platform:
    nutanix:
      dataDisks:
        storageConfig:
          storageContainer:
            referenceName:

선택 사항: 실패 도메인에 있는 스토리지 컨테이너의 참조 이름입니다. 이를 사용하는 경우 컴퓨팅 노드에서 사용하는 각 장애 도메인에서 일치하는 storageContainer ( 참조 이름)를 구성해야 합니다. 장애 도메인 구성에 대한 자세한 내용은 Nutanix에 클러스터 설치 페이지에서 장애 도메인 구성 참조하십시오.

문자열

compute:
  platform:
    nutanix:
      dataDisks:
        storageConfig:
          storageContainer:
            uuid:

Prism Central에 있는 스토리지 컨테이너의 UUID입니다.

문자열

controlPlane:
  platform:
    nutanix:
      categories:
        key:

컨트롤 플레인 VM에 적용할 prism 카테고리 키의 이름입니다. 이 매개변수는 value 매개변수와 함께 있어야 하며 keyvalue 매개변수는 모두 Prism Central에 있어야 합니다. 카테고리에 대한 자세한 내용은 카테고리 관리를 참조하십시오.

문자열

controlPlane:
  platform:
    nutanix:
      categories:
        value:

컨트롤 플레인 VM에 적용할 prism 카테고리 키-값 쌍의 값입니다. 이 매개변수는 key 매개변수와 함께 있어야 하며 key value 매개변수는 모두 Prism Central에 있어야 합니다.

문자열

controlPlane:
  platform:
    nutanix:
     failureDomains:

컨트롤 플레인 시스템에만 적용되는 장애 도메인입니다.

실패 도메인은 platform.nutanix.failureDomains 에 지정됩니다.

목록.

하나 이상의 실패 도메인의 이름입니다.

controlPlane:
  platform:
    nutanix:
      project:
        type:

컨트롤 플레인 VM에 대한 프로젝트를 선택하는 데 사용하는 식별자 유형입니다. 프로젝트는 권한, 네트워크 및 기타 매개 변수를 관리하기 위한 사용자 역할의 논리 그룹을 정의합니다. 프로젝트에 대한 자세한 내용은 프로젝트 개요를 참조하십시오.

이름 또는 UUID

controlPlane:
  platform:
    nutanix:
      project:
        name: or uuid:

컨트롤 플레인 VM이 연결된 프로젝트의 이름 또는 UUID입니다. 이 매개변수는 type 매개변수와 함께 사용해야 합니다.

문자열

platform:
  nutanix:
    defaultMachinePlatform:
      categories:
        key:

모든 VM에 적용할 prism 카테고리 키의 이름입니다. 이 매개변수는 value 매개변수와 함께 있어야 하며 keyvalue 매개변수는 모두 Prism Central에 있어야 합니다. 카테고리에 대한 자세한 내용은 카테고리 관리를 참조하십시오.

문자열

platform:
  nutanix:
    defaultMachinePlatform:
      categories:
        value:

모든 VM에 적용할 prism 카테고리 키-값 쌍의 값입니다. 이 매개변수는 key 매개변수와 함께 있어야 하며 key value 매개변수는 모두 Prism Central에 있어야 합니다.

문자열

platform:
  nutanix:
    defaultMachinePlatform:
      failureDomains:

컨트롤 플레인 및 컴퓨팅 시스템에 모두 적용되는 실패 도메인입니다.

실패 도메인은 platform.nutanix.failureDomains 에 지정됩니다.

목록.

하나 이상의 실패 도메인의 이름입니다.

platform:
  nutanix:
    defaultMachinePlatform:
      project:
        type:

모든 VM에 대한 프로젝트를 선택하는 데 사용하는 식별자 유형입니다. 프로젝트는 권한, 네트워크 및 기타 매개 변수를 관리하기 위한 사용자 역할의 논리 그룹을 정의합니다. 프로젝트에 대한 자세한 내용은 프로젝트 개요를 참조하십시오.

이름 또는 uuid.

platform:
  nutanix:
    defaultMachinePlatform:
      project:
        name: or uuid:

모든 VM이 연결된 프로젝트의 이름 또는 UUID입니다. 이 매개변수는 type 매개변수와 함께 사용해야 합니다.

문자열

platform:
  nutanix:
    defaultMachinePlatform:
      bootType:

모든 시스템의 부팅 유형입니다. OpenShift Container Platform 4.17에서 레거시 부팅 유형을 사용해야 합니다. 부팅 유형에 대한 자세한 내용은 가상화 된 환경에서 UEFI, Secure Boot 및 TPM 이해를 참조하십시오.

레거시,SecureBoot 또는 UEFI. 기본값은 Legacy 입니다.

platform:
  nutanix:
    apiVIP:

컨트롤 플레인 API 액세스를 위해 구성한 가상 IP(VIP) 주소입니다.

IP 주소

platform:
  nutanix:
    failureDomains:
    - name:
      prismElement:
        name:
        uuid:
      subnetUUIDs:
      -

기본적으로 설치 프로그램은 클러스터 시스템을 단일 Prism Element 인스턴스에 설치합니다. 내결함성을 위해 추가 Prism Element 인스턴스를 지정한 다음 다음에 적용할 수 있습니다.

  • 클러스터의 기본 머신 구성
  • 컨트롤 플레인 또는 컴퓨팅 머신 풀만

구성된 실패 도메인 목록입니다.

사용법에 대한 자세한 내용은 " Nutanix에 클러스터 설치"의 "실패 도메인 구성"을 참조하십시오.

platform:
  nutanix:
    ingressVIP:

클러스터 인그레스용으로 구성한 가상 IP(VIP) 주소입니다.

IP 주소

platform:
  nutanix:
    prismCentral:
      endpoint:
        address:

Prism Central 도메인 이름 또는 IP 주소입니다.

문자열

platform:
  nutanix:
    prismCentral:
      endpoint:
        port:

Prism Central에 로그인하는 데 사용되는 포트입니다.

문자열

platform:
  nutanix:
    prismCentral:
      password:

Prism Central 사용자 이름의 암호입니다.

문자열

platform:
  nutanix:
    prismCentral:
      username:

Prism Central에 로그인하는 데 사용되는 사용자 이름입니다.

문자열

platform:
  nutanix:
    prismElements:
      endpoint:
        address:

Presm Element 도메인 이름 또는 IP 주소입니다. [1]

문자열

platform:
  nutanix:
    prismElements:
      endpoint:
        port:

Prism Element에 로그인하는 데 사용되는 포트입니다.

문자열

platform:
  nutanix:
    prismElements:
      uuid:

Prism Element에 대한 범용 고유 식별자(UUID)입니다.

문자열

platform:
  nutanix:
    subnetUUIDs:

구성한 가상 IP 주소 및 DNS 레코드가 포함된 Prism Element 네트워크의 UUID입니다. [2]

문자열

platform:
  nutanix:
    clusterOSImage:

선택 사항: 기본적으로 설치 프로그램은 RHCOS(Red Hat Enterprise Linux CoreOS) 이미지를 다운로드하여 설치합니다. Prism Central이 인터넷에 액세스할 수 없는 경우 모든 HTTP 서버에서 RHCOS 이미지를 호스팅하고 설치 프로그램을 이미지로 가리켜 기본 동작을 재정의할 수 있습니다.

HTTP 또는 HTTPS URL (선택 옵션으로 SHA-256 형식의 체크섬을 사용) For example, http://example.com/images/rhcos-47.83.202103221318-0-nutanix.x86_64.qcow2

  1. prism Cryostats 섹션에는 Prism Cryostat(클러스터) 목록이 있습니다. Prism Element에는 OpenShift Container Platform 클러스터를 호스팅하는 데 사용되는 가상 머신 및 서브넷과 같은 모든 Nutanix 리소스가 포함됩니다.
  2. OpenShift Container Platform 클러스터에서 Prism Element당 하나의 서브넷만 지원됩니다.

Legal Notice

Copyright © 2024 Red Hat, Inc.

OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).

Modified versions must remove all Red Hat trademarks.

Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.

Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.

Linux® is the registered trademark of Linus Torvalds in the United States and other countries.

Java® is a registered trademark of Oracle and/or its affiliates.

XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.

MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.

Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.

The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.

All other trademarks are the property of their respective owners.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.