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