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 파일이 있습니다.

프로세스

  1. 추가하는 노드에 대한 구성을 담고 있는 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
    Copy to Clipboard Toggle word wrap

  2. 다음 명령을 실행하여 ISO 이미지를 생성합니다.

    $ oc adm node-image create nodes-config.yaml
    Copy to Clipboard Toggle word wrap
    중요

    create 명령이 대상 클러스터 버전과 일치하는 릴리스 이미지를 가져오려면 유효한 풀 비밀번호를 지정해야 합니다. --registry-config 플래그를 사용하거나 REGISTRY_AUTH_FILE 환경 변수를 미리 설정하여 풀 시크릿을 지정할 수 있습니다.

    참고

    --dir 플래그를 사용하여 nodes-config.yaml 파일의 디렉토리를 지정하지 않으면 도구는 현재 디렉토리에서 파일을 찾습니다.

  3. 자산 디렉토리에 새로운 node.<arch>.iso 파일이 있는지 확인하세요. 자산 디렉토리는 ISO 이미지를 생성할 때 다른 디렉토리를 지정하지 않는 한 현재 디렉토리입니다.
  4. 생성된 ISO 이미지로 선택한 노드를 부팅합니다.
  5. 다음 명령을 실행하여 노드 생성 진행 상황을 추적하세요.

    $ oc adm node-image monitor --ip-addresses <ip_addresses>
    Copy to Clipboard Toggle word wrap

    다음과 같습니다.

    <ip_addresses>

    추가되는 노드의 IP 주소 목록을 지정합니다.

    참고

    노드에서 역방향 DNS 항목을 사용할 수 없는 경우 oc adm node-image monitor 명령은 보류 중인 인증서 서명 요청(CSR)에 대한 검사를 건너뜁니다. 이러한 검사를 건너뛰면 oc get csr 명령을 실행하여 CSR을 수동으로 확인해야 합니다.

  6. 각 CSR에 대해 다음 명령을 실행하여 CSR을 승인합니다.

    $ oc adm certificate approve <csr_name>
    Copy to Clipboard Toggle word wrap

6.4.3.2. 명령 플래그를 사용하여 노드 추가

명령 플래그를 사용하여 새 노드에 대한 구성을 지정하여 클러스터에 단일 노드를 추가할 수 있습니다.

사전 요구 사항

  • OpenShift CLI( oc )를 설치했습니다.
  • Rsync 유틸리티를 설치했습니다.
  • 대상 클러스터에 활성 연결이 있습니다.
  • 사용 가능한 kubeconfig 파일이 있습니다.

프로세스

  1. 다음 명령을 실행하여 ISO 이미지를 생성합니다. MAC 주소는 명령 플래그를 사용하여 지정해야 합니다. 이 명령과 함께 사용할 수 있는 추가 플래그에 대해서는 "클러스터 구성 참조" 섹션을 참조하세요.

    $ oc adm node-image create --mac-address=<mac_address>
    Copy to Clipboard Toggle word wrap

    다음과 같습니다.

    <mac_address>
    추가되는 노드의 MAC 주소를 지정합니다.
    중요

    create 명령이 대상 클러스터 버전과 일치하는 릴리스 이미지를 가져오려면 유효한 풀 비밀번호를 지정해야 합니다. --registry-config 플래그를 사용하거나 REGISTRY_AUTH_FILE 환경 변수를 미리 설정하여 풀 시크릿을 지정할 수 있습니다.

    작은 정보

    노드를 구성하는 데 사용할 수 있는 추가 플래그를 보려면 다음 oc adm node-image create --help 명령을 실행하세요.

  2. 자산 디렉토리에 새로운 node.<arch>.iso 파일이 있는지 확인하세요. 자산 디렉토리는 ISO 이미지를 생성할 때 다른 디렉토리를 지정하지 않는 한 현재 디렉토리입니다.
  3. 생성된 ISO 이미지로 노드를 부팅합니다.
  4. 다음 명령을 실행하여 노드 생성 진행 상황을 추적하세요.

    $ oc adm node-image monitor --ip-addresses <ip_address>
    Copy to Clipboard Toggle word wrap

    다음과 같습니다.

    <ip_address>
    추가되는 노드의 IP 주소 목록을 지정합니다.
    참고

    노드에서 역방향 DNS 항목을 사용할 수 없는 경우 oc adm node-image monitor 명령은 보류 중인 인증서 서명 요청(CSR)에 대한 검사를 건너뜁니다. 이러한 검사를 건너뛰면 oc get csr 명령을 실행하여 CSR을 수동으로 확인해야 합니다.

  5. 각 CSR에 대해 다음 명령을 실행하여 보류 중인 CSR을 승인합니다.

    $ oc adm certificate approve <csr_name>
    Copy to Clipboard Toggle word wrap

