1.6.2. プロビジョニングホストの準備

ベアメタルの認証情報とクラスターを作成する場合には、利用可能なプロビジョニングホストが必要となります。プロビジョニングホストは、インストール用のブートストラップホスト VM を提供します。これは、KVM (Kernel-based Virtual Machine) を実行している仮想マシンまたはサービスです。認証情報やクラスターを作成する時に、このホストの詳細が必要になります。以下の手順でプロビジョニングホストを設定します。

  1. プロビジョナーノードには SSH を使用してログインします。
  2. root 以外のユーザー (user-name) を作成し、そのユーザーに sudo 権限に割り当てて、以下のコマンドを実行します。

    useradd <user-name>
    passwd <password>
    echo "<user-name> ALL=(root) NOPASSWD:ALL" | tee -a /etc/sudoers.d/<user-name>
    chmod 0440 /etc/sudoers.d/<user-name>
  3. 次のコマンドを入力して、新しいユーザーの SSH キーを作成します。

    su - <user-name> -c "ssh-keygen -t rsa -f /home/<user-name>/.ssh/id_rsa -N ''"
  4. プロビジョナーノードに、新しいユーザーとしてログインします。

    su - <user-name>
    [user-name@provisioner ~]$
  5. Red Hat Subscription Manager を使用して、以下のコマンドを入力してプロビジョナーノードを登録します。

    sudo subscription-manager register --username=<user-name> --password=<password> --auto-attach
    sudo subscription-manager repos --enable=rhel-8-for-x86_64-appstream-rpms --enable=rhel-8-for-x86_64-baseos-rpms

    Red Hat Subscription Manager の詳細は、Red Hat OpenShift Container Platform ドキュメントの「Subscription Manager の使用および設定」を参照してください。

  6. 以下のコマンドを実行して、必要なパッケージをインストールします。

    sudo dnf install -y libvirt qemu-kvm mkisofs python3-devel jq ipmitool
  7. ユーザーを変更して、新たに作成したユーザーに libvirt グループを追加します。

    sudo usermod --append --groups libvirt <user-name>
  8. 以下のコマンドを入力して、firewalld を再起動し、http サービスを有効にします。

    sudo systemctl start firewalld
    sudo firewall-cmd --zone=public --add-service=http --permanent
    sudo firewall-cmd --add-port=5000/tcp --zone=libvirt  --permanent
    sudo firewall-cmd --add-port=5000/tcp --zone=public   --permanent
    sudo firewall-cmd --reload
  9. 以下のコマンドを入力して、libvirtd サービスを起動し、有効にします。

    sudo systemctl start libvirtd
    sudo systemctl enable libvirtd --now
  10. 次のコマンドを入力して、デフォルトのストレージプールを作成し、起動します。

    sudo virsh pool-define-as --name default --type dir --target /var/lib/libvirt/images
    sudo virsh pool-start default
    sudo virsh pool-autostart default
  11. ネットワーク設定の以下の例を参照してください。

    • プロビジョニングネットワーク (IPv4アドレス)

      sudo nohup bash -c """
          nmcli con down "$PROV_CONN"
          nmcli con delete "$PROV_CONN"
          # RHEL 8.1 appends the word "System" in front of the connection, delete in case it exists
          nmcli con down "System $PROV_CONN"
          nmcli con delete "System $PROV_CONN"
          nmcli connection add ifname provisioning type bridge con-name provisioning
          nmcli con add type bridge-worker ifname "$PROV_CONN" master provisioning
          nmcli connection modify provisioning ipv4.addresses 172.22.0.1/24 ipv4.method manual
          nmcli con down provisioning
          nmcli con up provisioning"""

      この手順を完了すると、SSH 接続が切断される場合があります。

      IPv4 アドレスは、ベアメタルネットワークでルーティングできなければ、どのようなアドレスでも構いません。

    • プロビジョニングネットワーク (IPv6 アドレス)

      sudo nohup bash -c """
          nmcli con down "$PROV_CONN"
          nmcli con delete "$PROV_CONN"
          # RHEL 8.1 appends the word "System" in front of the connection, delete in case it exists
          nmcli con down "System $PROV_CONN"
          nmcli con delete "System $PROV_CONN"
          nmcli connection add ifname provisioning type bridge con-name provisioning
          nmcli con add type bridge-worker ifname "$PROV_CONN" master provisioning
          nmcli connection modify provisioning ipv6.addresses fd00:1101::1/64 ipv6.method manual
          nmcli con down provisioning
          nmcli con up provisioning"""

      この手順を完了すると、SSH 接続が切断される場合があります。

      IPv6 アドレスは、ベアメタルネットワークでルーティングできなければ、どのようなアドレスでも構いません。

      IPv6 アドレスを使用する場合に UEFI PXE 設定が有効にされており、UEFI PXE 設定が IPv6 プロトコルに設定されていることを確認します。

  12. SSH を使用してプロビジョナーノードに再接続します (必要な場合)。

    # ssh <user-name>@provisioner.<cluster-name>.<domain>
  13. 以下のコマンドを実行して、接続ブリッジが正しく作成されていることを確認します。

    nmcli con show

    検索結果は、以下のような内容になります。

    名前

    UUID

    TYPE

    DEVICE

    baremetal

    4d5133a5-8351-4bb9-bfd4-3af264801530

    bridge

    baremetal

    provisioning

    43942805-017f-4d7d-a2c2-7cb3324482ed

    bridge

    provisioning

    virbr0

    d9bca40f-eee1-410b-8879-a2d4bb0465e7

    bridge

    virbr0

    bridge-worker-eno1

    76a8ed50-c7e5-4999-b4f6-6d9014dd0812

    ethernet

    eno1

    bridge-worker-eno2

    f31c3353-54b7-48de-893a-02d2b34c4736

    ethernet

    eno2

  14. 以下の手順で pull-secret.txt ファイルを作成します。

    vim pull-secret.txt
    1. Webブラウザーで 「Install OpenShift on Bare Metal with user-provisioned infrastructure」にアクセスし、「Downloads」セクションまでスクロールします。
    2. Copy pull secret をクリックします。
    3. その内容を pull-secret.txt に貼り付けて、user-name ユーザーのホームディレクトリーに保存します。

これで、ベアメタルの認証情報を作成する準備が整いました。