【追記あり】今すぐ試せる、ブルーグリーンデプロイメント環境の構築手順(事前準備と実作業):OpenStack上に構築する、ブルーグリーンデプロイメント実践入門(4)(1/3 ページ)
本連載では、「OpenStackを基盤としたブルーグリーンデプロイメント」を実現する“現場目線”のノウハウを解説していきます。今回は、実際に「ブルーグリーンデプロイメント環境」の構築手順を解説します(オリジナルの構築用ファイルをGitHubで公開)。
前回は、OpenStackを基板とするブルーグリーンデプロイメント(以下、BDG)の効果と、導入における課題を考察しました。
今回から2回に渡り、OpenStack上にブルーグリーンデプロイメント環境を構築する具体的な手順を解説していきます。
※編集部注(2021年2月9日)
本稿のGitHubへのリンクは、メンテナンス終了によるサンプルコードの削除に伴い削除させていただきましたが、ご了承ください。
目次
OpenStack上にブルーグリーンデプロイメント環境を構築する
本稿ではOpenStackのディストリビューションとして、RDO(*) All-in-Oneを用います(OpenStackのバージョンは「Newton」です)。また、Linuxディストリビューションは「CentOS 7.3」を使用します。
*RDO:Red Hat Enterprise Linux、CentOS、FedoraでOpenStackを構築する人が集うコミュニティー
構築するBDG環境は以下の通りです(図1)。ロードバランサーのフローティングIPを付け替えることで、ブルー系とグリーン系のネットワークを切り替える構成となります。
ステップ1:環境の事前準備を行う
1-1:RDO All-in-One環境の構築と初期作業
評価用サーバを用意し、RDO All-in-One環境を構築します。
OSのインストールとRDO All-in-Oneの設定に関しては、RDOによるクイックスタートガイドを参考に、
- Step 0:Prerequisites
- Step 1:Software repositories
- Step 2:Install PackStack Installer
までを済ませておいてください。
続いて、今回のBDG環境の構築のために、インストールするOpenstackコンポーネントを制御する設定ファイル「answer-file」を修正します(クイックスタートガイドのStep 3そのままの手順では、デフォルト設定のanswer-fileが使用されてしまうので注意してください)。
具体的には、新たな「answer-file」を作成し、設定値を変更します。手順は以下の通りです。
#packstack --gen-answer-file=answer-file.txt
続いて、以下の内容を修正します。
CONFIG_LBAAS_INSTALL = y (←デフォルト値はn) CONFIG_HEAT_INSTALL = y (←デフォルト値はn) CONFIG_PROVISION_DEMO = n (←デフォルト値はy) CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vxlan,flat (←デフォルト値はvxlanのみ)
修正完了後、Packstackコマンドを実行します。上記で修正したBDG用のOpenStack環境が構築されます。
#packstack --answer-file=answer-file.txt
Packstack実行時に「mariadb-libsのコンフリクトメッセージ」が出力され、エラー終了してしまう場合は、いったんmariadb-libをアンインストールしてから再実行してください。
#yum remove -y mariadb-libs
1-2:LBaaS v2の設定を行う
今回の検証構築では、Neutronのロードバランサープラグインである「LBaaS(Load Balancing as a Service) v2」を使用します。現行バージョンのNewtonでは、RDO All-in-Oneをインストールすれば、LBaaS v2が標準で指定されます。しかし、LBaaS v2用のHorizonメニュー画面まではインストールされていません。以下のコマンドでそのファイル群をインストールしておきます。
#yum install -y openstack-neutron-lbaas-ui.noarch openstack-neutron-lbaas-ui-doc.noarch
続いて「/usr/share/openstack-dashboard/openstack-dashboard/local/enabled/_1480_project_loadbalancersv2_panel.py」の最終行へ、以下の項目を追加します。
DISABLED = True
同じく、「/etc/openstack-dashboad/local_settings」のenable_lbの設定を「True」に修正します。
‘enable_lb’: True, (←修正前の値はFalse)
Webサーバを再起動します。
#systemctl restart httpd
作業完了後、OpenStackのダッシュボード「Horizon」から、「プロジェクト」→「ネットワーク」→「ロードバランサー」の項目を開き、LBaaS v2の設定メニューが表示されることを確認します(図2)。
LBaaS v2のGUIツールは、アクセス先URL文字列の最後が「ngloadbalancersv2」となります。ここではこのGUIツールでの作業はありません。ロードバランサーはこの後のステップで作成しますが、この時の確認用にこのGUIツールを活用します。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- OpenStackが今求められる理由とは何か? エンジニアにとってなぜ重要なのか?
スピーディなビジネス展開が収益向上の鍵となっている今、システム整備にも一層のスピードと柔軟性が求められている。こうした中、なぜOpenStackが企業の注目を集めているのか? 今あらためてOpenStackのエキスパートに聞く。 - いまさら聞けないOpenStack〜よく知られた「常識」と知っておくべき「常識」
日本OpenStackユーザ会の全面協力を得て、OpenStackを徹底的に深掘りする本特集。第2回はレッドハット クラウドエバンジェリストの中井悦司氏が「OpenStackでできること」「OpenStackを使う上で必要なこと」を分かりやすく解説する。 - いまさら聞けない「DevOps」
最近さまざまなイベントやブログエントリで見かける「DevOps」。この言葉をひもとき、なぜ「Dev」と「Ops」が衝突するのか、その解決に必要な要素とは何かを分かりやすく解説します。 - 継続的デリバリ/デプロイを実現する手法・ツールまとめ
バージョン管理や継続的インテグレーションとも密接に関わる継続的デリバリ/デプロイメントの概要や主なツール、経緯、実践事例を紹介。実践手法として「ブルーグリーン・デプロイメント」「Immutable Infrastructure」が注目だ。 - 現代のソフトウェア/サービス開発で構成管理が重要になった5つの理由
「DevOps」という言葉にもあるように、ソフトウェア構成管理は、インフラ運用に取り入れられるなど、変わりつつある時代だ。本連載では、そのトレンドにフォーカスして、現在のソフトウェア開発に有効な構成管理のノウハウをお伝えする