6.4.4. 클러스터 구성 참조

ISO 이미지를 생성할 때 대상 클러스터에서 구성을 검색하여 새 노드에 적용합니다. nodes-config.yaml 파일이나 oc adm node-image create 명령에 추가한 플래그의 구성을 재정의하지 않는 한, 클러스터의 모든 구성은 노드에 적용됩니다.

6.4.4.1. YAML 파일 매개변수

nodes-config.yaml 파일에서 지정할 수 있는 구성 매개변수는 다음 표에 설명되어 있습니다.

Expand
표 6.2. nodes-config.yaml parameters
매개변수설명
hosts:
Copy to Clipboard Toggle word wrap

호스트 구성.

호스트 구성 객체의 배열입니다.

hosts:
  hostname:
Copy to Clipboard Toggle word wrap

호스트 이름. DHCP(동적 호스트 구성 프로토콜) 또는 역방향 DNS 조회에서 얻은 호스트 이름을 재정의합니다. 각 호스트는 이러한 방법 중 하나를 통해 제공되는 고유한 호스트 이름을 가져야 하지만, 이 매개변수를 통해 호스트 이름을 구성하는 것은 선택 사항입니다.

문자열.

hosts:
  interfaces:
Copy to Clipboard Toggle word wrap

호스트의 인터페이스에 대한 이름 및 MAC 주소 매핑 표를 제공합니다. nodes-config.yaml 파일에 NetworkConfig 섹션이 제공된 경우 이 테이블을 포함해야 하며 값은 NetworkConfig 섹션에 제공된 매핑과 일치해야 합니다.

호스트 구성 객체의 배열입니다.

hosts:
  interfaces:
    name:
Copy to Clipboard Toggle word wrap

호스트의 인터페이스 이름입니다.

문자열.

hosts:
  interfaces:
    macAddress:
Copy to Clipboard Toggle word wrap

호스트의 인터페이스의 MAC 주소.

다음 예와 같은 MAC 주소: 00-B0-D0-63-C2-26 .

hosts:
  rootDeviceHints:
Copy to Clipboard Toggle word wrap

특정 장치에 Red Hat Enterprise Linux CoreOS(RHCOS) 이미지를 프로비저닝할 수 있습니다. 노드 추가 도구는 발견한 순서대로 장치를 조사하고 발견된 값을 힌트 값과 비교합니다. 힌트 값과 일치하는 첫 번째로 발견된 장치를 사용합니다.

키-값 쌍의 사전입니다. 자세한 내용은 "OpenShift 설치를 위한 환경 설정" 페이지에서 "루트 장치 힌트"를 참조하세요.

hosts:
  rootDeviceHints:
    deviceName:
Copy to Clipboard Toggle word wrap

RHCOS 이미지가 프로비저닝되는 장치의 이름입니다.

문자열.

hosts:
  networkConfig:
Copy to Clipboard Toggle word wrap

호스트 네트워크 정의. 구성은 nmstate 설명서 에 정의된 호스트 네트워크 관리 API와 일치해야 합니다.

호스트 네트워크 구성 개체의 사전입니다.

cpuArchitecture:
Copy to Clipboard Toggle word wrap

선택 사항입니다. 추가하는 노드의 아키텍처를 지정합니다. 이 매개변수를 사용하면 필요할 때 클러스터의 기본값을 재정의할 수 있습니다.

문자열.

sshKey:
Copy to Clipboard Toggle word wrap

선택 사항입니다. 클러스터 머신에 대한 액세스를 인증하는 SSH 키가 포함된 파일입니다.

문자열.

bootArtifactsBaseURL:
Copy to Clipboard Toggle word wrap

선택 사항입니다. iPXE 스크립트를 생성할 때 PXE(Preboot Execution Environment) 자산을 업로드할 서버의 URL을 지정합니다. ISO 이미지 대신 PXE 자산을 생성하려면 --pxe 플래그를 설정해야 합니다.

