2.2. パブリックサブネットの設定
すべての OpenShift Container Platform クラスターノードはパブリックサブネット上になければなりません。IBM Cloud® Bare Metal (Classic) は、サブネット上に DHCP サーバーを提供しません。プロビジョナーノードで個別に設定します。
プロビジョナーノードの準備時に定義された BASH 変数をリセットする必要があります。準備後にプロビジョナーノードを再起動すると、BASH 変数が以前に設定された変数が削除されます。
手順
dnsmasq
をインストールします。sudo dnf install dnsmasq
$ sudo dnf install dnsmasq
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dnsmasq
設定ファイルを開きます。sudo vi /etc/dnsmasq.conf
$ sudo vi /etc/dnsmasq.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の設定を
dnsmasq
設定ファイルに追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- DHCP 範囲を設定します。
<ip_addr>
の両方のインスタンスをパブリックサブネットから 1 つの未使用の IP アドレスに置き換え、baremetal
ネットワークのdhcp-range
が開始し、IP アドレスで終了するようにします。<pub_cidr>
をパブリックサブネットの CIDR に置き換えます。 - 2
- DHCP オプションを設定します。
<pub_gateway>
を、baremetal
ネットワークのゲートウェイの IP アドレスに置き換えます。<prvn_priv_ip>
を、provisioning
ネットワーク上にあるプロビジョナーノードのプライベート IP アドレスの IP アドレスに置き換えます。<prvn_pub_ip>
を、baremetal
ネットワーク上にあるプロビジョナーノードのパブリック IP アドレスの IP アドレスに置き換えます。
<pub_cidr>
の値を取得するには、以下を実行します。ibmcloud sl subnet detail <publicsubnetid> --output JSON | jq .cidr
$ ibmcloud sl subnet detail <publicsubnetid> --output JSON | jq .cidr
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <publicsubnetid>
をパブリックサブネットの ID に置き換えます。<pub_gateway>
の値を取得するには、以下を実行します。ibmcloud sl subnet detail <publicsubnetid> --output JSON | jq .gateway -r
$ ibmcloud sl subnet detail <publicsubnetid> --output JSON | jq .gateway -r
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <publicsubnetid>
をパブリックサブネットの ID に置き換えます。<prvn_priv_ip>
の値を取得するには、以下を実行します。ibmcloud sl hardware detail <id> --output JSON | \ jq .primaryBackendIpAddress -r
$ ibmcloud sl hardware detail <id> --output JSON | \ jq .primaryBackendIpAddress -r
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <id>
をプロビジョナーノードの ID に置き換えます。<prvn_pub_ip>
の値を取得するには、以下を実行します。ibmcloud sl hardware detail <id> --output JSON | jq .primaryIpAddress -r
$ ibmcloud sl hardware detail <id> --output JSON | jq .primaryIpAddress -r
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <id>
をプロビジョナーノードの ID に置き換えます。クラスターのハードウェアのリストを取得します。
ibmcloud sl hardware list
$ ibmcloud sl hardware list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 各ノードの MAC アドレスおよび IP アドレスを取得します。
ibmcloud sl hardware detail <id> --output JSON | \ jq '.networkComponents[] | \ "\(.primaryIpAddress) \(.macAddress)"' | grep -v null
$ ibmcloud sl hardware detail <id> --output JSON | \ jq '.networkComponents[] | \ "\(.primaryIpAddress) \(.macAddress)"' | grep -v null
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <id>
をノードの ID に置き換えてください。出力例
"10.196.130.144 00:e0:ed:6a:ca:b4" "141.125.65.215 00:e0:ed:6a:ca:b5"
"10.196.130.144 00:e0:ed:6a:ca:b4" "141.125.65.215 00:e0:ed:6a:ca:b5"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow パブリックネットワークの MAC アドレスと IP アドレスを書き留めておきます。プライベートネットワークの MAC アドレスを別々に書き留めておきます。これは、後に
install-config.yaml
ファイルで使用します。各ノードにパブリックbaremetal
ネットワークのパブリック MAC アドレスと IP アドレスがすべてあり、プライベートのprovisioning
の MAC アドレスになるまで、この手順を繰り返します。各ノードのパブリック
baremetal
ネットワークの MAC アドレスと IP アドレスペアをdnsmasq.hostsfile
ファイルに追加します。sudo vim /var/lib/dnsmasq/dnsmasq.hostsfile
$ sudo vim /var/lib/dnsmasq/dnsmasq.hostsfile
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 入力の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <mac>,<ip>
を、対応するノード名のパブリック MAC アドレスとパブリック IP アドレスに置き換えます。dnsmasq
を開始します。sudo systemctl start dnsmasq
$ sudo systemctl start dnsmasq
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dnsmasq
を有効にして、ノードのブート時に起動できるようにします。sudo systemctl enable dnsmasq
$ sudo systemctl enable dnsmasq
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dnsmasq
が実行中であることを確認します。sudo systemctl status dnsmasq
$ sudo systemctl status dnsmasq
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow UDP プロトコルでポート
53
および67
を開きます。sudo firewall-cmd --add-port 53/udp --permanent
$ sudo firewall-cmd --add-port 53/udp --permanent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo firewall-cmd --add-port 67/udp --permanent
$ sudo firewall-cmd --add-port 67/udp --permanent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow masquerade を使用して、外部ゾーンに
provisioning
を追加します。sudo firewall-cmd --change-zone=provisioning --zone=external --permanent
$ sudo firewall-cmd --change-zone=provisioning --zone=external --permanent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このステップにより、管理サブネットへの IPMI 呼び出しのネットワークアドレス変換が確保されます。
firewalld
設定を再読み込みします。sudo firewall-cmd --reload
$ sudo firewall-cmd --reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow