1.6.2. プロビジョニングホストの準備
ベアメタルの認証情報とクラスターを作成する場合には、利用可能なプロビジョニングホストが必要となります。プロビジョニングホストは、インストール用のブートストラップホスト VM を提供します。これは、KVM (Kernel-based Virtual Machine) を実行している仮想マシンまたはサービスです。認証情報やクラスターを作成する時に、このホストの詳細が必要になります。以下の手順でプロビジョニングホストを設定します。
-
プロビジョナーノードには
SSH
を使用してログインします。 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>
次のコマンドを入力して、新しいユーザーの SSH キーを作成します。
su - <user-name> -c "ssh-keygen -t rsa -f /home/<user-name>/.ssh/id_rsa -N ''"
プロビジョナーノードに、新しいユーザーとしてログインします。
su - <user-name> [user-name@provisioner ~]$
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 の使用および設定」を参照してください。
以下のコマンドを実行して、必要なパッケージをインストールします。
sudo dnf install -y libvirt qemu-kvm mkisofs python3-devel jq ipmitool
ユーザーを変更して、新たに作成したユーザーに
libvirt
グループを追加します。sudo usermod --append --groups libvirt <user-name>
以下のコマンドを入力して、
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
以下のコマンドを入力して、
libvirtd
サービスを起動し、有効にします。sudo systemctl start libvirtd sudo systemctl enable libvirtd --now
次のコマンドを入力して、デフォルトのストレージプールを作成し、起動します。
sudo virsh pool-define-as --name default --type dir --target /var/lib/libvirt/images sudo virsh pool-start default sudo virsh pool-autostart default
ネットワーク設定の以下の例を参照してください。
プロビジョニングネットワーク (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 プロトコルに設定されていることを確認します。
SSH を使用してプロビジョナーノードに再接続します (必要な場合)。
# ssh <user-name>@provisioner.<cluster-name>.<domain>
以下のコマンドを実行して、接続ブリッジが正しく作成されていることを確認します。
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
以下の手順で
pull-secret.txt
ファイルを作成します。vim pull-secret.txt
- Webブラウザーで 「Install OpenShift on Bare Metal with user-provisioned infrastructure」にアクセスし、「Downloads」セクションまでスクロールします。
- Copy pull secret をクリックします。
-
その内容を
pull-secret.txt
に貼り付けて、user-name
ユーザーのホームディレクトリーに保存します。
これで、ベアメタルの認証情報を作成する準備が整いました。