13.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.10.12   True        False         False      3d15h
    Copy to Clipboard Toggle word wrap

  2. 이전 BareMetalHostMachine 개체를 제거합니다.

    $ oc delete bmh -n openshift-machine-api vmaster-0
    $ oc delete machine -n openshift-machine-api kni1-master-0
    Copy to Clipboard Toggle word wrap

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

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

    $ cat <<EOF | oc apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: kni1-master-0-bmc-secret
      namespace: openshift-machine-api
    data:
      password: <username>
      username: <password>
    type: Opaque
    ---
    apiVersion: metal3.io/v1alpha1
    kind: BareMetalHost
    metadata:
      name: kni1-master-0
      namespace: openshift-machine-api
    spec:
      automatedCleaningMode: disabled
      bmc:
        address: redfish-virtualmedia+http://192.168.124.113:8000/redfish/v1/Systems/f87eaf82-b32d-4291-ace6-b28677964e78
        credentialsName: kni1-master-0-bmc-secret
      bootMACAddress: aa:aa:aa:aa:ab:03
      bootMode: UEFI
      externallyProvisioned: false
      hardwareProfile: unknown
      online: true
    EOF
    Copy to Clipboard Toggle word wrap

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

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

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

    출력 예

    NAME           STATE                    CONSUMER                   ONLINE   ERROR   AGE
    kni1-master-0  available                ocp-hkw9p-master-0         true             1h10m
    kni1-master-1  externally provisioned   ocp-hkw9p-master-1         true             4h53m
    kni1-master-2  externally provisioned   ocp-hkw9p-master-2         true             4h53m
    kni1-worker-0  provisioned              ocp-hkw9p-worker-0-ktmmx   true             4h53m
    kni1-worker-1  provisioned              ocp-hkw9p-worker-0-l2zmb   true             4h53m
    Copy to Clipboard Toggle word wrap

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

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

    $ cat <<EOF | oc apply -f -
    apiVersion: machine.openshift.io/v1beta1
    kind: Machine
    metadata:
      annotations:
        metal3.io/BareMetalHost: openshift-machine-api/kni1-master-0
      labels:
        machine.openshift.io/cluster-api-cluster: kni1
        machine.openshift.io/cluster-api-machine-role: master
        machine.openshift.io/cluster-api-machine-type: master
      name: kni1-master-0
      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
  6. 단일 단계에서 BareMetalHost,Secret, Machine 오브젝트를 정의 및 생성하려면 정의를 사용하여 YAML 파일(example.yaml)을 생성하고 다음 명령을 실행합니다.

    $ oc create -f example.yaml
    Copy to Clipboard Toggle word wrap

    프로비저닝 프로세스는 baremetal-operator를 사용하여 RHCOS를 설치하고 클러스터에 추가할 호스트를 준비합니다.

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

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

    출력 예

    NAME           STATE                    CONSUMER                   ONLINE   ERROR   AGE
    kni1-master-0  provisioned              ocp-hkw9p-master-0         true             2h53m
    kni1-master-1  externally provisioned   ocp-hkw9p-master-1         true             5h53m
    kni1-master-2  externally provisioned   ocp-hkw9p-master-2         true             5h53m
    kni1-worker-0  provisioned              ocp-hkw9p-worker-0-ktmmx   true             5h53m
    kni1-worker-1  provisioned              ocp-hkw9p-worker-0-l2zmb   true             5h53m
    Copy to Clipboard Toggle word wrap

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

    $ oc get nodes
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME             STATUS      ROLES    AGE   VERSION
    kni1-master-0    available	 master   4m2s  v1.18.2
    kni1-master-1    available	 master   141m  v1.18.2
    kni1-master-2    available	 master   141m  v1.18.2
    kni1-worker-0    available	 worker   87m   v1.18.2
    Copy to Clipboard Toggle word wrap

    참고

    새 컨트롤 플레인 노드를 교체한 후 새 노드에서 실행중인 etcd pod는 크래시 루프 상태에 있습니다. 자세한 내용은 "비활성 etcd 멤버 교체"를 참조하십시오.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat