第5章 クラスターの拡張


ベアメタルクラスターをデプロイした後、次の手順に従ってワーカーノードの数を増やすことができます。それぞれの候補となるワーカーノードが前提条件を満たしていることを確認します。

注記

RedFish Virtual Media を使用してクラスターを拡張するには、最低限のファームウェア要件を満たす必要があります。RedFish Virtual Media を使用したクラスターの拡張時の詳細は、前提条件 セクションの 仮想メディアを使用したインストールのファームウェア要件 を参照してください。

5.1. ベアメタルノードの準備

クラスターを拡張するには、ノードに関連する IP アドレスを提供する必要があります。これは、静的設定または DHCP (動的ホスト設定プロトコル) サーバーを使用して行うことができます。DHCP サーバーを使用してクラスターを拡張する場合、各ノードには DHCP 予約が必要です。

IP アドレスの予約し、それらを静的 IP アドレスにする

一部の管理者は、各ノードの IP アドレスが DHCP サーバーがない状態で一定になるように静的 IP アドレスの使用を選択します。NMState で静的 IP アドレスを設定するには、「OpenShift インストールの環境のセットアップ」セクションの「オプション: install-config.yaml でのホストネットワークインターフェイスの設定」で追加の詳細を参照してください。

ベアメタルノードを準備するには、プロビジョナーノードから以下の手順を実行する必要があります。

