Nutanix에 설치
Nutanix에 OpenShift Container Platform 설치
초록
1장. Nutanix에 설치 준비
OpenShift Container Platform 클러스터를 설치하기 전에 Nutanix 환경이 다음 요구사항을 충족하는지 확인하십시오.
1.1. Nutanix 버전 요구 사항
다음 요구 사항을 충족하는 Nutanix 환경에 OpenShift Container Platform 클러스터를 설치해야 합니다.
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 |
| OpenShift Container Platform 시스템에 할당된 카테고리를 생성, 읽기 및 삭제합니다. |
이미지 | Always |
| OpenShift Container Platform 머신에 사용되는 운영 체제 이미지를 생성, 읽기 및 삭제합니다. |
가상 머신 | Always |
| OpenShift Container Platform 시스템을 생성, 읽기 및 삭제합니다. |
클러스터 | Always |
| OpenShift Container Platform 머신을 호스팅하는 Prism Element 클러스터를 확인합니다. |
서브넷 | Always |
| OpenShift Container Platform 머신을 호스팅하는 서브넷을 확인합니다. |
프로젝트 | 프로젝트를 컴퓨팅 시스템, 컨트롤 플레인 시스템 또는 모든 시스템과 연결하는 경우. |
| 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>
형식입니다.
구성 요소 | 레코드 | 설명 |
---|---|---|
API VIP |
| 이 DNS A/AAAA 또는 CNAME 레코드는 컨트롤 플레인 시스템의 로드 밸런서를 가리켜야 합니다. 이 레코드는 클러스터 외부의 클라이언트와 클러스터 내의 모든 노드에서 확인할 수 있어야 합니다. |
Ingress VIP |
| 기본적으로 작업자 노드인 인그레스 라우터 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
)가 설치되어 있습니다.
프로세스
다음 명령을 실행하여 OpenShift Container Platform 릴리스 이미지의 변수를 설정합니다.
$ RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $3}')
다음 명령을 실행하여 OpenShift Container Platform 릴리스 이미지에서 CCO 컨테이너 이미지를 가져옵니다.
$ CCO_IMAGE=$(oc adm release info --image-for='cloud-credential-operator' $RELEASE_IMAGE -a ~/.pull-secret)
참고$RELEASE_IMAGE
의 아키텍처가ccoctl
툴을 사용할 환경의 아키텍처와 일치하는지 확인합니다.다음 명령을 실행하여 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를 사용하는 호스트에 대해 이 값을 지정합니다.
-
다음 명령을 실행하여
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 클러스터에 장애 도메인을 추가합니다.
고가용성을 보장하기 위해 세 개의 실패 도메인을 구성하는 것이 좋습니다.
프로세스
다음 명령을 실행하여 Infrastructure CR을 편집합니다.
$ oc edit infrastructures.config.openshift.io cluster
실패 도메인을 구성합니다.
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)당 하나의 서브넷만 지원됩니다.
- CR을 저장하여 변경 사항을 적용합니다.
2.2.3. 장애 도메인에서 컨트롤 플레인 배포
컨트롤 플레인 머신 세트 CR(사용자 정의 리소스)을 수정하여 Nutanix 장애 도메인에 컨트롤 플레인을 배포합니다.
사전 요구 사항
- 클러스터의 Infrastructure CR(사용자 정의 리소스)에 장애 도메인을 구성했습니다.
- 컨트롤 플레인 머신 세트 CR(사용자 정의 리소스)은 활성 상태입니다.
컨트롤 플레인 머신 세트 사용자 정의 리소스 상태를 확인하는 방법에 대한 자세한 내용은 "추가 리소스"를 참조하십시오.
프로세스
다음 명령을 실행하여 컨트롤 플레인 머신 세트 CR을 편집합니다.
$ oc edit controlplanemachineset.machine.openshift.io cluster -n openshift-machine-api
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> # ...
- 변경 사항을 저장하십시오.
기본적으로 컨트롤 플레인 머신 세트는 변경 사항을 컨트롤 플레인 구성에 자동으로 전파합니다. 클러스터가 OnDelete
업데이트 전략을 사용하도록 구성된 경우 컨트롤 플레인을 수동으로 교체해야 합니다. 자세한 내용은 "추가 리소스"를 참조하십시오.
2.2.4. 장애 도메인에서 컴퓨팅 머신 배포
다음 방법 중 하나로 Nutanix 장애 도메인에 컴퓨팅 머신을 배포할 수 있습니다.
- 기존 컴퓨팅 머신 세트를 편집하면 Nutanix 장애 도메인에 컴퓨팅 머신을 최소 구성 업데이트로 배포할 수 있습니다.
- 기존 컴퓨팅 머신 세트를 교체 하면 사양을 변경할 수 없으며 모든 머신이 동일합니다.
2.2.4.1. 실패 도메인 구현을 위해 컴퓨팅 머신 세트 편집
기존 컴퓨팅 머신 세트를 사용하여 Nutanix 장애 도메인에 컴퓨팅 머신을 배포하려면 컴퓨팅 머신 세트를 구성으로 업데이트한 다음 스케일링을 사용하여 기존 컴퓨팅 머신을 교체합니다.
사전 요구 사항
- 클러스터의 Infrastructure CR(사용자 정의 리소스)에 장애 도메인을 구성했습니다.
프로세스
다음 명령을 실행하여 클러스터의 Infrastructure CR을 확인합니다.
$ oc describe infrastructures.config.openshift.io cluster
-
각 장애 도메인(
platformSpec.nutanix.failureDomains
)에 대해 클러스터의 UUID, 이름 및 서브넷 오브젝트 UUID를 기록해 둡니다. 이러한 값은 컴퓨팅 머신 세트에 실패 도메인을 추가하는 데 필요합니다. 다음 명령을 실행하여 클러스터의 컴퓨팅 머신 세트를 나열합니다.
$ 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
다음 명령을 실행하여 첫 번째 컴퓨팅 머신 세트를 편집합니다.
$ oc edit machineset <machine_set_name_1> -n openshift-machine-api
다음을
spec.template.spec.providerSpec.value
스탠자로 업데이트하여 첫 번째 실패 도메인을 사용하도록 컴퓨팅 시스템 세트를 구성합니다.참고cluster
및subnets
필드에 지정한 값이 클러스터의 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> # ...
-
변경 사항을 적용하기 위해 컴퓨팅 머신 세트를 스케일링할 때 필요하므로
spec.replicas
의 값을 확인합니다. - 변경 사항을 저장하십시오.
다음 명령을 실행하여 업데이트된 컴퓨팅 머신 세트에서 관리하는 머신을 나열합니다.
$ 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
업데이트된 컴퓨팅 머신 세트에서 관리하는 각 머신에 대해 다음 명령을 실행하여
삭제
주석을 설정합니다.$ oc annotate machine/<machine_name_original_1> \ -n openshift-machine-api \ machine.openshift.io/delete-machine="true"
새 구성으로 대체 머신을 생성하려면 다음 명령을 실행하여 컴퓨팅 머신 세트를 복제본 수의 두 배로 스케일링합니다.
$ oc scale --replicas=<twice_the_number_of_replicas> \1 machineset <machine_set_name_1> \ -n openshift-machine-api
- 1
- 예를 들어 컴퓨팅 시스템 세트의 원래 복제본 수가
2
이면 복제본을4
로 스케일링합니다.
다음 명령을 실행하여 업데이트된 컴퓨팅 머신 세트에서 관리하는 머신을 나열합니다.
$ oc get -n openshift-machine-api machines -l machine.openshift.io/cluster-api-machineset=<machine_set_name_1>
새 머신이
Running
단계에 있는 경우 컴퓨팅 머신 세트를 원래 복제본 수로 확장할 수 있습니다.이전 구성으로 생성된 머신을 제거하려면 다음 명령을 실행하여 컴퓨팅 머신 세트를 원래 복제본 수로 확장합니다.
$ oc scale --replicas=<original_number_of_replicas> \1 machineset <machine_set_name_1> \ -n openshift-machine-api
- 1
- 예를 들어 컴퓨팅 시스템 세트의 원래 복제본 수가
2
인 경우 복제본을2
로 확장합니다.
- 필요에 따라 배포에 사용할 수 있는 추가 실패 도메인을 참조하도록 머신 세트를 계속 수정합니다.
추가 리소스
2.2.4.2. 실패 도메인 구현을 위해 컴퓨팅 머신 세트 교체
컴퓨팅 머신 세트를 교체하여 Nutanix 장애 도메인에 컴퓨팅 머신을 배포하려면 구성으로 새 컴퓨팅 머신 세트를 생성하고 생성된 시스템이 시작될 때까지 기다린 다음 이전 컴퓨팅 머신 세트를 삭제합니다.
사전 요구 사항
- 클러스터의 Infrastructure CR(사용자 정의 리소스)에 장애 도메인을 구성했습니다.
프로세스
다음 명령을 실행하여 클러스터의 Infrastructure CR을 확인합니다.
$ oc describe infrastructures.config.openshift.io cluster
-
각 장애 도메인(
platformSpec.nutanix.failureDomains
)에 대해 클러스터의 UUID, 이름 및 서브넷 오브젝트 UUID를 기록해 둡니다. 이러한 값은 컴퓨팅 머신 세트에 실패 도메인을 추가하는 데 필요합니다. 다음 명령을 실행하여 클러스터의 컴퓨팅 머신 세트를 나열합니다.
$ 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
- 기존 컴퓨팅 머신 세트의 이름을 확인합니다.
다음 방법 중 하나를 사용하여 새 컴퓨팅 머신 세트 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 ...
<new_machine_set_name_1>.yaml
파일의spec.template.spec.providerSpec.value
스탠자에 다음을 업데이트하여 첫 번째 실패 도메인을 사용하도록 새 컴퓨팅 머신 세트를 구성합니다.참고cluster
및subnets
필드에 지정한 값이 클러스터의 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> # ...
- 변경 사항을 저장하십시오.
다음 명령을 실행하여 컴퓨팅 머신 세트 CR을 생성합니다.
$ oc create -f <new_machine_set_name_1>.yaml
- 필요에 따라 배포에 사용할 수 있는 추가 장애 도메인을 참조하는 컴퓨팅 머신 세트를 계속 생성합니다.
새 컴퓨팅 머신 세트마다 다음 명령을 실행하여 새 컴퓨팅 머신 세트에서 관리하는 머신을 나열합니다.
$ 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
단계에 있을 때 실패 도메인 구성이 포함되지 않은 이전 컴퓨팅 머신 세트를 삭제할 수 있습니다.새 머신이
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 키 쌍과 같이 플랫폼 고유의 방식으로 구성된 키가 아닌 로컬 키를 사용해야 합니다.
프로세스
로컬 시스템에 클러스터 노드의 인증에 사용할 기존 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
알고리즘을 사용하는 키를 생성합니다.공개 SSH 키를 확인합니다.
$ cat <path>/<file_name>.pub
예를 들어 다음을 실행하여
~/.ssh/id_ed25519.pub
공개 키를 확인합니다.$ cat ~/.ssh/id_ed25519.pub
아직 추가되지 않은 경우 로컬 사용자의 SSH 에이전트에 SSH 개인 키 ID를 추가합니다. 키의 SSH 에이전트 관리는 클러스터 노드에 암호 없는 SSH 인증을 수행하거나
./openshift-install gather
명령을 사용하려는 경우 필요합니다.참고일부 배포에서는
~/.ssh/id_rsa
및~/.ssh/id_dsa
와 같은 기본 SSH 개인 키 ID가 자동으로 관리됩니다.ssh-agent
프로세스가 로컬 사용자에 대해 실행되지 않은 경우 백그라운드 작업으로 시작합니다.$ eval "$(ssh-agent -s)"
출력 예
Agent pid 31874
참고클러스터가 FIPS 모드인 경우 FIPS 호환 알고리즘만 사용하여 SSH 키를 생성합니다. 키는 RSA 또는 ECDSA여야 합니다.
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를 실행하는 컴퓨터가 있습니다.
프로세스
- Red Hat Hybrid Cloud Console의 Cluster Type 페이지로 이동합니다. Red Hat 계정이 있는 경우 인증 정보를 사용하여 로그인합니다. 계정이 없으면 계정을 만드십시오.
- 페이지의 자체 실행 섹션에서 인프라 공급자를 선택합니다.
- OpenShift 설치 관리자의 드롭다운 메뉴에서 호스트 운영 체제 및 아키텍처를 선택하고 설치 프로그램 다운로드를 클릭합니다.
다운로드한 파일을 설치 구성 파일을 저장할 디렉터리에 배치합니다.
중요- 설치 프로그램은 클러스터를 설치하는 데 사용하는 컴퓨터에 여러 파일을 만듭니다. 클러스터 설치를 마친 후 설치 프로그램과 설치 프로그램으로 생성되는 파일을 보관해야 합니다. 클러스터를 삭제하려면 두 파일이 모두 필요합니다.
- 클러스터 설치에 실패하거나 설치 프로그램으로 만든 파일을 삭제해도 클러스터는 제거되지 않습니다. 클러스터를 제거하려면 해당 클라우드 공급자에 적용되는 OpenShift Container Platform 설치 제거 절차를 완료해야 합니다.
설치 프로그램 파일의 압축을 풉니다. 예를 들어 Linux 운영 체제를 사용하는 컴퓨터에서 다음 명령을 실행합니다.
$ tar -xvf openshift-install-linux.tar.gz
- Red Hat OpenShift Cluster Manager에서 설치 풀 시크릿을 다운로드합니다. 이 풀 시크릿을 사용하면 OpenShift Container Platform 구성 요소에 대한 컨테이너 이미지를 제공하는 Quay.io를 포함하여 인증 기관에서 제공하는 서비스로 인증할 수 있습니다.
또는 다운로드할 설치 프로그램 버전을 지정할 수 있는 Red Hat 고객 포털에서 설치 프로그램을 검색할 수 있습니다. 그러나 이 페이지에 액세스하려면 활성 서브스크립션이 있어야 합니다.
3.6. 시스템 신뢰에 Nutanix 루트 CA 인증서 추가
설치 프로그램에서 Prism Central API에 액세스해야 하므로 OpenShift Container Platform 클러스터를 설치하기 전에 Nutanix 신뢰할 수 있는 루트 CA 인증서를 시스템 신뢰에 추가해야 합니다.
프로세스
- Prism Central 웹 콘솔에서 Nutanix 루트 CA 인증서를 다운로드합니다.
- Nutanix 루트 CA 인증서가 포함된 압축 파일을 추출합니다.
운영 체제 파일을 시스템 신뢰에 추가합니다. 예를 들어 Fedora 운영 체제에서는 다음 명령을 실행합니다.
# cp certs/lin/* /etc/pki/ca-trust/source/anchors
시스템 신뢰를 업데이트합니다. 예를 들어 Fedora 운영 체제에서는 다음 명령을 실행합니다.
# update-ca-trust extract
3.7. 설치 구성 파일 만들기
Nutanix에 설치하는 OpenShift Container Platform 클러스터를 사용자 지정할 수 있습니다.
사전 요구 사항
- OpenShift Container Platform 설치 프로그램과 클러스터의 풀 시크릿이 있습니다.
- Nutanix 네트워킹 요구 사항을 충족하는지 확인했습니다. 자세한 내용은 " Nutanix에 설치 준비"를 참조하십시오.
프로세스
install-config.yaml
파일을 생성합니다.설치 프로그램이 포함된 디렉터리로 변경하고 다음 명령을 실행합니다.
$ ./openshift-install create install-config --dir <installation_directory> 1
- 1
<installation_directory>
는 설치 프로그램이 생성하는 파일을 저장할 디렉터리 이름을 지정합니다.
디렉터리를 지정할 때 다음을 수행합니다.
-
디렉터리에
실행
권한이 있는지 확인합니다. 설치 디렉토리에서 Terraform 바이너리를 실행하려면 이 권한이 필요합니다. - 빈 디렉터리를 사용합니다. 부트스트랩 X.509 인증서와 같은 일부 설치 자산은 단기간에 만료되므로 설치 디렉터리를 재사용해서는 안 됩니다. 다른 클러스터 설치의 개별 파일을 재사용하려면 해당 파일을 사용자 디렉터리에 복사하면 됩니다. 그러나 설치 자산의 파일 이름은 릴리스간에 변경될 수 있습니다. 따라서 이전 OpenShift Container Platform 버전에서 설치 파일을 복사할 때는 주의하십시오.
화면에 나타나는 지시에 따라 클라우드에 대한 구성 세부 사항을 입력합니다.
선택사항: 클러스터 시스템에 액세스하는 데 사용할 SSH 키를 선택합니다.
참고설치 디버깅 또는 재해 복구를 수행하려는 프로덕션 OpenShift Container Platform 클러스터의 경우
ssh-agent
프로세스가 사용하는 SSH 키를 지정합니다.- 대상 플랫폼으로 nutanix 를 선택합니다.
- Prism Central 도메인 이름 또는 IP 주소를 입력합니다.
- Prism Central에 로그인하는 데 사용되는 포트를 입력합니다.
Prism Central에 로그인하는 데 사용되는 인증 정보를 입력합니다.
설치 프로그램은 Prism Central에 연결됩니다.
- OpenShift Container Platform 클러스터를 관리할 Prism Element를 선택합니다.
- 사용할 네트워크 서브넷을 선택합니다.
- 컨트롤 플레인 API 액세스를 위해 구성한 가상 IP 주소를 입력합니다.
- 클러스터 인그레스용으로 구성한 가상 IP 주소를 입력합니다.
- 기본 도메인을 입력합니다. 이 기본 도메인은 DNS 레코드에서 구성한 것과 동일해야 합니다.
클러스터를 설명할 수 있는 이름을 입력합니다.
입력한 클러스터 이름은 DNS 레코드를 구성할 때 지정한 클러스터 이름과 일치해야 합니다.
선택 사항:
install.config.yaml
파일에서 기본 구성 매개변수 중 하나 이상을 업데이트하여 설치를 사용자 지정합니다.매개변수에 대한 자세한 내용은 "설치 구성 매개변수"를 참조하십시오.
참고3-노드 클러스터를 설치하는 경우
compute.replicas
매개변수를0
으로 설정해야 합니다. 이렇게 하면 클러스터의 컨트롤 플레인을 예약할 수 있습니다. 자세한 내용은 " Nutanix에 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
)이 있습니다.
프로세스
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)당 하나의 서브넷만 지원됩니다.
- 필요에 따라 추가 실패 도메인을 구성합니다.
장애 도메인에서 컨트롤 플레인 및 컴퓨팅 시스템을 배포하려면 다음 중 하나를 수행하십시오.
컴퓨팅 및 컨트롤 플레인 시스템이 동일한 장애 도메인 세트를 공유할 수 있는 경우 클러스터의 기본 머신 구성에 장애 도메인 이름을 추가합니다.
장애 도메인 세트를 공유하는 컨트롤 플레인 및 컴퓨팅 머신의 예
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 # ...
- 파일을 저장합니다.
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
)로 채워집니다.
프로세스
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.com
은x.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
구성 맵을 참조할프록시
오브젝트의 구성을 결정하는 정책입니다. 허용되는 값은Proxyonly
및Always
입니다.http/https
프록시가 구성된 경우에만user-ca-bundle
구성 맵을 참조하려면Proxyonly
를 사용합니다.Always
를 사용하여user-ca-bundle
구성 맵을 항상 참조합니다. 기본값은Proxyonly
입니다.
참고설치 프로그램에서 프록시
adinessEndpoints
필드를 지원하지 않습니다.참고설치 프로그램이 시간 초과되면 설치 프로그램의
wait-for
명령을 사용하여 배포를 다시 시작한 다음 완료합니다. 예를 들면 다음과 같습니다.$ ./openshift-install wait-for install-complete --log-level debug
- 파일을 저장해 놓고 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
) 바이너리를 설치할 수 있습니다.
프로세스
- Red Hat 고객 포털에서 OpenShift Container Platform 다운로드 페이지로 이동합니다.
- 제품 변형 드롭다운 목록에서 아키텍처를 선택합니다.
- 버전 드롭다운 목록에서 적절한 버전을 선택합니다.
- OpenShift v4.17 Linux Clients 항목 옆에 있는 지금 다운로드를 클릭하고 파일을 저장합니다.
아카이브의 압축을 풉니다.
$ tar xvf <file>
oc
바이너리를PATH
에 있는 디렉터리에 배치합니다.PATH
를 확인하려면 다음 명령을 실행합니다.$ echo $PATH
검증
OpenShift CLI를 설치한 후
oc
명령을 사용할 수 있습니다.$ oc <command>
Windows에서 OpenSfhit CLI 설치
다음 절차에 따라 Windows에 OpenShift CLI(oc
) 바이너리를 설치할 수 있습니다.
프로세스
- Red Hat 고객 포털에서 OpenShift Container Platform 다운로드 페이지로 이동합니다.
- 버전 드롭다운 목록에서 적절한 버전을 선택합니다.
- OpenShift v4.17 Windows Client 항목 옆에 있는 지금 다운로드를 클릭하고 파일을 저장합니다.
- ZIP 프로그램으로 아카이브의 압축을 풉니다.
oc
바이너리를PATH
에 있는 디렉터리로 이동합니다.PATH
를 확인하려면 명령 프롬프트를 열고 다음 명령을 실행합니다.C:\> path
검증
OpenShift CLI를 설치한 후
oc
명령을 사용할 수 있습니다.C:\> oc <command>
macOS에 OpenShift CLI 설치
다음 절차에 따라 macOS에서 OpenShift CLI(oc
) 바이너리를 설치할 수 있습니다.
프로세스
- Red Hat 고객 포털에서 OpenShift Container Platform 다운로드 페이지로 이동합니다.
- 버전 드롭다운 목록에서 적절한 버전을 선택합니다.
OpenShift v4.17 macOS Clients 항목 옆에 있는 지금 다운로드를 클릭하고 파일을 저장합니다.
참고macOS arm64의 경우 OpenShift v4.17 macOS arm64 Client 항목을 선택합니다.
- 아카이브의 압축을 해제하고 압축을 풉니다.
oc
바이너리 PATH의 디렉터리로 이동합니다.PATH
를 확인하려면 터미널을 열고 다음 명령을 실행합니다.$ echo $PATH
검증
oc
명령을 사용하여 설치를 확인합니다.$ oc <command>
3.9. Nutanix의 IAM 구성
클러스터를 설치하려면 CCO(Cloud Credential Operator)가 수동 모드에서 작동해야 합니다. 설치 프로그램은 수동 모드에 대한 CCO를 구성하는 동안 ID 및 액세스 관리 보안을 지정해야 합니다.
사전 요구 사항
-
ccoctl
바이너리를 구성했습니다. -
install-config.yaml
파일이 있습니다.
프로세스
다음 형식으로 자격 증명 데이터가 포함된 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>
다음 명령을 실행하여 설치 파일의 릴리스 이미지로
$RELEASE_IMAGE
변수를 설정합니다.$ RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $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
샘플
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
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
credentialsMode
매개변수가Manual
로 설정되도록install-config.yaml
구성 파일을 편집합니다.install-config.yaml
설정 파일 예apiVersion: v1 baseDomain: cluster1.example.com credentialsMode: Manual 1 ...
- 1
- 이 행을 추가하여
credentialsMode
매개변수를Manual
로 설정합니다.
다음 명령을 실행하여 설치 매니페스트를 생성합니다.
$ openshift-install create manifests --dir <installation_directory> 1
- 1
- 클러스터의
install-config.yaml
파일이 포함된 디렉터리의 경로를 지정합니다.
다음 명령을 실행하여 생성된 인증 정보 파일을 대상 매니페스트 디렉터리에 복사합니다.
$ 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)와 통합하기 위해 추가 ConfigMap
및 Secret
리소스가 필요합니다.
사전 요구 사항
-
설치 디렉터리에
매니페스트
디렉터리가 생성되어 있습니다.
프로세스
manifests
디렉터리로 이동합니다.$ cd <path_to_installation_directory>/manifests
이름이
openshift-cloud-controller-manager-cloud-config.yaml
인cloud-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를 지정합니다.
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 컨트롤러를 보여주는 네트워크 워크플로의 예
그림 3.2. OpenShift Container Platform 환경에서 작동하는 OpenShift API를 보여주는 네트워크 워크플로우의 예
그림 3.3. 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
프로세스
포트 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 # ...
curl
CLI 명령을 사용하여 사용자 관리 로드 밸런서 및 해당 리소스가 작동하는지 확인합니다.다음 명령을 실행하고 응답을 관찰하여 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" }
다음 명령을 실행하고 출력을 관찰하여 클러스터 머신 구성 API에 머신 구성 서버 리소스에 액세스할 수 있는지 확인합니다.
$ curl -v https://<loadbalancer_ip_address>:22623/healthz --insecure
구성이 올바르면 명령의 출력에 다음 응답이 표시됩니다.
HTTP/1.1 200 OK Content-Length: 0
다음 명령을 실행하고 출력을 관찰하여 포트 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
다음 명령을 실행하고 출력을 관찰하여 포트 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
사용자 관리 로드 밸런서의 프런트 엔드 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 레코드가 전파되는지 확인합니다.
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에 배포할 수 있지만keepalived
및haproxy
서비스를 무시합니다.- 2
- 사용자 관리 로드 밸런서를 지정할 때 필수 매개변수입니다. Kubernetes API가 사용자 관리 로드 밸런서와 통신할 수 있도록 사용자 관리 로드 밸런서의 공용 IP 주소를 지정합니다.
- 3
- 사용자 관리 로드 밸런서를 지정할 때 필수 매개변수입니다. 사용자 관리 로드 밸런서에서 클러스터의 인그레스 트래픽을 관리할 수 있도록 사용자 관리 로드 밸런서의 공용 IP 주소를 지정합니다.
검증
curl
CLI 명령을 사용하여 사용자 관리 로드 밸런서 및 DNS 레코드 구성이 작동하는지 확인합니다.다음 명령을 실행하고 출력을 관찰하여 클러스터 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" }
다음 명령을 실행하고 출력을 관찰하여 클러스터 머신 구성에 액세스할 수 있는지 확인합니다.
$ curl -v https://api.<cluster_name>.<base_domain>:22623/healthz --insecure
구성이 올바르면 명령의 출력에 다음 응답이 표시됩니다.
HTTP/1.1 200 OK Content-Length: 0
다음 명령을 실행하고 출력을 관찰하여 포트의 각 클러스터 애플리케이션에 액세스할 수 있는지 확인합니다.
$ 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
다음 명령을 실행하고 출력을 관찰하여 포트 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
검증
클러스터 배포가 성공적으로 완료되면 다음을 수행합니다.
-
터미널에는 웹 콘솔에 대한 링크 및
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 키 쌍과 같이 플랫폼 고유의 방식으로 구성된 키가 아닌 로컬 키를 사용해야 합니다.
프로세스
로컬 시스템에 클러스터 노드의 인증에 사용할 기존 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
알고리즘을 사용하는 키를 생성합니다.공개 SSH 키를 확인합니다.
$ cat <path>/<file_name>.pub
예를 들어 다음을 실행하여
~/.ssh/id_ed25519.pub
공개 키를 확인합니다.$ cat ~/.ssh/id_ed25519.pub
아직 추가되지 않은 경우 로컬 사용자의 SSH 에이전트에 SSH 개인 키 ID를 추가합니다. 키의 SSH 에이전트 관리는 클러스터 노드에 암호 없는 SSH 인증을 수행하거나
./openshift-install gather
명령을 사용하려는 경우 필요합니다.참고일부 배포에서는
~/.ssh/id_rsa
및~/.ssh/id_dsa
와 같은 기본 SSH 개인 키 ID가 자동으로 관리됩니다.ssh-agent
프로세스가 로컬 사용자에 대해 실행되지 않은 경우 백그라운드 작업으로 시작합니다.$ eval "$(ssh-agent -s)"
출력 예
Agent pid 31874
참고클러스터가 FIPS 모드인 경우 FIPS 호환 알고리즘만 사용하여 SSH 키를 생성합니다. 키는 RSA 또는 ECDSA여야 합니다.
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 인증서를 시스템 신뢰에 추가해야 합니다.
프로세스
- Prism Central 웹 콘솔에서 Nutanix 루트 CA 인증서를 다운로드합니다.
- Nutanix 루트 CA 인증서가 포함된 압축 파일을 추출합니다.
운영 체제 파일을 시스템 신뢰에 추가합니다. 예를 들어 Fedora 운영 체제에서는 다음 명령을 실행합니다.
# cp certs/lin/* /etc/pki/ca-trust/source/anchors
시스템 신뢰를 업데이트합니다. 예를 들어 Fedora 운영 체제에서는 다음 명령을 실행합니다.
# update-ca-trust extract
4.5. RHCOS 클러스터 이미지 다운로드
Prism Central은 클러스터를 설치하려면 RHCOS(Red Hat Enterprise Linux CoreOS) 이미지에 액세스해야 합니다. 설치 프로그램을 사용하여 RHCOS 이미지를 찾아서 다운로드하여 내부 HTTP 서버 또는 Nutanix 개체를 통해 사용할 수 있도록 할 수 있습니다.
사전 요구 사항
- OpenShift Container Platform 설치 프로그램과 클러스터의 풀 시크릿을 받습니다. 제한된 네트워크 설치의 경우, 해당 파일은 미러 호스트에 있습니다.
프로세스
설치 프로그램이 포함된 디렉터리로 변경하고 다음 명령을 실행합니다.
$ ./openshift-install coreos print-stream-json
명령 출력을 사용하여 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"
- 내부 HTTP 서버 또는 Nutanix 개체를 통해 이미지를 사용할 수 있도록 합니다.
-
다운로드한 이미지의 위치를 기록해 둡니다. 클러스터를 배포하기 전에 설치 구성 파일(
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에 설치 준비"를 참조하십시오.
프로세스
install-config.yaml
파일을 생성합니다.설치 프로그램이 포함된 디렉터리로 변경하고 다음 명령을 실행합니다.
$ ./openshift-install create install-config --dir <installation_directory> 1
- 1
<installation_directory>
는 설치 프로그램이 생성하는 파일을 저장할 디렉터리 이름을 지정합니다.
디렉터리를 지정할 때 다음을 수행합니다.
-
디렉터리에
실행
권한이 있는지 확인합니다. 설치 디렉토리에서 Terraform 바이너리를 실행하려면 이 권한이 필요합니다. - 빈 디렉터리를 사용합니다. 부트스트랩 X.509 인증서와 같은 일부 설치 자산은 단기간에 만료되므로 설치 디렉터리를 재사용해서는 안 됩니다. 다른 클러스터 설치의 개별 파일을 재사용하려면 해당 파일을 사용자 디렉터리에 복사하면 됩니다. 그러나 설치 자산의 파일 이름은 릴리스간에 변경될 수 있습니다. 따라서 이전 OpenShift Container Platform 버전에서 설치 파일을 복사할 때는 주의하십시오.
화면에 나타나는 지시에 따라 클라우드에 대한 구성 세부 사항을 입력합니다.
선택사항: 클러스터 시스템에 액세스하는 데 사용할 SSH 키를 선택합니다.
참고설치 디버깅 또는 재해 복구를 수행하려는 프로덕션 OpenShift Container Platform 클러스터의 경우
ssh-agent
프로세스가 사용하는 SSH 키를 지정합니다.- 대상 플랫폼으로 nutanix 를 선택합니다.
- Prism Central 도메인 이름 또는 IP 주소를 입력합니다.
- Prism Central에 로그인하는 데 사용되는 포트를 입력합니다.
Prism Central에 로그인하는 데 사용되는 인증 정보를 입력합니다.
설치 프로그램은 Prism Central에 연결됩니다.
- OpenShift Container Platform 클러스터를 관리할 Prism Element를 선택합니다.
- 사용할 네트워크 서브넷을 선택합니다.
- 컨트롤 플레인 API 액세스를 위해 구성한 가상 IP 주소를 입력합니다.
- 클러스터 인그레스용으로 구성한 가상 IP 주소를 입력합니다.
- 기본 도메인을 입력합니다. 이 기본 도메인은 DNS 레코드에서 구성한 것과 동일해야 합니다.
클러스터를 설명할 수 있는 이름을 입력합니다.
입력한 클러스터 이름은 DNS 레코드를 구성할 때 지정한 클러스터 이름과 일치해야 합니다.
install-config.yaml
파일에서platform.nutanix.clusterOSImage
값을 이미지 위치 또는 이름으로 설정합니다. 예를 들면 다음과 같습니다.platform: nutanix: clusterOSImage: http://mirror.example.com/images/rhcos-47.83.202103221318-0-nutanix.x86_64.qcow2
install-config.yaml
파일을 편집하여 제한된 네트워크에 설치하는 데 필요한 추가 정보를 제공합니다.레지스트리의 인증 정보를 포함하도록
pullSecret
값을 업데이트합니다.pullSecret: '{"auths":{"<mirror_host_name>:5000": {"auth": "<credentials>","email": "you@example.com"}}}'
<mirror_host_name>
의 경우 미러 레지스트리의 인증서에 지정한 레지스트리 도메인 이름을 지정하고<credentials>
의 경우 미러 레지스트리에 base64로 인코딩된 사용자 이름 및 암호를 지정합니다.additionalTrustBundle
매개변수와 값을 추가합니다.additionalTrustBundle: | -----BEGIN CERTIFICATE----- ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ -----END CERTIFICATE-----
값은 미러 레지스트리에 사용한 인증서 파일의 내용이어야 합니다. 인증서 파일은 신뢰할 수 있는 기존 인증 기관 또는 미러 레지스트리에 대해 생성한 자체 서명 인증서일 수 있습니다.
다음 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
파일을 사용합니다.선택사항: 게시 전략을
Internal
로 설정합니다.publish: Internal
이 옵션을 설정하여 내부 Ingress Controller 및 프라이빗 로드 밸런서를 생성합니다.
선택 사항:
install.config.yaml
파일에서 기본 구성 매개변수 중 하나 이상을 업데이트하여 설치를 사용자 지정합니다.매개변수에 대한 자세한 내용은 "설치 구성 매개변수"를 참조하십시오.
참고3-노드 클러스터를 설치하는 경우
compute.replicas
매개변수를0
으로 설정해야 합니다. 이렇게 하면 클러스터의 컨트롤 플레인을 예약할 수 있습니다. 자세한 내용은 " {platform}에 3-노드 클러스터 설치"를 참조하십시오.여러 클러스터를 설치하는 데 사용할 수 있도록
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
)이 있습니다.
프로세스
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)당 하나의 서브넷만 지원됩니다.
- 필요에 따라 추가 실패 도메인을 구성합니다.
장애 도메인에서 컨트롤 플레인 및 컴퓨팅 시스템을 배포하려면 다음 중 하나를 수행하십시오.
컴퓨팅 및 컨트롤 플레인 시스템이 동일한 장애 도메인 세트를 공유할 수 있는 경우 클러스터의 기본 머신 구성에 장애 도메인 이름을 추가합니다.
장애 도메인 세트를 공유하는 컨트롤 플레인 및 컴퓨팅 머신의 예
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.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
)로 채워집니다.
프로세스
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.com
은x.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
구성 맵을 참조할프록시
오브젝트의 구성을 결정하는 정책입니다. 허용되는 값은Proxyonly
및Always
입니다.http/https
프록시가 구성된 경우에만user-ca-bundle
구성 맵을 참조하려면Proxyonly
를 사용합니다.Always
를 사용하여user-ca-bundle
구성 맵을 항상 참조합니다. 기본값은Proxyonly
입니다.
참고설치 프로그램에서 프록시
adinessEndpoints
필드를 지원하지 않습니다.참고설치 프로그램이 시간 초과되면 설치 프로그램의
wait-for
명령을 사용하여 배포를 다시 시작한 다음 완료합니다. 예를 들면 다음과 같습니다.$ ./openshift-install wait-for install-complete --log-level debug
- 파일을 저장해 놓고 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
) 바이너리를 설치할 수 있습니다.
프로세스
- Red Hat 고객 포털에서 OpenShift Container Platform 다운로드 페이지로 이동합니다.
- 제품 변형 드롭다운 목록에서 아키텍처를 선택합니다.
- 버전 드롭다운 목록에서 적절한 버전을 선택합니다.
- OpenShift v4.17 Linux Clients 항목 옆에 있는 지금 다운로드를 클릭하고 파일을 저장합니다.
아카이브의 압축을 풉니다.
$ tar xvf <file>
oc
바이너리를PATH
에 있는 디렉터리에 배치합니다.PATH
를 확인하려면 다음 명령을 실행합니다.$ echo $PATH
검증
OpenShift CLI를 설치한 후
oc
명령을 사용할 수 있습니다.$ oc <command>
Windows에서 OpenSfhit CLI 설치
다음 절차에 따라 Windows에 OpenShift CLI(oc
) 바이너리를 설치할 수 있습니다.
프로세스
- Red Hat 고객 포털에서 OpenShift Container Platform 다운로드 페이지로 이동합니다.
- 버전 드롭다운 목록에서 적절한 버전을 선택합니다.
- OpenShift v4.17 Windows Client 항목 옆에 있는 지금 다운로드를 클릭하고 파일을 저장합니다.
- ZIP 프로그램으로 아카이브의 압축을 풉니다.
oc
바이너리를PATH
에 있는 디렉터리로 이동합니다.PATH
를 확인하려면 명령 프롬프트를 열고 다음 명령을 실행합니다.C:\> path
검증
OpenShift CLI를 설치한 후
oc
명령을 사용할 수 있습니다.C:\> oc <command>
macOS에 OpenShift CLI 설치
다음 절차에 따라 macOS에서 OpenShift CLI(oc
) 바이너리를 설치할 수 있습니다.
프로세스
- Red Hat 고객 포털에서 OpenShift Container Platform 다운로드 페이지로 이동합니다.
- 버전 드롭다운 목록에서 적절한 버전을 선택합니다.
OpenShift v4.17 macOS Clients 항목 옆에 있는 지금 다운로드를 클릭하고 파일을 저장합니다.
참고macOS arm64의 경우 OpenShift v4.17 macOS arm64 Client 항목을 선택합니다.
- 아카이브의 압축을 해제하고 압축을 풉니다.
oc
바이너리 PATH의 디렉터리로 이동합니다.PATH
를 확인하려면 터미널을 열고 다음 명령을 실행합니다.$ echo $PATH
검증
oc
명령을 사용하여 설치를 확인합니다.$ oc <command>
4.8. Nutanix의 IAM 구성
클러스터를 설치하려면 CCO(Cloud Credential Operator)가 수동 모드에서 작동해야 합니다. 설치 프로그램은 수동 모드에 대한 CCO를 구성하는 동안 ID 및 액세스 관리 보안을 지정해야 합니다.
사전 요구 사항
-
ccoctl
바이너리를 구성했습니다. -
install-config.yaml
파일이 있습니다.
프로세스
다음 형식으로 자격 증명 데이터가 포함된 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>
다음 명령을 실행하여 설치 파일의 릴리스 이미지로
$RELEASE_IMAGE
변수를 설정합니다.$ RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $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
샘플
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
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
credentialsMode
매개변수가Manual
로 설정되도록install-config.yaml
구성 파일을 편집합니다.install-config.yaml
설정 파일 예apiVersion: v1 baseDomain: cluster1.example.com credentialsMode: Manual 1 ...
- 1
- 이 행을 추가하여
credentialsMode
매개변수를Manual
로 설정합니다.
다음 명령을 실행하여 설치 매니페스트를 생성합니다.
$ openshift-install create manifests --dir <installation_directory> 1
- 1
- 클러스터의
install-config.yaml
파일이 포함된 디렉터리의 경로를 지정합니다.
다음 명령을 실행하여 생성된 인증 정보 파일을 대상 매니페스트 디렉터리에 복사합니다.
$ 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
검증
클러스터 배포가 성공적으로 완료되면 다음을 수행합니다.
-
터미널에는 웹 콘솔에 대한 링크 및
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.yaml
및 imageContentSourcePolicy.yaml
이 포함된 리소스가 생성됩니다.
-
ImageContentSourcePolicy
리소스는 미러 레지스트리를 소스 레지스트리와 연결하고 온라인 레지스트리에서 미러 레지스트리로 이미지 가져오기 요청을 리디렉션합니다. -
CatalogSource
리소스는 OLM(Operator Lifecycle Manager)에서 미러 레지스트리에서 사용 가능한 Operator에 대한 정보를 검색하는 데 사용되며, 이를 통해 사용자가 Operator를 검색하고 설치할 수 있습니다.
클러스터를 설치한 후 이러한 리소스를 클러스터에 설치해야 합니다.
사전 요구 사항
- 연결이 끊긴 환경에서 레지스트리 미러로 이미지를 미러링했습니다.
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
프로세스
-
cluster-admin
역할의 사용자로 OpenShift CLI에 로그인합니다. 결과 디렉터리의 YAML 파일을 클러스터에 적용합니다.
$ oc apply -f ./oc-mirror-workspace/results-<id>/
검증
ImageContentSourcePolicy
리소스가 성공적으로 설치되었는지 확인합니다.$ oc get imagecontentsourcepolicy
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) 클러스터에서 제거되지 않은 리소스에 대해 클라우드 공급자를 확인합니다. 설치 관리자가 생성하지 않았거나 설치 프로그램이 액세스할 수 없는 리소스가 있을 수 있습니다.
사전 요구 사항
- 클러스터를 배포하는 데 사용한 설치 프로그램의 사본이 있습니다.
- 클러스터를 생성할 때 설치 프로그램에서 생성한 파일이 있습니다.
프로세스
클러스터를 설치하는 데 사용한 컴퓨터에 설치 프로그램이 포함된 디렉터리에서 다음 명령을 실행합니다.
$ ./openshift-install destroy cluster \ --dir <installation_directory> --log-level info 1 2
참고클러스터의 클러스터 정의 파일이 포함되어 있는 디렉터리를 지정해야 합니다. 설치 프로그램이 클러스터를 삭제하려면 이 디렉터리에 있는
metadata.json
파일이 필요합니다.-
선택사항:
<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. 필수 구성 매개변수
필수 설치 구성 매개변수는 다음 표에 설명되어 있습니다.
매개변수 | 설명 | 값 |
---|---|---|
apiVersion: |
| 문자열 |
baseDomain: |
클라우드 공급자의 기본 도메인입니다. 기본 도메인은 OpenShift Container Platform 클러스터 구성 요소에 대한 경로를 생성하는 데 사용됩니다. 클러스터의 전체 DNS 이름은 |
정규화된 도메인 또는 하위 도메인 이름(예: |
metadata: |
Kubernetes 리소스 | 개체 |
metadata: name: |
클러스터의 이름입니다. 클러스터의 DNS 레코드는 |
소문자 및 하이픈( |
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 주소만 지원됩니다.
매개변수 | 설명 | 값 |
---|---|---|
networking: | 클러스터의 네트워크의 구성입니다. | 개체 참고
설치한 후에는 |
networking: networkType: | 설치할 Red Hat OpenShift Networking 네트워크 플러그인입니다. |
|
networking: clusterNetwork: | Pod의 IP 주소 블록입니다.
기본값은 여러 IP 주소 블록을 지정하는 경우 블록이 겹치지 않아야 합니다. | 개체의 배열입니다. 예를 들면 다음과 같습니다. networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 |
networking: clusterNetwork: cidr: |
IPv4 네트워크입니다. |
CIDR(Classless Inter-Domain Routing) 표기법의 IP 주소 블록입니다. IPv4 블록의 접두사 길이는 |
networking: clusterNetwork: hostPrefix: |
개별 노드 각각에 할당할 서브넷 접두사 길이입니다. 예를 들어 | 서브넷 접두사입니다.
기본값은 |
networking: serviceNetwork: |
서비스의 IP 주소 블록입니다. 기본값은 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: |
| CIDR 표기법의 IP 네트워크 블록입니다.
예: 참고
기본 NIC가 상주하는 CIDR과 일치하도록 |
7.1.3. 선택적 구성 매개변수
선택적 설치 구성 매개변수는 다음 표에 설명되어 있습니다.
매개변수 | 설명 | 값 |
---|---|---|
additionalTrustBundle: | 노드의 신뢰할 수 있는 인증서 스토리지에 추가되는 PEM 인코딩 X.509 인증서 번들입니다. 이 신뢰할 수 있는 번들은 프록시가 구성되었을 때에도 사용할 수 있습니다. | 문자열 |
capabilities: | 선택적 핵심 클러스터 구성 요소의 설치를 제어합니다. 선택적 구성 요소를 비활성화하여 OpenShift Container Platform 클러스터의 설치 공간을 줄일 수 있습니다. 자세한 내용은 설치 의 "클러스터 기능" 페이지를 참조하십시오. | 문자열 배열 |
capabilities: baselineCapabilitySet: |
활성화할 선택적 기능 세트를 선택합니다. 유효한 값은 | 문자열 |
capabilities: additionalEnabledCapabilities: |
| 문자열 배열 |
cpuPartitioningMode: | 워크로드 파티셔닝을 통해 OpenShift Container Platform 서비스, 클러스터 관리 워크로드 및 인프라 Pod를 분리하여 예약된 CPU 세트에서 실행할 수 있습니다. 워크로드 파티셔닝은 설치 중에만 활성화할 수 있으며 설치 후에는 비활성화할 수 없습니다. 이 필드를 사용하면 워크로드 파티셔닝을 사용할 수 있지만 특정 CPU를 사용하도록 워크로드를 구성하지 않습니다. 자세한 내용은 확장 및 성능 섹션의 워크로드 파티션 페이지를 참조하십시오. |
|
compute: | 컴퓨팅 노드를 구성하는 시스템의 구성입니다. |
|
compute: architecture: |
풀에 있는 시스템의 명령어 집합 아키텍처를 결정합니다. 현재 다양한 아키텍처가 있는 클러스터는 지원되지 않습니다. 모든 풀은 동일한 아키텍처를 지정해야 합니다. 유효한 값은 | 문자열 |
compute: hyperthreading: |
컴퓨팅 시스템에서 동시 멀티스레딩 또는 중요 동시 멀티스레딩을 비활성화하는 경우 용량 계획에서 시스템 성능이 크게 저하될 수 있는 문제를 고려해야 합니다. |
|
compute: name: |
|
|
compute: platform: |
|
|
compute: replicas: | 프로비저닝할 컴퓨팅 시스템(작업자 시스템이라고도 함) 수입니다. |
|
featureSet: | 기능 세트를 위한 클러스터를 활성화합니다. 기능 세트는 기본적으로 활성화되어 있지 않은 OpenShift Container Platform 기능 컬렉션입니다. 설치 중에 기능 세트를 활성화하는 방법에 대한 자세한 내용은 "기능 게이트를 사용하여 기능 활성화"를 참조하십시오. |
문자열. |
controlPlane: | 컨트롤 플레인을 구성하는 시스템들의 구성입니다. |
|
controlPlane: architecture: |
풀에 있는 시스템의 명령어 집합 아키텍처를 결정합니다. 현재 다양한 아키텍처가 있는 클러스터는 지원되지 않습니다. 모든 풀은 동일한 아키텍처를 지정해야 합니다. 유효한 값은 | 문자열 |
controlPlane: hyperthreading: |
컨트롤 플레인 시스템에서 동시 멀티스레딩 또는 중요 동시 멀티스레딩을 비활성화하는 경우 용량 계획에서 시스템 성능이 크게 저하될 수 있는 문제를 고려해야 합니다. |
|
controlPlane: name: |
|
|
controlPlane: platform: |
|
|
controlPlane: replicas: | 프로비저닝하는 컨트롤 플레인 시스템의 수입니다. |
지원되는 값은 |
credentialsMode: | Cloud Credential Operator (CCO) 모드입니다. 모드가 지정되지 않은 경우 CCO는 여러 모드가 지원되는 플랫폼에서 Mint 모드가 우선으로 되어 지정된 인증 정보의 기능을 동적으로 확인하려고합니다. 참고 모든 클라우드 공급자에서 모든 CCO 모드가 지원되는 것은 아닙니다. CCO 모드에 대한 자세한 내용은 인증 및 권한 부여 콘텐츠의 "클라우드 공급자 인증 정보 관리" 항목을 참조하십시오. |
|
fips: |
FIPS 모드를 활성화 또는 비활성화합니다. 기본값은 중요 클러스터의 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 모드를 활성화할 수 없습니다. |
|
imageContentSources: | 릴리스 이미지 내용의 소스 및 리포지토리입니다. |
개체의 배열입니다. 이 표의 다음 행에 설명된 대로 |
imageContentSources: source: |
| 문자열 |
imageContentSources: mirrors: | 동일한 이미지를 포함할 수도 있는 하나 이상의 리포지토리를 지정합니다. | 문자열 배열 |
publish: | Kubernetes API, OpenShift 경로와 같이 클러스터의 사용자 끝점을 게시하거나 노출하는 방법입니다. |
이 필드를 중요
필드 값을 |
sshKey: | 클러스터 시스템에 대한 액세스를 인증하는 SSH 키입니다. 참고
설치 디버깅 또는 재해 복구를 수행하려는 프로덕션 OpenShift Container Platform 클러스터의 경우 |
예를 들어 |
7.1.4. 추가 Nutanix 구성 매개변수
추가 Nutanix 구성 매개변수는 다음 표에 설명되어 있습니다.
매개변수 | 설명 | 값 |
---|---|---|
compute: platform: nutanix: categories: key: |
컴퓨팅 VM에 적용할 prism 카테고리 키의 이름입니다. 이 매개변수는 | 문자열 |
compute: platform: nutanix: categories: value: |
컴퓨팅 VM에 적용할 prism 카테고리 키-값 쌍의 값입니다. 이 매개변수는 key 매개변수와 함께 있어야 하며 | 문자열 |
compute: platform: nutanix: failureDomains: | 컴퓨팅 시스템에만 적용되는 실패 도메인입니다.
실패 도메인은 | 목록. 하나 이상의 실패 도메인의 이름입니다. |
compute: platform: nutanix: gpus: type: | GPU를 컴퓨팅 머신에 연결하는 데 사용되는 식별자 유형입니다. 유효한 값은 "Name" 또는 "DeviceID"입니다. | 문자열 |
compute: platform: nutanix: gpus: name: |
컴퓨팅 머신에 연결할 GPU 장치의 이름입니다. GPU | 문자열 |
compute: platform: nutanix: gpus: deviceID: |
컴퓨팅 머신에 연결할 GPU 장치의 장치 식별자입니다. 이 정보는 Prism Central에서 확인할 수 있습니다. GPU | 정수 |
compute: platform: nutanix: project: type: | 컴퓨팅 VM에 사용할 프로젝트를 선택하는 데 사용하는 식별자 유형입니다. 프로젝트는 권한, 네트워크 및 기타 매개 변수를 관리하기 위한 사용자 역할의 논리 그룹을 정의합니다. 프로젝트에 대한 자세한 내용은 프로젝트 개요를 참조하십시오. |
|
compute: platform: nutanix: project: name: or uuid: |
컴퓨팅 VM이 연결된 프로젝트의 이름 또는 UUID입니다. 이 매개변수는 | 문자열 |
compute: platform: nutanix: bootType: |
컴퓨팅 시스템에서 사용하는 부팅 유형입니다. OpenShift Container Platform 4.17에서 |
|
compute: platform: nutanix: dataDisks: dataSourceImage: name: | 선택 사항: Prism Central에서 가상 머신 디스크의 데이터 소스 이미지의 이름입니다. | 문자열 |
compute: platform: nutanix: dataDisks: dataSourceImage: referenceName: |
선택 사항: 실패 도메인에 있는 데이터 소스 이미지의 참조 이름입니다. 이 매개변수를 사용하는 경우 컴퓨팅 노드에서 사용하는 각 실패 도메인에서 일치하는 | 문자열 |
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입니다. 각 가상 머신에 대해 | 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: |
선택 사항: 실패 도메인에 있는 스토리지 컨테이너의 참조 이름입니다. 이를 사용하는 경우 컴퓨팅 노드에서 사용하는 각 장애 도메인에서 일치하는 | 문자열 |
compute: platform: nutanix: dataDisks: storageConfig: storageContainer: uuid: | Prism Central에 있는 스토리지 컨테이너의 UUID입니다. | 문자열 |
controlPlane: platform: nutanix: categories: key: |
컨트롤 플레인 VM에 적용할 prism 카테고리 키의 이름입니다. 이 매개변수는 | 문자열 |
controlPlane: platform: nutanix: categories: value: |
컨트롤 플레인 VM에 적용할 prism 카테고리 키-값 쌍의 값입니다. 이 매개변수는 key 매개변수와 함께 있어야 하며 | 문자열 |
controlPlane: platform: nutanix: failureDomains: | 컨트롤 플레인 시스템에만 적용되는 장애 도메인입니다.
실패 도메인은 | 목록. 하나 이상의 실패 도메인의 이름입니다. |
controlPlane: platform: nutanix: project: type: | 컨트롤 플레인 VM에 대한 프로젝트를 선택하는 데 사용하는 식별자 유형입니다. 프로젝트는 권한, 네트워크 및 기타 매개 변수를 관리하기 위한 사용자 역할의 논리 그룹을 정의합니다. 프로젝트에 대한 자세한 내용은 프로젝트 개요를 참조하십시오. |
|
controlPlane: platform: nutanix: project: name: or uuid: |
컨트롤 플레인 VM이 연결된 프로젝트의 이름 또는 UUID입니다. 이 매개변수는 | 문자열 |
platform: nutanix: defaultMachinePlatform: categories: key: |
모든 VM에 적용할 prism 카테고리 키의 이름입니다. 이 매개변수는 | 문자열 |
platform: nutanix: defaultMachinePlatform: categories: value: |
모든 VM에 적용할 prism 카테고리 키-값 쌍의 값입니다. 이 매개변수는 key 매개변수와 함께 있어야 하며 | 문자열 |
platform: nutanix: defaultMachinePlatform: failureDomains: | 컨트롤 플레인 및 컴퓨팅 시스템에 모두 적용되는 실패 도메인입니다.
실패 도메인은 | 목록. 하나 이상의 실패 도메인의 이름입니다. |
platform: nutanix: defaultMachinePlatform: project: type: | 모든 VM에 대한 프로젝트를 선택하는 데 사용하는 식별자 유형입니다. 프로젝트는 권한, 네트워크 및 기타 매개 변수를 관리하기 위한 사용자 역할의 논리 그룹을 정의합니다. 프로젝트에 대한 자세한 내용은 프로젝트 개요를 참조하십시오. |
|
platform: nutanix: defaultMachinePlatform: project: name: or uuid: |
모든 VM이 연결된 프로젝트의 이름 또는 UUID입니다. 이 매개변수는 | 문자열 |
platform: nutanix: defaultMachinePlatform: bootType: |
모든 시스템의 부팅 유형입니다. OpenShift Container Platform 4.17에서 |
|
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 |
-
prism Cryostats
섹션에는 Prism Cryostat(클러스터) 목록이 있습니다. Prism Element에는 OpenShift Container Platform 클러스터를 호스팅하는 데 사용되는 가상 머신 및 서브넷과 같은 모든 Nutanix 리소스가 포함됩니다. - 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.