第6章 クラスターの拡張


installer-provisioned OpenShift Container Platform クラスターのデプロイ後に、以下の手順を使用してワーカーノードの数を拡張することができます。それぞれの候補となるワーカーノードが前提条件を満たしていることを確認します。

注記

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

6.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
    $ sudo cp oc /usr/local/bin
  2. ベースボード管理コントローラー (BMC) を使用してベアメタルノードの電源を切り、オフになっていることを確認します。
  3. ベアメタルノードのベースボード管理コントローラーのユーザー名およびパスワードを取得します。次に、ユーザー名とパスワードから base64 文字列を作成します。

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

    $ vim bmh.yaml
    • 静的設定 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
      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
      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
      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

    出力例

    secret/openshift-worker-<num>-network-config-secret created
    secret/openshift-worker-<num>-bmc-secret created
    baremetalhost.metal3.io/openshift-worker-<num> created

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

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

    $ oc -n openshift-machine-api get bmh openshift-worker-<num>

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

    出力例

    NAME                    STATE       CONSUMER   ONLINE   ERROR
    openshift-worker-<num>  available              true

    注記

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

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.