本連載では、「OpenStackを基盤としたブルーグリーンデプロイメント」を実現する“現場目線”のノウハウを解説していきます。今回は、「ブルーグリーンデプロイメント環境の構築手順(後編)」をお届けします。
前回は、“GitHubで公開したオリジナルの構築用ファイル”を用いて実践するブルーグリーンデプロイメント(以下、BDG)環境を構築する、ステップ1からステップ3までの手順を解説しました。後編ではその続きとして、ステップ6までの「構築の仕上げ」を行っていきます。
前回記事のGitHubへのリンクは、メンテナンス終了によるサンプルコードの削除に伴い削除させていただきましたが、ご了承ください。
ステップ2で展開した「uniadex/」をフォルダごと、「/usr/share/openstack-dashboard/」以下に配置します。
# cp -pr /var/tmp/UNIADEX_BGD-masater/openstack_horizon_bgd-master/uniadex /usr/share/ openstack-dashboard/
「/usr/share/openstack-dashboard/」はWSGI(Web Server Gateway Interface)の機能により、Webサーバ(Apache)の起動時にライブラリパスとして追加されます。この詳細は、「/usr/share/openstack-dashboard/openstack_dashboard/wsgi/」以下にある「django.wsgi」の設定内容を参照してください。端的に言えば、このディレクトリ以下にディレクトリまたはファイル群を配置すれば、ライブラリとして参照されます。ちなみに、ステップ3で作業したディレクトリも同様です。
「uniadex/」には、以下のディレクトリとファイルが格納されています。概要は以下の通りです(表5)。
ディレクトリ/ファイル | 内容 |
---|---|
__init__.py | ライブラリとして使用するための設定ファイル |
bgd/ | bgdライブラリ群が格納されているディレクトリ |
bgd/__init__py | bgdディレクトリをライブラリとして使用するための設定ファイル |
bgd/setting.py | 切り替えるフローティングIPの設定ファイル |
bgd/switchover.py | switchover機能の実装用ファイル |
「setting.py」は、ロードバランサーに割り当てるフローティングIPのための設定ファイルです。ファイルは「/etc/openstack-dashboard/bgd_settings/」へのシンボリックリンクになっています。
「openstack_horizon_bgd-master/」ディレクトリに「bgd_settings」ファイルがあります。これを「/etc/openstack-dashboard/」以下に配置します。
#cp -p /var/tmp/UNIADEX_BGD-master/openstack_horizon_bgd-master/bgd_settings /etc/openstack-dashboard/
setting.pyで重要となるパラメータは以下の2つです(表6)。
パラメータ名 | 役割 |
---|---|
FIP_PRODUCTION | 本番環境用のフローティングIPの設定 |
FIP_STAGING | 開発環境用のフローティングIPの設定 |
この2つのパラメータ(図11の*1)は、検証環境に応じて変更する値であることは想像できると思いますが、この作業はこの後の「ステップ5」で行います。ここでは中身の確認だけにとどめ、他のパラメータも含めて修正をせずにそのままにしておいてください。
「switchover.py」は、Horizonで「swichoverボタン」を押したときに動作する、BGD環境切り替えのための実装部分となります(図12)。switchover.pyでは、「openstack_dashboard API」を利用してフローティングIPアドレスを取得し、ロードバランサーのフローティングIPの付け替えを行う処理が記述されています。フローティングIPはロードバランサーのfixed_ipと対応させるために、実際の処理では「fip_productionのフローティングIP」と「fip_stagingのフローティングIP」に関連した「fixed_ip」を取得して、diassociate(図12の*1)し、対応関係を入れ替えてassociate(図12の*2)するようになっています。
HorizonへBDGメニューを表示させるための設定ファイルである「_45_bgddashboard.py」を、「/usr/share/openstack-dashboard/openstack_dashboard/enabled/」へ配置します。
# cp -p /var/tmp/UNIADEX_BGD-master/openstack_horizon_bgd-master/_45_bgddashboard.py /usr/share/ openstack-dashboard/openstack_dashboard/enabled
_45_bgddashboard.pyでは、「DISABLED=False」とすることでBDGメニューの表示が有効になります(図13)。
最後に設定を反映させるためにWebサーバを再起動すれば作業は完了です。HorizonでBDGメニューが正しく表示されるかどうかも併せて確認しておいてください。
#systemctl restart httpd
Copyright © ITmedia, Inc. All Rights Reserved.