手順

  1. oc バイナリーを取得します。

    $ curl -s https://mirror.openshift.com/pub/openshift-v4/clients/ocp/$VERSION/openshift-client-linux-$VERSION.tar.gz | tar zxvf - oc
    Copy to Clipboard Toggle word wrap
    $ sudo cp oc /usr/local/bin
    Copy to Clipboard Toggle word wrap
  2. ベースボード管理コントローラー (BMC) を使用してベアメタルノードの電源を切り、オフになっていることを確認します。
  3. ベアメタルノードのベースボード管理コントローラーのユーザー名およびパスワードを取得します。次に、ユーザー名とパスワードから base64 文字列を作成します。

    $ echo -ne "root" | base64
    Copy to Clipboard Toggle word wrap
    $ echo -ne "password" | base64
    Copy to Clipboard Toggle word wrap
  4. ベアメタルノードの設定ファイルを作成します。静的設定または DHCP サーバーのどちらを使用しているかに応じて、次の例の bmh.yaml ファイルのいずれかを使用し、環境に合わせて YAML の値を置き換えます。

    $ vim bmh.yaml
    Copy to Clipboard Toggle word wrap
    • 静的設定 bmh.yaml :

      ---
      apiVersion: v1 
      1
      
      kind: Secret
      metadata:
       name: openshift-worker-<num>-network-config-secret 
      2
      
       namespace: openshift-machine-api
      type: Opaque
      stringData:
       nmstate: | 
      3
      
        interfaces: 
      4
      
        - name: <nic1_name> 
      5
      
          type: ethernet
          state: up
          ipv4:
            address:
            - ip: <ip_address> 
      6
      
              prefix-length: 24
            enabled: true
        dns-resolver:
          config:
            server:
            - <dns_ip_address> 
      7
      
        routes:
          config:
          - destination: 0.0.0.0/0
            next-hop-address: <next_hop_ip_address> 
      8
      
            next-hop-interface: <next_hop_nic1_name> 
      9
      
      ---
      apiVersion: v1
      kind: Secret
      metadata:
        name: openshift-worker-<num>-bmc-secret 
      10
      
        namespace: openshift-machine-api
      type: Opaque
      data:
        username: <base64_of_uid> 
      11
      
        password: <base64_of_pwd> 
      12
      
      ---
      apiVersion: metal3.io/v1alpha1
      kind: BareMetalHost
      metadata:
        name: openshift-worker-<num> 
      13
      
        namespace: openshift-machine-api
      spec:
        online: True
        bootMACAddress: <nic1_mac_address> 
      14
      
        bmc:
          address: <protocol>://<bmc_url> 
      15
      
          credentialsName: openshift-worker-<num>-bmc-secret 
      16
      
          disableCertificateVerification: True 
      17
      
          username: <bmc_username> 
      18
      
          password: <bmc_password> 
      19
      
        rootDeviceHints:
          deviceName: <root_device_hint> 
      20
      
        preprovisioningNetworkDataName: openshift-worker-<num>-network-config-secret 
      21
      Copy to Clipboard Toggle word wrap
      1
      新しく作成されたノードのネットワークインターフェイスを設定するには、ネットワーク設定を含むシークレットの名前を指定します。nmstate 構文に従って、ノードのネットワーク設定を定義します。NMState 構文の設定に関する詳細は、「オプション: install-config.yaml ファイルでのホストネットワークインターフェイスの設定」を参照してください。
      2 10 13 16
      namecredentialsName、および preprovisioningNetworkDataName フィールドの <num> は、ベアメタルノードのワーカー番号に置き換えます。
      3
      NMState YAML 構文を追加して、ホストインターフェイスを設定します。
      4
      オプション: nmstate を使用してネットワークインターフェイスを設定しており、インターフェイスを無効にする場合は、次のように IP アドレスを enabled: false に設定して state: up を設定します。
      ---
         interfaces:
         - name: <nic_name>
           type: ethernet
           state: up
           ipv4:
             enabled: false
           ipv6:
             enabled: false
      Copy to Clipboard Toggle word wrap
      5 6 7 8 9
      <nic1_name><ip_address><dns_ip_address><next_hop_ip_address>、および <next_hop_nic1_name> を適切な値に置き換えます。
      11 12
      <base64_of_uid><base64_of_pwd> は、ユーザー名とパスワードの base64 文字列に置き換えます。
      14
      <nic1_mac_address> を、ベアメタルノードの最初の NIC の MAC アドレスに置き換えます。追加の BMC 設定オプションは、「BMC アドレス指定」のセクションを参照してください。
      15
      <protocol> は、IPMI、RedFish などの BMC プロトコルに置き換えます。<bmc_url> を、ベアメタルノードのベースボード管理コントローラーの URL に置き換えます。
      17
      証明書の検証をスキップするには、disableCertificateVerification を true に設定します。
      18 19
      <bmc_username><bmc_password> を BMC ユーザー名とパスワードの文字列に置き換えます。
      20
      オプション: root デバイスヒントを指定する場合は、<root_device_hint> をデバイスパスに置き換えます。
      21
      オプション: 新しく作成されたノードのネットワークインターフェイスを設定した場合は、BareMetalHost CR の preprovisioningNetworkDataName にネットワーク設定のシークレット名を指定します。
    • DHCP 設定 bmh.yaml :

      ---
      apiVersion: v1
      kind: Secret
      metadata:
        name: openshift-worker-<num>-bmc-secret 
      1
      
        namespace: openshift-machine-api
      type: Opaque
      data:
        username: <base64_of_uid> 
      2
      
        password: <base64_of_pwd> 
      3
      
      ---
      apiVersion: metal3.io/v1alpha1
      kind: BareMetalHost
      metadata:
        name: openshift-worker-<num> 
      4
      
        namespace: openshift-machine-api
      spec:
        online: True
        bootMACAddress: <nic1_mac_address> 
      5
      
        bmc:
          address: <protocol>://<bmc_url> 
      6
      
          credentialsName: openshift-worker-<num>-bmc-secret 
      7
      
          disableCertificateVerification: True 
      8
      
          username: <bmc_username> 
      9
      
          password: <bmc_password> 
      10
      
        rootDeviceHints:
          deviceName: <root_device_hint> 
      11
      
        preprovisioningNetworkDataName: openshift-worker-<num>-network-config-secret 
      12
      Copy to Clipboard Toggle word wrap
      1 4 7
      namecredentialsName、および preprovisioningNetworkDataName フィールドの <num> は、ベアメタルノードのワーカー番号に置き換えます。
      2 3
      <base64_of_uid><base64_of_pwd> は、ユーザー名とパスワードの base64 文字列に置き換えます。
      5
      <nic1_mac_address> を、ベアメタルノードの最初の NIC の MAC アドレスに置き換えます。追加の BMC 設定オプションは、「BMC アドレス指定」のセクションを参照してください。
      6
      <protocol> は、IPMI、RedFish などの BMC プロトコルに置き換えます。<bmc_url> を、ベアメタルノードのベースボード管理コントローラーの URL に置き換えます。
      8
      証明書の検証をスキップするには、disableCertificateVerification を true に設定します。
      9 10
      <bmc_username><bmc_password> を BMC ユーザー名とパスワードの文字列に置き換えます。
      11
      オプション: root デバイスヒントを指定する場合は、<root_device_hint> をデバイスパスに置き換えます。
      12
      オプション: 新しく作成されたノードのネットワークインターフェイスを設定した場合は、BareMetalHost CR の preprovisioningNetworkDataName にネットワーク設定のシークレット名を指定します。
    注記

    既存のベアメタルノードの MAC アドレスが、プロビジョニングしようとしているベアメタルホストの MAC アドレスと一致する場合、Ironic インストールは失敗します。ホストの登録、検査、クリーニング、または他の Ironic 手順が失敗する場合、ベアメタル Operator はインストールを継続的に再試行します。詳細は、「ホストの重複した MAC アドレスの診断」を参照してください。

  5. ベアメタルノードを作成します。

    $ oc -n openshift-machine-api create -f bmh.yaml
    Copy to Clipboard Toggle word wrap

    出力例

    secret/openshift-worker-<num>-network-config-secret created
    secret/openshift-worker-<num>-bmc-secret created
    baremetalhost.metal3.io/openshift-worker-<num> created
    Copy to Clipboard Toggle word wrap

    <num> はワーカー番号です。

  6. ベアメタルノードの電源をオンにし、これを検査します。

    $ oc -n openshift-machine-api get bmh openshift-worker-<num>
    Copy to Clipboard Toggle word wrap

    <num> はワーカーノード番号です。

    出力例

    NAME                    STATE       CONSUMER   ONLINE   ERROR
    openshift-worker-<num>  available              true
    Copy to Clipboard Toggle word wrap

    注記

    ワーカーノードがクラスターに参加できるようにするには、machineset オブジェクトを BareMetalHost オブジェクトの数にスケーリングします。ノードは手動または自動でスケーリングできます。ノードを自動的にスケーリングするには、machinesetmetal3.io/autoscale-to-hosts アノテーションを使用します。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

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

会社概要

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

Theme

© 2025 Red Hat