7.2. 베어 메탈 컨트롤 플레인 노드 교체


설치 관리자 프로비저닝 OpenShift Container Platform 컨트롤 플레인 노드를 교체하려면 다음 절차를 사용하십시오.

중요

기존 컨트롤 플레인 호스트에서 BareMetalHost 오브젝트 정의를 재사용하는 경우 external Provisioned 필드를 true 로 설정하지 마십시오.

OpenShift Container Platform 설치 프로그램에서 프로비저닝한 경우 기존 컨트롤 플레인 BareMetalHost 오브젝트의 external Provisioned 플래그가 true 로 설정될 수 있습니다.

사전 요구 사항

  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
  • etcd 백업이 수행되었습니다.

    중요

    문제가 발생할 경우 클러스터를 복원할 수 있도록 이 절차를 수행하기 전에 etcd 백업을 수행하십시오. etcd 백업에 대한 자세한 내용은 추가 리소스 섹션을 참조하십시오.

프로세스

  1. Bare Metal Operator를 사용할 수 있는지 확인합니다.

    $ oc get clusteroperator baremetal

    출력 예

    NAME        VERSION   AVAILABLE   PROGRESSING   DEGRADED   SINCE   MESSAGE
    baremetal   4.16   True        False         False      3d15h

  2. 이전 BareMetalHostMachine 오브젝트를 제거합니다.

    $ oc delete bmh -n openshift-machine-api <host_name>
    $ oc delete machine -n openshift-machine-api <machine_name>

    & lt;host_name >을 호스트 이름으로 바꾸고 < machine_name >을 머신 이름으로 바꿉니다. 시스템 이름은 CONSUMER 필드에 표시됩니다.

    BareMetalHostMachine 오브젝트를 제거한 후 머신 컨트롤러에서 Node 오브젝트를 자동으로 삭제합니다.

  3. 새로운 BareMetalHost 오브젝트와 시크릿을 생성하여 BMC 인증 정보를 저장합니다.

    $ cat <<EOF | oc apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: control-plane-<num>-bmc-secret 
    1
    
      namespace: openshift-machine-api
    data:
      username: <base64_of_uid> 
    2
    
      password: <base64_of_pwd> 
    3
    
    type: Opaque
    ---
    apiVersion: metal3.io/v1alpha1
    kind: BareMetalHost
    metadata:
      name: control-plane-<num> 
    4
    
      namespace: openshift-machine-api
    spec:
      automatedCleaningMode: disabled
      bmc:
        address: <protocol>://<bmc_ip> 
    5
    
        credentialsName: control-plane-<num>-bmc-secret 
    6
    
      bootMACAddress: <NIC1_mac_address> 
    7
    
      bootMode: UEFI
      externallyProvisioned: false
      online: true
    EOF
    1 4 6
    이름 필드에서 베어 메탈 노드의 컨트롤 플레인 번호와 credentialsName 필드에 <num >을 바꿉니다.
    2
    & lt;base64_of_uid >를 사용자 이름의 base64 문자열로 바꿉니다.
    3
    & lt;base64_of_pwd& gt;를 암호의 base64 문자열로 바꿉니다.
    5
    & lt;protocol >을 redfish , redfish -virtualmedia,idrac-virtualmedia 등과 같은 BMC 프로토콜로 바꿉니다. & lt;bmc_ip >를 베어 메탈 노드의 베이스 보드 관리 컨트롤러의 IP 주소로 바꿉니다. 추가 BMC 구성 옵션은 추가 리소스 섹션의 "BMC 주소 지정"을 참조하십시오.
    7
    & lt;NIC1_mac_address >를 베어 메탈 노드의 첫 번째 NIC의 MAC 주소로 바꿉니다.

    검사가 완료되면 BareMetalHost 오브젝트가 생성되고 프로비저닝할 수 있습니다.

  4. 사용 가능한 BareMetalHost 오브젝트를 확인합니다.

    $ oc get bmh -n openshift-machine-api

    출력 예

    NAME                          STATE                    CONSUMER                   ONLINE   ERROR   AGE
    control-plane-1.example.com   available                control-plane-1            true             1h10m
    control-plane-2.example.com   externally provisioned   control-plane-2            true             4h53m
    control-plane-3.example.com   externally provisioned   control-plane-3            true             4h53m
    compute-1.example.com         provisioned              compute-1-ktmmx            true             4h53m
    compute-1.example.com         provisioned              compute-2-l2zmb            true             4h53m

    컨트롤 플레인 노드에는 MachineSet 오브젝트가 없으므로 대신 Machine 오브젝트를 생성해야 합니다. 다른 컨트롤 플레인 Machine 오브젝트에서 providerSpec 을 복사할 수 있습니다.

  5. Machine 오브젝트를 생성합니다.

    $ cat <<EOF | oc apply -f -
    apiVersion: machine.openshift.io/v1beta1
    kind: Machine
    metadata:
      annotations:
        metal3.io/BareMetalHost: openshift-machine-api/control-plane-<num> 
    1
    
      labels:
        machine.openshift.io/cluster-api-cluster: control-plane-<num> 
    2
    
        machine.openshift.io/cluster-api-machine-role: master
        machine.openshift.io/cluster-api-machine-type: master
      name: control-plane-<num> 
    3
    
      namespace: openshift-machine-api
    spec:
      metadata: {}
      providerSpec:
        value:
          apiVersion: baremetal.cluster.k8s.io/v1alpha1
          customDeploy:
            method: install_coreos
          hostSelector: {}
          image:
            checksum: ""
            url: ""
          kind: BareMetalMachineProviderSpec
          metadata:
            creationTimestamp: null
          userData:
            name: master-user-data-managed
    EOF
    1 2 3
    이름 ,레이블주석 필드에서 베어 메탈 노드의 컨트롤 플레인 번호 <num >을 바꿉니다.
  6. BareMetalHost 오브젝트를 보려면 다음 명령을 실행합니다.

    $ oc get bmh -A

    출력 예

    NAME                          STATE                    CONSUMER                   ONLINE   ERROR   AGE
    control-plane-1.example.com   provisioned              control-plane-1            true             2h53m
    control-plane-2.example.com   externally provisioned   control-plane-2            true             5h53m
    control-plane-3.example.com   externally provisioned   control-plane-3            true             5h53m
    compute-1.example.com         provisioned              compute-1-ktmmx            true             5h53m
    compute-2.example.com         provisioned              compute-2-l2zmb            true             5h53m

  7. RHCOS 설치 후 BareMetalHost 가 클러스터에 추가되었는지 확인합니다.

    $ oc get nodes

    출력 예

    NAME                           STATUS      ROLES     AGE   VERSION
    control-plane-1.example.com    available   master    4m2s  v1.29.4
    control-plane-2.example.com    available   master    141m  v1.29.4
    control-plane-3.example.com    available   master    141m  v1.29.4
    compute-1.example.com          available   worker    87m   v1.29.4
    compute-2.example.com          available   worker    87m   v1.29.4

    참고

    새 컨트롤 플레인 노드를 교체한 후 새 노드에서 실행중인 etcd pod는 crashloopback 상태입니다. 자세한 내용은 추가 리소스 섹션의 " 비정상 etcd 멤버 교체"를 참조하십시오.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동