第2章 OpenShift Container Platform インストールの環境の設定
2.1. IBM Cloud Bare Metal (Classic) インフラストラクチャー上でプロビジョナーノードを準備する リンクのコピーリンクがクリップボードにコピーされました!
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 - kniRed 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 knifirewalldを起動します。$ sudo systemctl start firewalldfirewalldを有効にします。$ sudo systemctl enable firewalldhttpサービスを起動します。$ sudo firewall-cmd --zone=public --add-service=http --permanent$ sudo firewall-cmd --reloadlibvirtdサービスを開始して、これを有効にします。$ 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 listprovisioner ノードのパブリック 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 eth2pull-secret.txtファイルを作成します。$ vim pull-secret.txtWeb ブラウザーで、Install on Bare Metal with user-provisioned infrastructure に移動します。ステップ 1 で、Download pull secret をクリックします。
pull-secret.txtファイルにコンテンツを貼り付け、そのコンテンツをkniユーザーのホームディレクトリーに保存します。