6.4. 온프레미스 클러스터에 작업자 노드 추가
온프레미스 클러스터의 경우 OpenShift CLI( oc )를 사용하여 ISO 이미지를 생성하고 이를 사용하여 대상 클러스터에서 하나 이상의 노드를 부팅하여 작업자 노드를 추가할 수 있습니다. 이 프로세스는 클러스터를 설치한 방법과 관계없이 사용할 수 있습니다.
정적 네트워크 구성과 같이 보다 복잡한 구성으로 각 노드를 사용자 정의하는 동안 하나 이상의 노드를 동시에 추가할 수도 있고, 각 노드의 MAC 주소만 지정할 수도 있습니다. ISO 생성 중에 지정되지 않은 필수 구성은 대상 클러스터에서 검색되어 새 노드에 적용됩니다.
노드가 클러스터에 성공적으로 추가된 후에 는 머신 또는 BareMetalHost 리소스가 자동으로 생성되지 않습니다.
ISO 이미지를 부팅할 때 사전 유효성 검사도 수행되어 각 노드를 부팅하기 전에 장애를 일으키는 문제를 알려줍니다.
6.4.1. 지원 플랫폼 링크 복사링크가 클립보드에 복사되었습니다!
이 노드 추가 방법에는 다음 플랫폼이 지원됩니다.
-
baremetal -
vSphere -
nutanix -
none
6.4.2. 지원되는 아키텍처 링크 복사링크가 클립보드에 복사되었습니다!
다음 아키텍처 조합은 이 프로세스를 사용하여 워커 노드를 추가할 때 작동하는 것으로 검증되었습니다.
-
amd64또는arm64클러스터의amd64워커 노드 -
amd64또는arm64클러스터의arm64워커 노드 -
s390x클러스터의s390x워커 노드 -
ppc64le클러스터의ppc64le워커 노드
6.4.3. 클러스터에 노드 추가 링크 복사링크가 클립보드에 복사되었습니다!
다음 두 가지 방법으로 이 메서드를 사용하여 노드를 추가할 수 있습니다.
구성 파일을 사용하여 하나 이상의 노드를 추가합니다.
oc adm node-image create명령을 실행하기 전에nodes-config.yaml파일에서 하나 이상의 노드에 대한 구성을 지정할 수 있습니다. 이 기능은 한 번에 두 개 이상의 노드를 추가하거나 복잡한 구성을 지정하는 경우에 유용합니다.명령 플래그만을 사용하여 단일 노드를 추가합니다.
플래그를 사용하여 구성을 지정하여
oc adm node-image create명령을 실행하여 노드를 추가할 수 있습니다. 한 번에 하나의 노드만 추가하고, 해당 노드에 대해 간단한 구성만 지정하려는 경우 이 기능이 유용합니다.
6.4.3.1. 구성 파일을 사용하여 하나 이상의 노드 추가 링크 복사링크가 클립보드에 복사되었습니다!
nodes-config.yaml 파일을 사용하여 새 노드에 대한 구성을 지정하여 클러스터에 하나 이상의 노드를 추가할 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc)가 설치되어 있습니다. - Rsync 유틸리티를 설치했습니다.
- 대상 클러스터에 활성 연결이 있습니다.
- 사용 가능한 kubeconfig 파일이 있습니다.
프로세스
추가하는 노드에 대한 구성을 담고 있는
nodes-config.yaml이라는 이름의 새 YAML 파일을 만듭니다. 새로운 노드마다 MAC 주소를 제공해야 합니다.다음 예제 파일에서는 두 개의 새로운 작업자가 초기 정적 네트워크 구성으로 설명됩니다.
nodes-config.yaml파일 예시hosts: - hostname: extra-worker-1 rootDeviceHints: deviceName: /dev/sda interfaces: - macAddress: 00:00:00:00:00:00 name: eth0 networkConfig: interfaces: - name: eth0 type: ethernet state: up mac-address: 00:00:00:00:00:00 ipv4: enabled: true address: - ip: 192.168.122.2 prefix-length: 23 dhcp: false - hostname: extra-worker-2 rootDeviceHints: deviceName: /dev/sda interfaces: - macAddress: 00:00:00:00:00:02 name: eth0 networkConfig: interfaces: - name: eth0 type: ethernet state: up mac-address: 00:00:00:00:00:02 ipv4: enabled: true address: - ip: 192.168.122.3 prefix-length: 23 dhcp: false다음 명령을 실행하여 ISO 이미지를 생성합니다.
$ oc adm node-image create nodes-config.yaml중요create명령이 대상 클러스터 버전과 일치하는 릴리스 이미지를 가져오려면 유효한 풀 비밀번호를 지정해야 합니다.--registry-config플래그를 사용하거나REGISTRY_AUTH_FILE환경 변수를 미리 설정하여 풀 시크릿을 지정할 수 있습니다.참고--dir플래그를 사용하여nodes-config.yaml파일의 디렉토리를 지정하지 않으면 도구는 현재 디렉토리에서 파일을 찾습니다.-
자산 디렉토리에 새로운
node.<arch>.iso파일이 있는지 확인하세요. 자산 디렉토리는 ISO 이미지를 생성할 때 다른 디렉토리를 지정하지 않는 한 현재 디렉토리입니다. - 생성된 ISO 이미지로 선택한 노드를 부팅합니다.
다음 명령을 실행하여 노드 생성 진행 상황을 추적하세요.
$ oc adm node-image monitor --ip-addresses <ip_addresses>다음과 같습니다.
<ip_addresses>추가되는 노드의 IP 주소 목록을 지정합니다.
참고노드에서 역방향 DNS 항목을 사용할 수 없는 경우
oc adm node-image monitor명령은 보류 중인 인증서 서명 요청(CSR)에 대한 검사를 건너뜁니다. 이러한 검사를 건너뛰면oc get csr명령을 실행하여 CSR을 수동으로 확인해야 합니다.
각 CSR에 대해 다음 명령을 실행하여 CSR을 승인합니다.
$ oc adm certificate approve <csr_name>
6.4.3.2. 명령 플래그를 사용하여 노드 추가 링크 복사링크가 클립보드에 복사되었습니다!
명령 플래그를 사용하여 새 노드에 대한 구성을 지정하여 클러스터에 단일 노드를 추가할 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc)가 설치되어 있습니다. - Rsync 유틸리티를 설치했습니다.
- 대상 클러스터에 활성 연결이 있습니다.
- 사용 가능한 kubeconfig 파일이 있습니다.
프로세스
다음 명령을 실행하여 ISO 이미지를 생성합니다. MAC 주소는 명령 플래그를 사용하여 지정해야 합니다. 이 명령과 함께 사용할 수 있는 추가 플래그에 대해서는 "클러스터 구성 참조" 섹션을 참조하세요.
$ oc adm node-image create --mac-address=<mac_address>다음과 같습니다.
<mac_address>- 추가되는 노드의 MAC 주소를 지정합니다.
중요create명령이 대상 클러스터 버전과 일치하는 릴리스 이미지를 가져오려면 유효한 풀 비밀번호를 지정해야 합니다.--registry-config플래그를 사용하거나REGISTRY_AUTH_FILE환경 변수를 미리 설정하여 풀 시크릿을 지정할 수 있습니다.작은 정보노드를 구성하는 데 사용할 수 있는 추가 플래그를 보려면 다음
oc adm node-image create --help명령을 실행하세요.-
자산 디렉토리에 새로운
node.<arch>.iso파일이 있는지 확인하세요. 자산 디렉토리는 ISO 이미지를 생성할 때 다른 디렉토리를 지정하지 않는 한 현재 디렉토리입니다. - 생성된 ISO 이미지로 노드를 부팅합니다.
다음 명령을 실행하여 노드 생성 진행 상황을 추적하세요.
$ oc adm node-image monitor --ip-addresses <ip_address>다음과 같습니다.
<ip_address>- 추가되는 노드의 IP 주소 목록을 지정합니다.
참고노드에서 역방향 DNS 항목을 사용할 수 없는 경우
oc adm node-image monitor명령은 보류 중인 인증서 서명 요청(CSR)에 대한 검사를 건너뜁니다. 이러한 검사를 건너뛰면oc get csr명령을 실행하여 CSR을 수동으로 확인해야 합니다.각 CSR에 대해 다음 명령을 실행하여 보류 중인 CSR을 승인합니다.
$ oc adm certificate approve <csr_name>
6.4.4. 클러스터 구성 참조 링크 복사링크가 클립보드에 복사되었습니다!
ISO 이미지를 생성할 때 대상 클러스터에서 구성을 검색하여 새 노드에 적용합니다. nodes-config.yaml 파일이나 oc adm node-image create 명령에 추가한 플래그의 구성을 재정의하지 않는 한, 클러스터의 모든 구성은 노드에 적용됩니다.
6.4.4.1. YAML 파일 매개변수 링크 복사링크가 클립보드에 복사되었습니다!
nodes-config.yaml 파일에서 지정할 수 있는 구성 매개변수는 다음 표에 설명되어 있습니다.
| 매개변수 | 설명 | 값 |
|---|---|---|
| 호스트 구성. | 호스트 구성 객체의 배열입니다. |
| hostname DHCP(동적 호스트 구성 프로토콜) 또는 역방향 DNS 조회에서 얻은 호스트 이름을 재정의합니다. 각 호스트는 이러한 방법 중 하나를 통해 제공되는 고유한 호스트 이름을 가져야 하지만, 이 매개변수를 통해 호스트 이름을 구성하는 것은 선택 사항입니다. | 문자열. |
|
호스트의 인터페이스에 대한 이름 및 MAC 주소 매핑 표를 제공합니다. | 호스트 구성 객체의 배열입니다. |
| 호스트의 인터페이스 이름입니다. | 문자열. |
| 호스트의 인터페이스의 MAC 주소. |
다음 예와 같은 MAC 주소: |
| 특정 장치에 Red Hat Enterprise Linux CoreOS(RHCOS) 이미지를 프로비저닝할 수 있습니다. 노드 추가 도구는 발견한 순서대로 장치를 조사하고 발견된 값을 힌트 값과 비교합니다. 힌트 값과 일치하는 첫 번째로 발견된 장치를 사용합니다. | 키-값 쌍의 사전입니다. 자세한 내용은 "OpenShift 설치를 위한 환경 설정" 페이지에서 "루트 장치 힌트"를 참조하세요. |
| RHCOS 이미지가 프로비저닝되는 장치의 이름입니다. | 문자열. |
| 호스트 네트워크 정의. 구성은 nmstate 설명서 에 정의된 호스트 네트워크 관리 API와 일치해야 합니다. | 호스트 네트워크 구성 개체의 사전입니다. |
| 선택 사항입니다. 추가하는 노드의 아키텍처를 지정합니다. 이 매개변수를 사용하면 필요할 때 클러스터의 기본값을 재정의할 수 있습니다. | 문자열. |
| 선택 사항입니다. 클러스터 머신에 대한 액세스를 인증하는 SSH 키가 포함된 파일입니다. | 문자열. |
|
선택 사항입니다. iPXE 스크립트를 생성할 때 PXE(Preboot Execution Environment) 자산을 업로드할 서버의 URL을 지정합니다. ISO 이미지 대신 PXE 자산을 생성하려면 | 문자열. |
6.4.4.2. 명령 플래그 옵션 링크 복사링크가 클립보드에 복사되었습니다!
oc adm node-image create 명령과 함께 명령 플래그를 사용하여 생성 중인 노드를 구성할 수 있습니다.
다음 표에서는 단일 노드 사용 사례에 국한되지 않는 명령 플래그를 설명합니다.
| 플래그 | 설명 | 값 |
|---|---|---|
|
|
관리되는 컨테이너 이미지 레지스트리와 통신할 때 사용할 인증 기관 번들에 대한 경로입니다. | 문자열 |
|
| 구성 파일이 포함된 경로(제공된 경우)입니다. 이 경로는 생성된 아티팩트를 저장하는 데에도 사용됩니다. | 문자열 |
|
| HTTP를 통해 레지스트리에 대한 푸시 및 풀 작업이 가능합니다. | 부울 |
|
| 생성된 출력 이미지의 이름입니다. | 문자열 |
|
| 부팅 가능한 ISO 파일 대신 PXE(Preboot Execution Environment) 자산을 생성합니다.
이 플래그가 설정되면 | 부울 |
|
|
레지스트리 자격 증명에 대한 경로입니다. 또는 | 문자열 |
|
| 프로세스가 성공하든 실패하든 노드 생성 프로세스에 대한 보고서를 생성합니다. 이 플래그를 지정하지 않으면 실패한 경우에만 보고서가 생성됩니다. | 부울 |
|
| 검색된 콘텐츠의 무결성을 검증하지 않는 옵션입니다. 이 방법은 권장되지 않지만, 오래된 이미지 레지스트리에서 이미지를 가져올 때 필요할 수 있습니다. 레지스트리가 신뢰할 수 있는 것으로 알려진 경우에만 검증을 우회하세요. | 부울 |
다음 표에서는 단일 노드를 생성할 때만 사용할 수 있는 명령 플래그를 설명합니다.
| 플래그 | 설명 | 값 |
|---|---|---|
|
|
노드를 설치하는 데 사용할 CPU 아키텍처입니다. 이 플래그는 단일 노드만 생성하는 데 사용할 수 있으며, | 문자열 |
|
|
노드에 설정할 호스트 이름입니다. 이 플래그는 단일 노드만 생성하는 데 사용할 수 있으며, | 문자열 |
|
|
구성을 적용할 호스트를 식별하는 데 사용되는 MAC 주소입니다. 이 플래그는 단일 노드만 생성하는 데 사용할 수 있으며, | 문자열 |
|
|
노드에 적용할 NMState 구성을 포함하는 YAML 파일의 경로입니다. 이 플래그는 단일 노드만 생성하는 데 사용할 수 있으며, | 문자열 |
|
|
이미지 루트 파일 시스템의 저장 위치를 지정하기 위한 힌트입니다. 허용되는 형식은 | 문자열 |
|
|
노드에 액세스하는 데 사용되는 SSH 키의 경로입니다. 이 플래그는 단일 노드만 생성하는 데 사용할 수 있으며, | 문자열 |