문자열.

6.4.4.2. 명령 플래그 옵션

oc adm node-image create 명령과 함께 명령 플래그를 사용하여 생성 중인 노드를 구성할 수 있습니다.

다음 표에서는 단일 노드 사용 사례에 국한되지 않는 명령 플래그를 설명합니다.

Expand
표 6.3. 일반 명령 플래그
플래그설명

--certificate-authority

관리되는 컨테이너 이미지 레지스트리와 통신할 때 사용할 인증 기관 번들에 대한 경로입니다. --insecure 플래그를 사용하면 이 플래그는 무시됩니다.

문자열

--dir

구성 파일이 포함된 경로(제공된 경우)입니다. 이 경로는 생성된 아티팩트를 저장하는 데에도 사용됩니다.

문자열

--insecure

HTTP를 통해 레지스트리에 대한 푸시 및 풀 작업이 가능합니다.

부울

-o, --output-name

생성된 출력 이미지의 이름입니다.

문자열

p, --pxe

부팅 가능한 ISO 파일 대신 PXE(Preboot Execution Environment) 자산을 생성합니다.

이 플래그가 설정되면 nodes-config.yaml 파일에서 bootArtifactsBaseURL 매개변수를 사용하여 PXE 자산을 업로드할 서버의 URL을 지정할 수도 있습니다.

부울

-a, --registry-config

레지스트리 자격 증명에 대한 경로입니다. 또는 REGISTRY_AUTH_FILE 환경 변수를 지정할 수 있습니다. 기본 경로는 ${XDG_RUNTIME_DIR}/containers/auth.json , /run/containers/${UID}/auth.json , ${XDG_CONFIG_HOME}/containers/auth.json , ${DOCKER_CONFIG} , ~/.docker/config.json , ~/.dockercfg입니다. 더 이상 사용되지 않는 REGISTRY_AUTH_PREFERENCE 환경 변수를 "docker" 값으로 변경하여 Podman보다 Docker 자격 증명을 우선시할 수 있습니다.

문자열

-r , --보고서

프로세스가 성공하든 실패하든 노드 생성 프로세스에 대한 보고서를 생성합니다. 이 플래그를 지정하지 않으면 실패한 경우에만 보고서가 생성됩니다.

부울

--skip-verification

검색된 콘텐츠의 무결성을 검증하지 않는 옵션입니다. 이 방법은 권장되지 않지만, 오래된 이미지 레지스트리에서 이미지를 가져올 때 필요할 수 있습니다. 레지스트리가 신뢰할 수 있는 것으로 알려진 경우에만 검증을 우회하세요.

부울

다음 표에서는 단일 노드를 생성할 때만 사용할 수 있는 명령 플래그를 설명합니다.

Expand
표 6.4. 단일 노드 전용 명령 플래그
플래그설명

-c, --cpu-architecture

노드를 설치하는 데 사용할 CPU 아키텍처입니다. 이 플래그는 단일 노드만 생성하는 데 사용할 수 있으며, --mac-address 플래그를 정의해야 합니다.

문자열

--hostname

노드에 설정할 호스트 이름입니다. 이 플래그는 단일 노드만 생성하는 데 사용할 수 있으며, --mac-address 플래그를 정의해야 합니다.

문자열

-m, --mac-address

구성을 적용할 호스트를 식별하는 데 사용되는 MAC 주소입니다. 이 플래그는 단일 노드만 생성하는 데 사용할 수 있으며, --mac-address 플래그를 정의해야 합니다.

문자열

--network-config-path

노드에 적용할 NMState 구성을 포함하는 YAML 파일의 경로입니다. 이 플래그는 단일 노드만 생성하는 데 사용할 수 있으며, --mac-address 플래그를 정의해야 합니다.

문자열

--root-device-hint

이미지 루트 파일 시스템의 저장 위치를 지정하기 위한 힌트입니다. 허용되는 형식은 <hint_name>:<value> 입니다. 이 플래그는 단일 노드만 생성하는 데 사용할 수 있으며, --mac-address 플래그를 정의해야 합니다.

문자열

-k, --ssh-key-path

노드에 액세스하는 데 사용되는 SSH 키의 경로입니다. 이 플래그는 단일 노드만 생성하는 데 사용할 수 있으며, --mac-address 플래그를 정의해야 합니다.

문자열

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat