1.2. Bare Metal Provisioning サービス向け OpenStack の設定
すべての OpenStack サービスには、Identity サービスでの認証に使用するユーザー名とパスワードがあります。各サービスは、OpenStack Identity サービスとも定義し、Internal、Admin、および Public connectivity 用にそれに関連付けられたエンドポイント URL を持っている必要があります。
director ノードから Bare Metal Provisioning サービスを設定するには、以下の手順に従います。
source コマンドで
overcloudrcファイルを読み込みます。source ~stack/overcloudrc
# source ~stack/overcloudrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenStack Bare Metal Provisioning ユーザーを作成します。
openstack user create --password IRONIC_PASSWORD --enable IRONIC_USER openstack role add --project service --user IRONIC_USER admin
# openstack user create --password IRONIC_PASSWORD --enable IRONIC_USER # openstack role add --project service --user IRONIC_USER adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow ここでは、
IRONIC_USERは Bare Metal Provisioning サービスのユーザーで、IRONIC_PASSWORDはパスワードになります。OpenStack Bare Metal Provisioning サービスを作成します。
openstack service create --name ironic --description "Ironic bare metal provisioning service" baremetal
# openstack service create --name ironic --description "Ironic bare metal provisioning service" baremetalCopy to Clipboard Copied! Toggle word wrap Toggle overflow 他の OpenStack サービスが使用している仮想 IP (VIP)アドレスを確認します。
openstack endpoint list -c "Service Name" -c "PublicURL" --long
# openstack endpoint list -c "Service Name" -c "PublicURL" --longCopy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドの出力は、サービスと
パブリック URLを表示します。これは通常、すべて同じサーバー上にあり、同じ IP アドレスを使用します。Bare Metal Provisioning サービスをインストールするコンピュートノードの Internal API ネットワークアドレスを取得します。
route -n
# route -nCopy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドの出力は、IP ルーティングテーブルに IP アドレスと各 IP アドレスの
インターフェイスを一覧表示します。次に、内部 API ネットワークアドレスを使用してサービスエンドポイントを作成します。
以下のように、Internal および Admin URL に使用する NIC に関連付けられた IP アドレスを確認します。
ifconfig INTERFACE
# ifconfig INTERFACECopy to Clipboard Copied! Toggle word wrap Toggle overflow サービスエンドポイントを作成します。
openstack endpoint create --publicurl http://VIP:6385 --internalurl http://COMPUTE_INTERNAL_API_IP:6385 --adminurl http://COMPUTE_INTERNAL_API_IP:6385 --region regionOne SERVICE_ID
# openstack endpoint create --publicurl http://VIP:6385 --internalurl http://COMPUTE_INTERNAL_API_IP:6385 --adminurl http://COMPUTE_INTERNAL_API_IP:6385 --region regionOne SERVICE_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow ここで、
VIPは HAProxy で設定されている仮想 IP アドレスで、COMPUTE_INTERNAL_API_IPは内部 API ネットワークに接続されたコンピュートノードの IP アドレスで、SERVICE_IDはservice createコマンドを使用して作成される Bare Metal Provisioning サービスの ID です。
次に、直前の手順で作成したエンドポイントのパブリック URL の要求を受信するように HAProxy を設定する必要があります。HAProxy 値を設定するには、コントローラーノードに root ユーザーとしてログインしていることを確認してください。
/etc/haproxy/haproxy.cfgファイルを編集し、ファイルの最後に以下の行を追加します。listen ironic bind VIP:6385 transparent server SERVER_NAME COMPUTE_INTERNAL_API_IP:6385 check fall 5 inter 2000 rise 2
listen ironic bind VIP:6385 transparent server SERVER_NAME COMPUTE_INTERNAL_API_IP:6385 check fall 5 inter 2000 rise 2Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、以下が適用されます。
-
仮想 IP アドレスです。
-
SERVER_NAMEは、Bare Metal Provisioning サービスをインストールして実行する Compute サーバーの HAProxy 識別名です。 -
COMPUTE_INTERNAL_API_IPは、Bare Metal Provisioning サービスがインストールされ実行される Compute サーバーの内部 API IP アドレスです。 -
透過的で、HAProxy が IP アドレスをコントローラーノード上に存在しない場合でも、仮想 IP アドレスがコントローラー間で移動できるようにすることができます。 check 5 inter 2000 rise 2は、バックエンドサーバーでの次のヘルスチェックを指します。-
fall 5- 5 回連続してヘルスチェックに失敗すると、サーバーは利用できないと見なされます。 -
2000- ヘルスチェックの間隔は 2000 ミリ秒または 2 秒です。 -
Rise 2- ヘルスチェックが成功した後、サーバーが使用可能であると見なされます。
-
-
仮想 IP アドレスです。
HAProxy を再起動して、変更を適用します。
systemctl restart haproxy.service
# systemctl restart haproxy.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow バックエンドサーバーが使用できないことを示すメッセージを取得できます。haproxy[4249]: proxy ironic has no server available!.現在、このメッセージはインストールまたは設定されていないので、現在は無視できます。