第2章 OpenShift Container Platform インストールの環境の設定
2.1. {ibmcloudBMProductName} インフラストラクチャーでのプロビジョナーノードの準備
provisioner ノードを準備するには、以下の手順を実行します。
手順
-
ssh
でプロビジョナーノードにログインします。 root 以外のユーザー (
kni
) を作成し、そのユーザーにsudo
権限を付与します。# useradd kni
# passwd kni
# echo "kni ALL=(root) NOPASSWD:ALL" | tee -a /etc/sudoers.d/kni
# chmod 0440 /etc/sudoers.d/kni
新規ユーザーの
ssh
キーを作成します。# su - kni -c "ssh-keygen -f /home/kni/.ssh/id_rsa -N ''"
プロビジョナーノードで新規ユーザーとしてログインします。
# su - kni
Red Hat Subscription Manager を使用してプロビジョナーノードを登録します。
$ sudo subscription-manager register --username=<user> --password=<pass> --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 の詳細は、Using and Configuring Red Hat Subscription Manager を参照してください。
以下のパッケージをインストールします。
$ sudo dnf install -y libvirt qemu-kvm mkisofs python3-devel jq ipmitool
ユーザーを変更して、新たに作成したユーザーに
libvirt
グループを追加します。$ sudo usermod --append --groups libvirt kni
firewalld
を起動します。$ sudo systemctl start firewalld
firewalld
を有効にします。$ sudo systemctl enable firewalld
http
サービスを起動します。$ sudo firewall-cmd --zone=public --add-service=http --permanent
$ sudo firewall-cmd --reload
libvirtd
サービスを開始して、これを有効にします。$ sudo systemctl enable libvirtd --now
プロビジョナーノードの ID を設定します。
$ PRVN_HOST_ID=<ID>
以下の
ibmcloud
コマンドで ID を表示できます。$ ibmcloud sl hardware list
パブリックサブネットの ID を設定します。
$ PUBLICSUBNETID=<ID>
以下の
ibmcloud
コマンドで ID を表示できます。$ ibmcloud sl subnet list
プライベートサブネットの ID を設定します。
$ PRIVSUBNETID=<ID>
以下の
ibmcloud
コマンドで ID を表示できます。$ ibmcloud sl subnet list
provisioner ノードのパブリック IP アドレスを設定します。
$ PRVN_PUB_IP=$(ibmcloud sl hardware detail $PRVN_HOST_ID --output JSON | jq .primaryIpAddress -r)
パブリックネットワークの CIDR を設定します。
$ PUBLICCIDR=$(ibmcloud sl subnet detail $PUBLICSUBNETID --output JSON | jq .cidr)
パブリックネットワークの IP アドレスおよび CIDR を設定します。
$ PUB_IP_CIDR=$PRVN_PUB_IP/$PUBLICCIDR
パブリックネットワークのゲートウェイを設定します。
$ PUB_GATEWAY=$(ibmcloud sl subnet detail $PUBLICSUBNETID --output JSON | jq .gateway -r)
プロビジョナーノードのプライベート IP アドレスを設定します。
$ PRVN_PRIV_IP=$(ibmcloud sl hardware detail $PRVN_HOST_ID --output JSON | \ jq .primaryBackendIpAddress -r)
プライベートネットワークの CIDR を設定します。
$ PRIVCIDR=$(ibmcloud sl subnet detail $PRIVSUBNETID --output JSON | jq .cidr)
プライベートネットワークの IP アドレスおよび CIDR を設定します。
$ PRIV_IP_CIDR=$PRVN_PRIV_IP/$PRIVCIDR
プライベートネットワークのゲートウェイを設定します。
$ PRIV_GATEWAY=$(ibmcloud sl subnet detail $PRIVSUBNETID --output JSON | jq .gateway -r)
baremetal
およびprovisioning
ネットワークのブリッジを設定します。$ sudo nohup bash -c " nmcli --get-values UUID con show | xargs -n 1 nmcli con delete nmcli connection add ifname provisioning type bridge con-name provisioning nmcli con add type bridge-slave ifname eth1 master provisioning nmcli connection add ifname baremetal type bridge con-name baremetal nmcli con add type bridge-slave ifname eth2 master baremetal nmcli connection modify baremetal ipv4.addresses $PUB_IP_CIDR ipv4.method manual ipv4.gateway $PUB_GATEWAY nmcli connection modify provisioning ipv4.addresses 172.22.0.1/24,$PRIV_IP_CIDR ipv4.method manual nmcli connection modify provisioning +ipv4.routes \"10.0.0.0/8 $PRIV_GATEWAY\" nmcli con down baremetal nmcli con up baremetal nmcli con down provisioning nmcli con up provisioning init 6 "
注記eth1
およびeth2
の場合は、必要に応じて適切なインターフェイス名を置き換えます。必要な場合は、
provisioner
ノードに対して再度 SSH を実行します。# ssh kni@provisioner.<cluster-name>.<domain>
接続ブリッジが適切に作成されていることを確認します。
$ sudo nmcli con show
出力例
NAME 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-slave-eth1 76a8ed50-c7e5-4999-b4f6-6d9014dd0812 ethernet eth1 bridge-slave-eth2 f31c3353-54b7-48de-893a-02d2b34c4736 ethernet eth2
pull-secret.txt
ファイルを作成します。$ vim pull-secret.txt
Web ブラウザーで、Install on Bare Metal with user-provisioned infrastructure に移動します。ステップ 1 で、Download pull secret をクリックします。
pull-secret.txt
ファイルにコンテンツを貼り付け、そのコンテンツをkni
ユーザーのホームディレクトリーに保存します。