11장. IBM Cloud에 설치 프로그램 프로비저닝 클러스터 배포
11.1. 사전 요구 사항
설치 관리자 프로비저닝 설치를 사용하여 IBM Cloud® 노드에 OpenShift Container Platform을 설치할 수 있습니다. 이 문서에서는 IBM Cloud 노드에 OpenShift Container Platform을 설치할 때 사전 요구 사항 및 절차를 설명합니다.
Red Hat은 provisioning
네트워크에서만 IPMI 및 PXE를 지원합니다. Red Hat은 IBM Cloud 배포 시 Secure Boot와 같은 Red Fish, 가상 미디어 또는 기타 보완 기술을 테스트하지 않았습니다. 프로비저닝
네트워크가 필요합니다.
OpenShift Container Platform 설치 프로그램으로 프로비저닝된 설치에는 다음이 필요합니다.
- RHCOS(Red Hat Enterprise Linux CoreOS) 8.x가 설치된 provisioner 노드 1개
- 컨트롤 플레인 노드 세 개
- 라우팅 가능한 네트워크 1개
- 노드 프로비저닝용 네트워크 1개
IBM Cloud에서 OpenShift Container Platform의 설치 관리자 프로비저닝 설치를 시작하기 전에 다음 사전 요구 사항 및 요구 사항을 해결합니다.
11.1.1. IBM Cloud 인프라 설정
IBM Cloud®에 OpenShift Container Platform 클러스터를 배포하려면 먼저 IBM Cloud 노드를 프로비저닝해야 합니다.
Red Hat은 provisioning
네트워크에서만 IPMI 및 PXE를 지원합니다. Red Hat은 IBM Cloud 배포 시 Secure Boot와 같은 Red Fish, 가상 미디어 또는 기타 보완 기술을 테스트하지 않았습니다. 프로비저닝
네트워크가 필요합니다.
IBM Cloud API를 사용하여 IBM Cloud 노드를 사용자 지정할 수 있습니다. IBM Cloud 노드를 생성할 때 다음 요구 사항을 고려해야 합니다.
클러스터당 데이터 센터 1개 사용
OpenShift Container Platform 클러스터의 모든 노드는 동일한 IBM Cloud 데이터 센터에서 실행해야 합니다.
공용 및 개인 VLAN 만들기
단일 공용 VLAN 및 단일 개인 VLAN을 사용하여 모든 노드를 생성합니다.
서브넷에 충분한 IP 주소가 있는지 확인하십시오
IBM Cloud 공용 VLAN 서브넷에서는 기본적으로 16개의 IP 주소를 제공하는 /28
접두사를 사용합니다. 베어
메탈 네트워크의 API VIP 및 Ingress VIP에 대한 세 개의 컨트롤 플레인 노드, 작업자 노드 4개, IP 주소 2개로 구성된 클러스터에 충분합니다. 대규모 클러스터의 경우 더 작은 접두사가 필요할 수 있습니다.
IBM Cloud 프라이빗 VLAN 서브넷에서는 기본적으로 64개의 IP 주소를 제공하는 /26
접두사를 사용합니다. IBM Cloud는 사설 네트워크 IP 주소를 사용하여 각 노드의 BMC(Baseboard Management Controller)에 액세스합니다. OpenShift Container Platform은 provisioning 네트워크에 대한 추가 서브넷을 생성합니다 .
사설 VLAN을 통해 프로비저닝
네트워크 서브넷 경로에 대한 네트워크 트래픽. 대규모 클러스터의 경우 더 작은 접두사가 필요할 수 있습니다.
IP 주소 | 접두사 |
---|---|
32 |
|
64 |
|
128 |
|
256 |
|
NIC 설정
OpenShift Container Platform은 다음 두 가지 네트워크를 사용하여 배포합니다.
-
provisioning
:provisioning
네트워크는 OpenShift Container Platform 클러스터의 일부인 각 노드에서 기본 운영 체제를 프로비저닝하는 데 사용되는 라우팅 불가능한 네트워크입니다. -
baremetal
:baremetal
네트워크는 라우팅 가능한 네트워크입니다. provisioningNetworkInterface 구성 설정에 지정된 NIC 또는 provisioning
네트워크의bootMACAddress
구성 설정에 연결된 NIC가 아닌 경우baremetal
네트워크와
상호 작용할 수 있습니다.
클러스터 노드에는 두 개 이상의 NIC가 포함될 수 있지만 설치 프로세스는 처음 두 개의 NIC에만 중점을 둡니다. 예를 들면 다음과 같습니다.
NIC | 네트워크 | VLAN |
---|---|---|
NIC1 |
| <provisioning_vlan> |
NIC2 |
| <baremetal_vlan> |
이전 예에서 모든 컨트롤 플레인 및 작업자 노드의 NIC1은 OpenShift Container Platform 클러스터 설치에만 사용되는 라우팅 불가능한 네트워크 (프로비저닝
)에 연결됩니다. 모든 컨트롤 플레인 및 작업자 노드의 NIC2는 라우팅 가능한 baremetal
네트워크에 연결됩니다.
PXE | 부팅 순서 |
---|---|
NIC1 PXE 지원 | 1 |
NIC2 | 2 |
provisioning
네트워크에 사용된 NIC에서 PXE가 활성화되어 있고 다른 모든 NIC에서 비활성화되어 있는지 확인합니다.
정식 이름 구성
클라이언트는 baremetal
네트워크를 통해 OpenShift Container Platform 클러스터 노드에 액세스합니다. 정식 이름 확장이 클러스터 이름인 하위 영역 또는 IBM Cloud 하위 도메인을 구성합니다.
<cluster_name>.<domain>
예를 들면 다음과 같습니다.
test-cluster.example.com
DNS 항목 생성
다음을 위해 퍼블릭 서브넷에서 사용되지 않는 IP 주소를 확인하는 DNS A
레코드 항목을 생성해야 합니다.
사용법 | 호스트 이름 | IP |
---|---|---|
API | api.<cluster_name>.<domain> | <ip> |
Ingress LB (apps) | *.apps.<cluster_name>.<domain> | <ip> |
컨트롤 플레인 및 작업자 노드에는 프로비저닝 후 이미 DNS 항목이 있습니다.
다음 테이블에서는 정규화된 도메인 이름의 예를 제공합니다. API 및 Nameserver 주소는 표준 이름 확장으로 시작됩니다. 컨트롤 플레인 및 작업자 노드의 호스트 이름은 예제이므로 원하는 호스트 이름 지정 규칙을 사용할 수 있습니다.
사용법 | 호스트 이름 | IP |
---|---|---|
API | api.<cluster_name>.<domain> | <ip> |
Ingress LB (apps) | *.apps.<cluster_name>.<domain> | <ip> |
Provisioner node | provisioner.<cluster_name>.<domain> | <ip> |
Master-0 | openshift-master-0.<cluster_name>.<domain> | <ip> |
Master-1 | openshift-master-1.<cluster_name>.<domain> | <ip> |
Master-2 | openshift-master-2.<cluster_name>.<domain> | <ip> |
Worker-0 | openshift-worker-0.<cluster_name>.<domain> | <ip> |
Worker-1 | openshift-worker-1.<cluster_name>.<domain> | <ip> |
Worker-n | openshift-worker-n.<cluster_name>.<domain> | <ip> |
OpenShift Container Platform에는 클러스터 멤버십 정보를 사용하여 A
레코드를 생성하는 기능이 포함되어 있습니다. 이렇게 하면 노드 이름이 해당 IP 주소로 확인됩니다. 노드가 API에 등록되면 클러스터에서 CoreDNS-mDNS를 사용하지 않고 노드 정보를 분산할 수 있습니다. 그러면 멀티캐스트 DNS와 연결된 네트워크 트래픽이 제거됩니다.
IBM Cloud 노드를 프로비저닝한 후 CoreDNS를 제거하면 로컬 항목이 사라지기 때문에 외부 DNS에서 api.<cluster_name>.<domain>
도메인 이름에 대한 DNS 항목을 생성해야 합니다. 외부 DNS 서버의 api.<cluster_name>.<domain>
도메인 이름에 대한 DNS 레코드를 생성하지 않으면 작업자 노드가 클러스터에 참여하지 못하게 합니다.
Network Time Protocol (NTP)
클러스터의 각 OpenShift Container Platform 노드는 NTP 서버에 액세스할 수 있습니다. OpenShift Container Platform 노드는 NTP를 사용하여 클럭을 동기화합니다. 예를 들어 클러스터 노드는 검증이 필요한 SSL 인증서를 사용하므로 노드 간 날짜와 시간이 동기화되지 않은 경우 인증서가 실패할 수 있습니다.
각 클러스터 노드의 BIOS 설정에서 일관된 클럭 날짜 및 시간 형식을 정의하지 않으면 설치에 실패할 수 있습니다.
DHCP 서버 설정
IBM Cloud는 공용 또는 개인 VLAN에서 DHCP를 실행하지 않습니다. IBM Cloud 노드를 프로비저닝한 후 OpenShift Container Platform의 baremetal
네트워크에 해당하는 공용 VLAN의 DHCP 서버를 설정해야 합니다.
각 노드에 할당된 IP 주소는 IBM Cloud 프로비저닝 시스템에서 할당한 IP 주소와 일치하지 않아도 됩니다.
자세한 내용은 "공용 서브넷 구성" 섹션을 참조하십시오.
BMC 액세스 권한 확인
대시보드의 각 노드의 "원격 관리" 페이지에는 노드의 IPMI(Intelligent Platform Management Interface) 자격 증명이 포함되어 있습니다. 기본 IPMI 권한을 사용하면 사용자가 특정 부팅 대상을 변경할 수 없습니다. Ironic에서 이러한 변경을 수행할 수 있도록 권한 수준을 OPERATOR
로 변경해야 합니다.
install-config.yaml
파일에서 각 BMC를 구성하는 데 사용되는 URL에 privilegelevel
매개변수를 추가합니다. 자세한 내용은 "install-config.yaml 파일 구성" 섹션을 참조하십시오. 예를 들면 다음과 같습니다.
ipmi://<IP>:<port>?privilegelevel=OPERATOR
또는 IBM Cloud 지원 센터에 문의하여 각 노드의 IPMI 권한을 ADMINISTRATOR
로 증가하도록 요청합니다.
베어 메탈 서버 생성
리소스
또는 ibmcloud
CLI 유틸리티를 사용하여 베어 메탈 서버를 생성할 수도 있습니다. 예를 들면 다음과 같습니다.
$ ibmcloud sl hardware create --hostname <SERVERNAME> \ --domain <DOMAIN> \ --size <SIZE> \ --os <OS-TYPE> \ --datacenter <DC-NAME> \ --port-speed <SPEED> \ --billing <BILLING>
IBM Cloud CLI 설치에 대한 자세한 내용은 독립 실행형 IBM Cloud CLI 설치를 참조하십시오.
IBM 클라우드 서버를 사용할 수 있는 데 3~5시간이 걸릴 수 있습니다.