6.4. 온프레미스 클러스터에 작업자 노드 추가
온프레미스 클러스터의 경우 OpenShift CLI(oc) 를 사용하여 ISO 이미지를 생성하여 작업자 노드를 추가할 수 있습니다. 이 노드를 대상 클러스터에서 하나 이상의 노드를 부팅하는 데 사용할 수 있습니다. 클러스터 설치 방법과 관계없이 이 프로세스를 사용할 수 있습니다.
정적 네트워크 구성과 같은 더 복잡한 구성으로 각 노드를 사용자 정의하는 동안 한 번에 하나 이상의 노드를 추가하거나 각 노드의 MAC 주소만 지정할 수 있습니다. ISO 생성 중에 지정되지 않은 필수 구성은 대상 클러스터에서 검색되고 새 노드에 적용됩니다.
클러스터에 노드를 성공적으로 추가한 후에는 Machine 또는 BareMetalHost 리소스가 자동으로 생성되지 않습니다.
또한 각 노드를 부팅하기 전에 실패로 인한 문제를 알리기 위해 ISO 이미지를 부팅할 때 preflight 검증 검사가 수행됩니다.
6.4.1. 지원되는 플랫폼 링크 복사링크가 클립보드에 복사되었습니다!
이 방법으로 노드를 추가하는 데 지원되는 플랫폼은 다음과 같습니다.
-
baremetal -
vSphere -
nutanix -
none
6.4.2. 지원되는 아키텍처 링크 복사링크가 클립보드에 복사되었습니다!
이 프로세스를 사용하여 작업자 노드를 추가할 때 다음 아키텍처 조합이 작동하도록 검증되었습니다.
-
또는amd64arm64클러스터의 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 파일을 사용할 수 있습니다
프로세스
추가하는 노드에 대한 구성이 포함된 새 YAML 파일을 만들고 node
-config.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파일의 디렉터리를 지정하지 않으면 툴은 현재 디렉터리에서 파일을 찾습니다.-
assets 디렉터리에 새
node.<arch>.iso파일이 있는지 확인합니다. ISO 이미지를 생성할 때 다른 디렉터리를 지정하지 않는 한 assets 디렉터리는 현재 디렉터리입니다. - 생성된 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명령을 실행합니다.-
assets 디렉터리에 새
node.<arch>.iso파일이 있는지 확인합니다. ISO 이미지를 생성할 때 다른 디렉터리를 지정하지 않는 한 assets 디렉터리는 현재 디렉터리입니다. - 생성된 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 파일에 지정할 수 있는 구성 매개변수는 다음 표에 설명되어 있습니다.
| 매개변수 | 설명 | 값 |
|---|---|---|
| 호스트 구성. | 호스트 구성 오브젝트의 배열입니다. |
| 호스트 이름. DHCP(Dynamic Host Configuration Protocol) 또는 역방향 DNS 조회에서 가져온 호스트 이름을 재정의합니다. 이 매개 변수를 통해 호스트 이름을 구성하는 것은 선택 사항이지만 각 호스트에는 이러한 방법 중 하나에서 제공하는 고유한 호스트 이름이 있어야 합니다. | 문자열. |
|
호스트의 인터페이스에 대한 이름 및 MAC 주소 매핑 테이블을 제공합니다. | 호스트 구성 오브젝트의 배열입니다. |
| 호스트의 인터페이스 이름입니다. | 문자열. |
| 호스트에 있는 인터페이스의 MAC 주소입니다. |
다음 예와 같은 MAC 주소: |
| 특정 장치에 대한 RHCOS(Red Hat Enterprise Linux CoreOS) 이미지의 프로비저닝을 활성화합니다. 노드 추가 툴에서 장치를 검색한 순서대로 검사하고 검색된 값을 팁과 비교합니다. 힌트 값과 일치하는 첫 번째 검색된 장치를 사용합니다. | 키-값 쌍으로 이루어진 사전입니다. 자세한 내용은 "OpenShift 설치를 위한 환경 설정" 페이지의 "루트 장치 팁"을 참조하십시오. |
| RHCOS 이미지가 프로비저닝되는 장치의 이름입니다. | 문자열. |
| 호스트 네트워크 정의입니다. 구성은 nmstate 설명서에 정의된 Host Network Management 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 키의 경로입니다. 이 플래그는 단일 노드만 생성하는 데 사용할 수 있으며 | 문자열 |