6.4. 온프레미스 클러스터에 작업자 노드 추가
온프레미스 클러스터의 경우 OpenShift CLI( oc
)를 사용하여 ISO 이미지를 생성하고 이를 사용하여 대상 클러스터에서 하나 이상의 노드를 부팅하여 작업자 노드를 추가할 수 있습니다. 이 프로세스는 클러스터를 설치한 방법과 관계없이 사용할 수 있습니다.
정적 네트워크 구성과 같이 보다 복잡한 구성으로 각 노드를 사용자 정의하는 동안 하나 이상의 노드를 동시에 추가할 수도 있고, 각 노드의 MAC 주소만 지정할 수도 있습니다. ISO 생성 중에 지정되지 않은 필수 구성은 대상 클러스터에서 검색되어 새 노드에 적용됩니다.
노드가 클러스터에 성공적으로 추가된 후에 는 머신
또는 BareMetalHost
리소스가 자동으로 생성되지 않습니다.
ISO 이미지를 부팅할 때 사전 유효성 검사도 수행되어 각 노드를 부팅하기 전에 장애를 일으키는 문제를 알려줍니다.
6.4.1. 지원되는 플랫폼 링크 복사링크가 클립보드에 복사되었습니다!
이 노드 추가 방법에는 다음 플랫폼이 지원됩니다.
-
baremetal
-
vSphere
-
nutanix
-
none
-
external
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
파일 예시Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 ISO 이미지를 생성합니다.
oc adm node-image create nodes-config.yaml
$ oc adm node-image create nodes-config.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요create
명령이 대상 클러스터 버전과 일치하는 릴리스 이미지를 가져오려면 유효한 풀 비밀번호를 지정해야 합니다.--registry-config
플래그를 사용하거나REGISTRY_AUTH_FILE
환경 변수를 미리 설정하여 풀 시크릿을 지정할 수 있습니다.참고--dir
플래그를 사용하여nodes-config.yaml
파일의 디렉토리를 지정하지 않으면 도구는 현재 디렉토리에서 파일을 찾습니다.-
자산 디렉토리에 새로운
node.<arch>.iso
파일이 있는지 확인하세요. 자산 디렉토리는 ISO 이미지를 생성할 때 다른 디렉토리를 지정하지 않는 한 현재 디렉토리입니다. - 생성된 ISO 이미지로 선택한 노드를 부팅합니다.
다음 명령을 실행하여 노드 생성 진행 상황을 추적하세요.
oc adm node-image monitor --ip-addresses <ip_addresses>
$ oc adm node-image monitor --ip-addresses <ip_addresses>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
<ip_addresses>
추가되는 노드의 IP 주소 목록을 지정합니다.
참고노드에서 역방향 DNS 항목을 사용할 수 없는 경우
oc adm node-image monitor
명령은 보류 중인 인증서 서명 요청(CSR)에 대한 검사를 건너뜁니다. 이러한 검사를 건너뛰면oc get csr
명령을 실행하여 CSR을 수동으로 확인해야 합니다.
각 CSR에 대해 다음 명령을 실행하여 CSR을 승인합니다.
oc adm certificate approve <csr_name>
$ oc adm certificate approve <csr_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.4.3.2. 명령 플래그를 사용하여 노드 추가 링크 복사링크가 클립보드에 복사되었습니다!
명령 플래그를 사용하여 새 노드에 대한 구성을 지정하여 클러스터에 단일 노드를 추가할 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc
)를 설치했습니다. - Rsync 유틸리티를 설치했습니다.
- 대상 클러스터에 활성 연결이 있습니다.
- 사용 가능한 kubeconfig 파일이 있습니다.
프로세스
다음 명령을 실행하여 ISO 이미지를 생성합니다. MAC 주소는 명령 플래그를 사용하여 지정해야 합니다. 이 명령과 함께 사용할 수 있는 추가 플래그에 대해서는 "클러스터 구성 참조" 섹션을 참조하세요.
oc adm node-image create --mac-address=<mac_address>
$ oc adm node-image create --mac-address=<mac_address>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
<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>
$ oc adm node-image monitor --ip-addresses <ip_address>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
<ip_address>
- 추가되는 노드의 IP 주소 목록을 지정합니다.
참고노드에서 역방향 DNS 항목을 사용할 수 없는 경우
oc adm node-image monitor
명령은 보류 중인 인증서 서명 요청(CSR)에 대한 검사를 건너뜁니다. 이러한 검사를 건너뛰면oc get csr
명령을 실행하여 CSR을 수동으로 확인해야 합니다.각 CSR에 대해 다음 명령을 실행하여 보류 중인 CSR을 승인합니다.
oc adm certificate approve <csr_name>
$ oc adm certificate approve <csr_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.4.4. 클러스터 구성 참조 링크 복사링크가 클립보드에 복사되었습니다!
ISO 이미지를 생성할 때 대상 클러스터에서 구성을 검색하여 새 노드에 적용합니다. nodes-config.yaml
파일이나 oc adm node-image create
명령에 추가한 플래그의 구성을 재정의하지 않는 한, 클러스터의 모든 구성은 노드에 적용됩니다.
6.4.4.1. YAML 파일 매개변수 링크 복사링크가 클립보드에 복사되었습니다!
nodes-config.yaml
파일에서 지정할 수 있는 구성 매개변수는 다음 표에 설명되어 있습니다.
매개변수 | 설명 | 값 |
---|---|---|
hosts:
| 호스트 구성. | 호스트 구성 객체의 배열입니다. |
hosts: hostname:
| 호스트 이름. DHCP(동적 호스트 구성 프로토콜) 또는 역방향 DNS 조회에서 얻은 호스트 이름을 재정의합니다. 각 호스트는 이러한 방법 중 하나를 통해 제공되는 고유한 호스트 이름을 가져야 하지만, 이 매개변수를 통해 호스트 이름을 구성하는 것은 선택 사항입니다. | 문자열. |
hosts: interfaces:
|
호스트의 인터페이스에 대한 이름 및 MAC 주소 매핑 표를 제공합니다. | 호스트 구성 객체의 배열입니다. |
hosts: interfaces: name:
| 호스트의 인터페이스 이름입니다. | 문자열. |
hosts: interfaces: macAddress:
| 호스트의 인터페이스의 MAC 주소. |
다음 예와 같은 MAC 주소: |
hosts: rootDeviceHints:
| 특정 장치에 Red Hat Enterprise Linux CoreOS(RHCOS) 이미지를 프로비저닝할 수 있습니다. 노드 추가 도구는 발견한 순서대로 장치를 조사하고 발견된 값을 힌트 값과 비교합니다. 힌트 값과 일치하는 첫 번째로 발견된 장치를 사용합니다. | 키-값 쌍의 사전입니다. 자세한 내용은 "OpenShift 설치를 위한 환경 설정" 페이지에서 "루트 장치 힌트"를 참조하세요. |
hosts: rootDeviceHints: deviceName:
| RHCOS 이미지가 프로비저닝되는 장치의 이름입니다. | 문자열. |
hosts: networkConfig:
| 호스트 네트워크 정의. 구성은 nmstate 설명서 에 정의된 호스트 네트워크 관리 API와 일치해야 합니다. | 호스트 네트워크 구성 개체의 사전입니다. |
cpuArchitecture:
| 선택 사항입니다. 추가하는 노드의 아키텍처를 지정합니다. 이 매개변수를 사용하면 필요할 때 클러스터의 기본값을 재정의할 수 있습니다. | 문자열. |
sshKey:
| 선택 사항입니다. 클러스터 머신에 대한 액세스를 인증하는 SSH 키가 포함된 파일입니다. | 문자열. |
bootArtifactsBaseURL:
|
선택 사항입니다. 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 키의 경로입니다. 이 플래그는 단일 노드만 생성하는 데 사용할 수 있으며, | 문자열 |