5.3. BMO を使用して、ユーザーがプロビジョニングしたクラスターで新しいホストをプロビジョニングする


Bare Metal Operator (BMO) を使用して、BareMetalHost カスタムリソース (CR) を作成すると、ユーザーがプロビジョニングしたクラスターにベアメタルホストをプロビジョニングできます。

注記

BMO を使用して、クラスターにベアメタルホストをプロビジョニングするには、BareMetalHost カスタムリソースの spec.externallyProvisioned 仕様を false に設定する必要があります。

前提条件

  • ユーザーがプロビジョニングしたベアメタルクラスターを作成しました。
  • ホストへのベースボード管理コントローラー (BMC) アクセス権限がある。
  • 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. 次のコマンドを実行して、ホストのプロビジョニング状態が provisioned であることを確認します。

      $ 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 では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.