【追記あり】今すぐ試せる、ブルーグリーンデプロイメント環境の構築手順(構築の仕上げと動作検証方法):OpenStack上に構築する、ブルーグリーンデプロイメント実践入門(5)(1/4 ページ)
本連載では、「OpenStackを基盤としたブルーグリーンデプロイメント」を実現する“現場目線”のノウハウを解説していきます。今回は、「ブルーグリーンデプロイメント環境の構築手順(後編)」をお届けします。
目次
前回は、“GitHubで公開したオリジナルの構築用ファイル”を用いて実践するブルーグリーンデプロイメント(以下、BDG)環境を構築する、ステップ1からステップ3までの手順を解説しました。後編ではその続きとして、ステップ6までの「構築の仕上げ」を行っていきます。
※編集部注(2021年2月9日)
前回記事のGitHubへのリンクは、メンテナンス終了によるサンプルコードの削除に伴い削除させていただきましたが、ご了承ください。
ステップ4:「switchover」機能をセットアップする
4-1:「uniadex/」ディレクトリを「/usr/share/openstack-dashboard/」ディレクトリへ配置する
ステップ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機能の実装用ファイル |
4-2:「uniadex/」ディレクトリの構成ファイルを確認
「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)するようになっています。
4-3:BDGメニュー表示用ファイル「_45_bgddashboard.py」を配置する
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.
関連記事
- OpenStackが今求められる理由とは何か? エンジニアにとってなぜ重要なのか?
スピーディなビジネス展開が収益向上の鍵となっている今、システム整備にも一層のスピードと柔軟性が求められている。こうした中、なぜOpenStackが企業の注目を集めているのか? 今あらためてOpenStackのエキスパートに聞く。 - いまさら聞けないOpenStack〜よく知られた「常識」と知っておくべき「常識」
日本OpenStackユーザ会の全面協力を得て、OpenStackを徹底的に深掘りする本特集。第2回はレッドハット クラウドエバンジェリストの中井悦司氏が「OpenStackでできること」「OpenStackを使う上で必要なこと」を分かりやすく解説する。 - いまさら聞けない「DevOps」
最近さまざまなイベントやブログエントリで見かける「DevOps」。この言葉をひもとき、なぜ「Dev」と「Ops」が衝突するのか、その解決に必要な要素とは何かを分かりやすく解説します。 - 継続的デリバリ/デプロイを実現する手法・ツールまとめ
バージョン管理や継続的インテグレーションとも密接に関わる継続的デリバリ/デプロイメントの概要や主なツール、経緯、実践事例を紹介。実践手法として「ブルーグリーン・デプロイメント」「Immutable Infrastructure」が注目だ。 - 現代のソフトウェア/サービス開発で構成管理が重要になった5つの理由
「DevOps」という言葉にもあるように、ソフトウェア構成管理は、インフラ運用に取り入れられるなど、変わりつつある時代だ。本連載では、そのトレンドにフォーカスして、現在のソフトウェア開発に有効な構成管理のノウハウをお伝えする