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


OpenShift Container Platform 컨트롤 플레인 노드를 교체하려면 다음 절차를 사용하십시오.

중요

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

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

사전 요구 사항

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

    중요

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

프로세스

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

    $ oc get clusteroperator baremetal
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME        VERSION   AVAILABLE   PROGRESSING   DEGRADED   SINCE   MESSAGE
    baremetal   4.19     True          False      False   3d15h
    Copy to Clipboard Toggle word wrap

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

    $ oc delete bmh -n openshift-machine-api <host_name>
    $ oc delete machine -n openshift-machine-api <machine_name>
    Copy to Clipboard Toggle word wrap

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

    BareMetalHostMachine 오브젝트를 제거한 후 Machine 컨트롤러에서 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
    Copy to Clipboard Toggle word wrap
    1 4 6
    name 필드 및 credentialsName 필드에서 베어 메탈 노드의 컨트롤 플레인 번호 < num >을 바꿉니다.
    2
    <base64-of-uid>를 사용자 이름의 base64 문자열로 바꿉니다.
    3
    <base64-of-pwd>를 암호의 base64 문자열로 바꿉니다.
    5
    <protocol>redfish , redfish-virtualmedia , idrac-virtualmedia 등과 같은 BMC 프로토콜로 바꾸세요. <bmc-ip>를 베어 메탈 노드의 베이스 보드 관리 컨트롤러의 IP 주소로 바꿉니다. 추가 BMC 구성 옵션은 추가 리소스 섹션의 "BMC 주소 지정"을 참조하십시오.
    7
    <NIC1-mac-address>를 베어 메탈 노드의 첫 번째 NIC의 MAC 주소로 바꿉니다.

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

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

    $ oc get bmh -n openshift-machine-api
    Copy to Clipboard Toggle word wrap

    출력 예

    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
    Copy to Clipboard Toggle word wrap

    컨트롤 플레인 노드에는 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>
      labels:
        machine.openshift.io/cluster-api-cluster: control-plane-<num>
        machine.openshift.io/cluster-api-machine-role: master
        machine.openshift.io/cluster-api-machine-type: master
      name: control-plane-<num>
      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
    Copy to Clipboard Toggle word wrap

    & lt;num >을 annotations,레이블이름 필드에 있는 베어 메탈 노드의 컨트롤 플레인 번호로 바꿉니다.

  6. BareMetalHost 오브젝트를 보려면 다음 명령을 실행합니다.

    $ oc get bmh -A
    Copy to Clipboard Toggle word wrap

    출력 예

    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
    Copy to Clipboard Toggle word wrap

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

    $ oc get nodes
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                           STATUS      ROLES     AGE   VERSION
    control-plane-1.example.com    available   master    4m2s  v1.32.3
    control-plane-2.example.com    available   master    141m  v1.32.3
    control-plane-3.example.com    available   master    141m  v1.32.3
    compute-1.example.com          available   worker    87m   v1.32.3
    compute-2.example.com          available   worker    87m   v1.32.3
    Copy to Clipboard Toggle word wrap

    참고

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

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat