5.3. BMO를 사용하여 사용자 프로비저닝 클러스터에서 새 호스트 프로비저닝


BareMetalHost CR(사용자 정의 리소스)을 생성하여 Bare Metal Operator(BMO)를 사용하여 사용자 프로비저닝 클러스터에서 베어 메탈 호스트를 프로비저닝할 수 있습니다.

참고

BMO를 사용하여 클러스터에 베어 메탈 호스트를 프로비저닝하려면 BareMetalHost 사용자 정의 리소스에서 spec.externallyProvisioned 사양을 false 로 설정해야 합니다.

사전 요구 사항

  • 사용자가 프로비저닝한 베어 메탈 클러스터를 생성하셨습니다.
  • 호스트에 대한 BMC(Baseboard Management Controller) 액세스 권한이 있습니다.
  • Provisioning CR을 생성하여 클러스터에 프로비저닝 서비스를 배포했습니다.

프로세스

  1. Secret CR 및 BareMetalHost CR을 생성합니다.

    1. 다음 YAML을 bmh.yaml 파일에 저장합니다.

      ---
      apiVersion: v1
      kind: Secret
      metadata:
        name: worker1-bmc
        namespace: openshift-machine-api
      type: Opaque
      data:
        username: <base64_of_uid>
        password: <base64_of_pwd>
      ---
      apiVersion: metal3.io/v1alpha1
      kind: BareMetalHost
      metadata:
        name: worker1
        namespace: openshift-machine-api
      spec:
        bmc:
          address: <protocol>://<bmc_url> 
      1
      
          credentialsName: "worker1-bmc"
        bootMACAddress: <nic1_mac_address>
        externallyProvisioned: false 
      2
      
        customDeploy:
          method: install_coreos
        online: true
        userData:
          name: worker-user-data-managed
          namespace: openshift-machine-api
      1
      가상 미디어 네트워킹 부팅을 지원하는 베어 메탈 호스트 드라이버(예: redfish-virtualmediaidrac-virtualmedia )만 사용할 수 있습니다.
      2
      BareMetalHost 사용자 정의 리소스에서 spec.externallyProvisioned 사양을 false 로 설정해야 합니다. 기본값은 false입니다.
  2. 다음 명령을 실행하여 베어 메탈 호스트 오브젝트를 생성합니다.

    $ oc create -f bmh.yaml

    출력 예

    secret/worker1-bmc created
    baremetalhost.metal3.io/worker1 created

  3. 모든 CSR(인증서 서명 요청)을 승인합니다.

    1. 다음 명령을 실행하여 호스트의 프로비저닝 상태가 프로비저닝 되었는지 확인합니다.

      $ oc get bmh -A

      출력 예

      NAMESPACE               NAME          STATE                    CONSUMER   ONLINE   ERROR   AGE
      openshift-machine-api   controller1   externally provisioned              true             5m25s
      openshift-machine-api   worker1       provisioned                         true             4m45s

    2. 다음 명령을 실행하여 보류 중인 CSR 목록을 가져옵니다.

      $ oc get csr

      출력 예

      NAME        AGE   SIGNERNAME                                    REQUESTOR                                         REQUESTEDDURATION CONDITION
      csr-gfm9f   33s   kubernetes.io/kube-apiserver-client-kubelet   system:serviceaccount:openshift-machine-config-o
      perator:node-bootstrapper   <none>              Pending

    3. 다음 명령을 실행하여 CSR을 승인합니다.

      $ oc adm certificate approve <csr_name>

      출력 예

      certificatesigningrequest.certificates.k8s.io/<csr_name> approved

검증

  • 다음 명령을 실행하여 노드가 준비되었는지 확인합니다.

    $ oc get nodes

    출력 예

    NAME        STATUS   ROLES           AGE     VERSION
    app1        Ready    worker          47s     v1.24.0+dc5a2fd
    controller1 Ready    master,worker   2d22h   v1.24.0+dc5a2fd

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동