5장. 클러스터 확장


베어 메탈 클러스터를 배포한 후 다음 절차를 사용하여 작업자 노드 수를 확장할 수 있습니다. 가능한 각 작업자 노드가 사전 요구 사항을 충족하는지 확인합니다.

참고

RedFish Virtual Media를 사용하여 클러스터를 구성하려면 최소 펌웨어 요구 사항을 충족해야 합니다. RedFish Virtual Media를 사용하여 클러스터를 설정할 때 추가 세부 사항은 사전 요구 사항 섹션에서 가상 미디어를 사용하여 설치를 위한 펌웨어 요구 사항을 참조하십시오.

5.1. 베어 메탈 노드 준비

클러스터를 확장하려면 노드에 관련 IP 주소를 제공해야 합니다. 이 작업은 정적 구성 또는 DHCP(Dynamic Host Configuration Protocol) 서버를 사용하여 수행할 수 있습니다. DHCP 서버를 사용하여 클러스터를 확장하는 경우 각 노드에 DHCP 예약이 있어야 합니다.

고정 IP 주소가 되도록 IP 주소 예약

일부 관리자는 각 노드의 IP 주소가 DHCP 서버에서 일정하게 유지되도록 고정 IP 주소를 사용하는 것을 선호합니다. NMState를 사용하여 고정 IP 주소를 구성하려면 추가 세부 사항은 "(선택 사항) install-config.yaml 파일에서 호스트 네트워크 인터페이스 구성을 참조하십시오.

베어 메탈 노드를 준비하려면 프로비저너 노드에서 다음 절차를 실행해야 합니다.

프로세스

  1. oc 바이너리를 가져옵니다.

    $ curl -s https://mirror.openshift.com/pub/openshift-v4/clients/ocp/$VERSION/openshift-client-linux-$VERSION.tar.gz | tar zxvf - oc
    Copy to Clipboard Toggle word wrap
    $ sudo cp oc /usr/local/bin
    Copy to Clipboard Toggle word wrap
  2. BMC(Baseboard Management Controller)를 사용하여 베어 메탈 노드의 전원을 끄고 꺼졌는지 확인합니다.
  3. 베어 메탈 노드의 베이스 보드 관리 컨트롤러의 사용자 이름 및 암호를 검색합니다. 그런 다음 사용자 이름과 암호에서 base64 문자열을 생성합니다.

    $ echo -ne "root" | base64
    Copy to Clipboard Toggle word wrap
    $ echo -ne "password" | base64
    Copy to Clipboard Toggle word wrap
  4. 베어 메탈 노드에 대한 구성 파일을 생성합니다. 정적 구성 또는 DHCP 서버를 사용 중인지에 따라 다음 예제 bmh.yaml 파일 중 하나를 사용하여 YAML의 값을 사용자 환경과 일치시킵니다.

    $ vim bmh.yaml
    Copy to Clipboard Toggle word wrap
    • 정적 구성 bmh.yaml:

      ---
      apiVersion: v1 
      1
      
      kind: Secret
      metadata:
       name: openshift-worker-<num>-network-config-secret 
      2
      
       namespace: openshift-machine-api
      type: Opaque
      stringData:
       nmstate: | 
      3
      
        interfaces: 
      4
      
        - name: <nic1_name> 
      5
      
          type: ethernet
          state: up
          ipv4:
            address:
            - ip: <ip_address> 
      6
      
              prefix-length: 24
            enabled: true
        dns-resolver:
          config:
            server:
            - <dns_ip_address> 
      7
      
        routes:
          config:
          - destination: 0.0.0.0/0
            next-hop-address: <next_hop_ip_address> 
      8
      
            next-hop-interface: <next_hop_nic1_name> 
      9
      
      ---
      apiVersion: v1
      kind: Secret
      metadata:
        name: openshift-worker-<num>-bmc-secret 
      10
      
        namespace: openshift-machine-api
      type: Opaque
      data:
        username: <base64_of_uid> 
      11
      
        password: <base64_of_pwd> 
      12
      
      ---
      apiVersion: metal3.io/v1alpha1
      kind: BareMetalHost
      metadata:
        name: openshift-worker-<num> 
      13
      
        namespace: openshift-machine-api
      spec:
        online: True
        bootMACAddress: <nic1_mac_address> 
      14
      
        bmc:
          address: <protocol>://<bmc_url> 
      15
      
          credentialsName: openshift-worker-<num>-bmc-secret 
      16
      
          disableCertificateVerification: True 
      17
      
          username: <bmc_username> 
      18
      
          password: <bmc_password> 
      19
      
        rootDeviceHints:
          deviceName: <root_device_hint> 
      20
      
        preprovisioningNetworkDataName: openshift-worker-<num>-network-config-secret 
      21
      Copy to Clipboard Toggle word wrap
      1
      새로 생성된 노드의 네트워크 인터페이스를 구성하려면 네트워크 구성이 포함된 시크릿의 이름을 지정합니다. nmstate 구문을 따라 노드의 네트워크 구성을 정의합니다. NMState 구문 구성에 대한 자세한 내용은 install-config.yaml 파일에서 "선택 사항: 호스트 네트워크 인터페이스 구성"을 참조하십시오.
      2 10 13 16
      베어 메탈 노드의 작업자 번호에 대한 <num>을 name 필드, credentialsName 필드, preprovisioningNetworkDataName 필드로 바꿉니다.
      3
      NMState YAML 구문을 추가하여 호스트 인터페이스를 구성합니다.
      4
      선택 사항: nmstate 를 사용하여 네트워크 인터페이스를 구성하고 인터페이스를 비활성화하려면 다음과 같이 IP 주소가 enabled: false 로 설정된 state: up 을 설정합니다.
      ---
         interfaces:
         - name: <nic_name>
           type: ethernet
           state: up
           ipv4:
             enabled: false
           ipv6:
             enabled: false
      Copy to Clipboard Toggle word wrap
      5 6 7 8 9
      < nic1_name > , < ip_address > , < dns_ip_address > , < next_hop_ip_address > 및 < next_hop_nic1_name >을 적절한 값으로 바꿉니다.
      11 12
      < base64_of_uid > 및 < base64_of_pwd >를 사용자 이름과 암호의 base64 문자열로 바꿉니다.
      14
      <NIC1-mac-address>를 베어 메탈 노드의 첫 번째 NIC의 MAC 주소로 바꿉니다. 추가 BMC 구성 옵션은 BMC 주소 지정 섹션을 참조하십시오.
      15
      <protocol>을 IPMI, RedFish 또는 기타와 같은 BMC 프로토콜로 바꿉니다. & lt;bmc_url& gt;을 베어 메탈 노드의 베이스 보드 관리 컨트롤러의 URL로 바꿉니다.
      17
      인증서 검증을 건너뛰려면 disableCertificateVerification 을 true로 설정합니다.
      18 19
      & lt;bmc_username > 및 < bmc_password >를 BMC 사용자 이름 및 암호 문자열로 바꿉니다.
      20
      선택 사항: 루트 장치 힌트를 지정하는 경우 <root_device_hint >를 장치 경로로 바꿉니다.
      21
      선택 사항: 새로 생성된 노드에 대한 네트워크 인터페이스를 구성한 경우 BareMetalHost CR의 preprovisioningNetworkDataName 에 네트워크 구성 시크릿 이름을 제공합니다.
    • DHCP 구성 bmh.yaml:

      ---
      apiVersion: v1
      kind: Secret
      metadata:
        name: openshift-worker-<num>-bmc-secret 
      1
      
        namespace: openshift-machine-api
      type: Opaque
      data:
        username: <base64_of_uid> 
      2
      
        password: <base64_of_pwd> 
      3
      
      ---
      apiVersion: metal3.io/v1alpha1
      kind: BareMetalHost
      metadata:
        name: openshift-worker-<num> 
      4
      
        namespace: openshift-machine-api
      spec:
        online: True
        bootMACAddress: <nic1_mac_address> 
      5
      
        bmc:
          address: <protocol>://<bmc_url> 
      6
      
          credentialsName: openshift-worker-<num>-bmc-secret 
      7
      
          disableCertificateVerification: True 
      8
      
          username: <bmc_username> 
      9
      
          password: <bmc_password> 
      10
      
        rootDeviceHints:
          deviceName: <root_device_hint> 
      11
      
        preprovisioningNetworkDataName: openshift-worker-<num>-network-config-secret 
      12
      Copy to Clipboard Toggle word wrap
      1 4 7
      베어 메탈 노드의 작업자 번호에 대한 <num>을 name 필드, credentialsName 필드, preprovisioningNetworkDataName 필드로 바꿉니다.
      2 3
      < base64_of_uid > 및 < base64_of_pwd >를 사용자 이름과 암호의 base64 문자열로 바꿉니다.
      5
      <NIC1-mac-address>를 베어 메탈 노드의 첫 번째 NIC의 MAC 주소로 바꿉니다. 추가 BMC 구성 옵션은 BMC 주소 지정 섹션을 참조하십시오.
      6
      <protocol>을 IPMI, RedFish 또는 기타와 같은 BMC 프로토콜로 바꿉니다. & lt;bmc_url& gt;을 베어 메탈 노드의 베이스 보드 관리 컨트롤러의 URL로 바꿉니다.
      8
      인증서 검증을 건너뛰려면 disableCertificateVerification 을 true로 설정합니다.
      9 10
      & lt;bmc_username > 및 < bmc_password >를 BMC 사용자 이름 및 암호 문자열로 바꿉니다.
      11
      선택 사항: 루트 장치 힌트를 지정하는 경우 <root_device_hint >를 장치 경로로 바꿉니다.
      12
      선택 사항: 새로 생성된 노드에 대한 네트워크 인터페이스를 구성한 경우 BareMetalHost CR의 preprovisioningNetworkDataName 에 네트워크 구성 시크릿 이름을 제공합니다.
    참고

    기존 베어 메탈 노드의 MAC 주소가 프로비저닝하려는 베어 메탈 호스트의 MAC 주소와 일치하면 Ironic 설치가 실패합니다. 호스트 등록, 검사, 정리 또는 기타 Ironic 단계가 실패하면 Bare Metal Operator에서 설치를 지속적으로 다시 시도합니다. 자세한 내용은 "호스트 중복 MAC 주소 진단"을 참조하십시오.

  5. 베어 메탈 노드를 생성합니다.

    $ oc -n openshift-machine-api create -f bmh.yaml
    Copy to Clipboard Toggle word wrap

    출력 예

    secret/openshift-worker-<num>-network-config-secret created
    secret/openshift-worker-<num>-bmc-secret created
    baremetalhost.metal3.io/openshift-worker-<num> created
    Copy to Clipboard Toggle word wrap

    여기서 <num>은 작업자 번호입니다.

  6. 베어 메탈 노드의 전원을 켜고 검사합니다.

    $ oc -n openshift-machine-api get bmh openshift-worker-<num>
    Copy to Clipboard Toggle word wrap

    여기서 <num>은 작업자 노드 번호입니다.

    출력 예

    NAME                    STATE       CONSUMER   ONLINE   ERROR
    openshift-worker-<num>  available              true
    Copy to Clipboard Toggle word wrap

    참고

    작업자 노드가 클러스터에 참여할 수 있도록 machineset 오브젝트를 BareMetalHost 오브젝트 수로 스케일링합니다. 노드를 수동 또는 자동으로 확장할 수 있습니다. 노드를 자동으로 확장하려면 machinesetmetal3.io/autoscale-to-hosts 주석을 사용합니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat