openstackネットワーク実装の現状 と運用自動化開発の実際
TRANSCRIPT
2015年6月12日
ユニアデックス株式会社
吉本 昌平 / 佐々木 智一
SDI Showcase OpenStage
OpenStackネットワーク実装の現状と運用自動化開発の実際
OpenStackの主要コンポーネント
1Copyright©2015 UNIADEX, Ltd. All rights reserved.
ボリューム オブジェクト
Neutron L2/L3Agent
Nova
コントローラーノード
ポータル画面
Horizon
仮想マシン管理
ネットワーク管理
Novaユーザ認証管理
リソース計測VMイメージ管理
オーケストレーション
Keystone Neutron
Ceilometer
Heat
Glanceデータベース管理
Trove
AMQP(RabbitMQ/QPID) Cinder Swift
SDN製品or
ビッグデータ解析
Sahara
MySQL
ネットワークノード
コンピュートノード
ストレージノード
OpenStackを実運用する上でのネットワーク面での課題
冗長化
ソフトウェア処理負荷の分散
物理スイッチの設定
離れたフロアや遠隔データセンタとの接続
ネットワーク状況の可視化
2Copyright©2015 UNIADEX, Ltd. All rights reserved.
OpenStackはネットワークが苦手
標準OpenStackで実装できるネットワーク
標準Neutronで構成できるのはごく基本的なネットワークのみ
3Copyright©2015 UNIADEX, Ltd. All rights reserved.
Neutron PluginによるSDNコントローラとの連携
4Copyright©2015 UNIADEX, Ltd. All rights reserved.
NeutronL3 Agent ネットワークノード
Horizon
Neutron-Server
Neutron API
Neutron-Plugin
コントローラノード
コンピュートノード
NeutronL2 Agent
物理機器
Neutron PluginによるSDNコントローラとの連携
5Copyright©2015 UNIADEX, Ltd. All rights reserved.
SDN API
SDNコントローラ
コンピュートノード
仮想スイッチ
Controller
API OpenFlow etc….
物理機器
Horizon
Neutron-Server
Neutron API
Neutron-Plugin
コントローラノード
API
Neutron Pluginの実装
6Copyright©2015 UNIADEX, Ltd. All rights reserved.
SDN製品によるNeutron実装 連携パターン
7Copyright©2015 UNIADEX, Ltd. All rights reserved.
Big Cloud Fabric
SDNコントローラ
コンピュートノード
Controller
OpenFlow etc…
Horizon
Neutron-Server
Neutron API
Neutron-Plugin
コントローラノード
SDN API
BigSwitch Networks
›Neutron L3/L2 が動作する為に必要な物理ネットワークを自動構成
API
NeutronL3 Agent
NeutronL2 Agent
L2機器
SDN製品によるNeutron実装 連携/代替パターン
8Copyright©2015 UNIADEX, Ltd. All rights reserved.
Cisco ACI
SDNコントローラ
コンピュートノード
APICController
OpFlex
Nexus9000等
Horizon
Neutron-Server
Neutron API
Neutron-Plugin
コントローラノード
SDN API
Cisco ACI
›ホスト内L2処理はNeutron/OVSを利用。ホスト間L2,L3、L4-7はSDN側で処理。
API
NeutronL2 Agent
DevicePack
L4-7機器
APIC WebUI
L3処理
L2 処理
SDN製品によるNeutron実装 代替パターン
9Copyright©2015 UNIADEX, Ltd. All rights reserved.
Nuage VSP
SDNコントローラ
コンピュートノード
Nuage VSC
IPネットワーク
Horizon
Neutron-Server
Neutron API
Neutron-Plugin
コントローラノード
SDN API
Nuage Networks VSP
›Neutron Plugin経由でほぼ全てのネットワーク機能をSDN側が代替
Nuage VSD
API
Nuage VRS
L3処理L2 処理
Neutron Pluginによる商用ロードバランサとの連携
10Copyright©2015 UNIADEX, Ltd. All rights reserved.
LoadBalancer
Neutron
LBaaS Driver
HAProxy
LBaaS Driver
A10vThunder
HAProxy
LBaaS neutron-lbaas.confprovider=“xxxx.A10”
プールメンバー
VIPモニタ を登録
REST API
CLI
Horizon管理画面
Agent
SDN、OpenStack、自動化実装の関係
11Copyright©2015 UNIADEX, Ltd. All rights reserved.
(運用自動化) オーケストレーター
OpenStack Heat等
A運用自動化
B運用自動化
C運用自動化
SDNスイッチ
SDNスイッチ
サーバ ストレージ
新機能①
新機能②
新機能①
新機能②
新機能③
SDNコントローラ OpenStack Nova等APIAPI
Copyright©2015 UNIADEX, Ltd. All rights reserved.
後半のテーマは自動化とその開発の実際
SDI=ソフトウェア的定義+定義されるインフラ
お話すること
›ブルーグリーンデプロイメント(BGD)とは?
›BGDをOpenStack上で構築した方法
›利用しているOpenStack機能
›商用SDN製品と商用ロードバランサ製品への対応
Software Defined
Infrastructure
定義される対象
ソフトウェア的定義
ブルーグリーンデプロイメント(BGD)
Copyright©2015 UNIADEX, Ltd. All rights reserved. 13
ブルー・グリーンデプロイメント(BGD)とは
Blue
Green
Copyright©2015 UNIADEX, Ltd. All rights reserved.
よくあるWebシステムの課題とBGD
Blue Green Deployment (BGD)はWebシステムの安全かつ迅速な配備を実現
14
検証・開発
WEB
AP
DB
本番系
WEB
AP
DB
一発勝負!で移行する
従来のシステム BGD適用システム
Green系
WEB
AP
G系で新機能テスト
Blue系
WEB
AP
DB
B系で本番中
本番系を交互に切替
テストやり直し
バックエンド共用
本番へ反映漏れ
どう切り戻す?
計画停止は機会損失
Copyright©2015 UNIADEX, Ltd. All rights reserved.
Blue Green Deployment(BGD)とは
BlueとGreen2つの本番環境を準備し、RouterやLoad Balancerで切り替えることで新しいバージョンをデプロイ›Blue系で本番中、Green系で新しいバージョンのデプロイとテスト
15
http://martinfowler.com/bliki/BlueGreenDeployment.html
Martin Fowler
2010年3月
Amazon.comではWebフロントエンドを1時間に最大1000回デプロイする›AWS re:invent 2012 keynote day 2 にて「クラウドネイティブなデプロイ」という BGD と同様な手法が紹介された。(*2014では1時間あたり5700回とも)
Copyright©2015 UNIADEX, Ltd. All rights reserved. 16
BGDデモ概要Blue
Green
Copyright©2015 UNIADEX, Ltd. All rights reserved.
BGDデモ概要
運用者の切り替え操作で本番系が入れ替わる
17
運用者が切り替え操作
クライアント
クライアントの接続先切替
Copyright©2015 UNIADEX, Ltd. All rights reserved.
BGDデモ概要
OpenStackの仮想環境でBGDを構成
18
HAProxy版
Copyright©2015 UNIADEX, Ltd. All rights reserved.
BGDデモ概要
Blue, Greenの仮想ネットワーク
19
HAProxy版
Copyright©2015 UNIADEX, Ltd. All rights reserved.
BGDデモ概要
外部からの接続の様子
20
Green系N/W Blue系N/W
外部N/W
L/B
L/Bクライアント
仮想ルータ
仮想マシンWebサーバ
仮想マシンWebサーバ
HAProxy版
Copyright©2015 UNIADEX, Ltd. All rights reserved.
利用しているOpenStackの機能
1. Heat›インスタンス起動等の自動化機構
›オートスケーリング
2. Neutron LBaaS›Load Balancer as a Service
›インスタンスから利用可能なロードバランサを構成
›Heatから自動構成
3. Horizon(管理画面)への独自画面組み込み›一定のルールに従って画面組み込みが可能な仕組み
21
Copyright©2015 UNIADEX, Ltd. All rights reserved.
(1) OpenStack Heat
OpenStackの各種操作を自動化するための仕組み
22
Before After
• Webサーバーの起動とセットアップ
• LB構成と外部からの接続設定
• オートスケーリング
Copyright©2015 UNIADEX, Ltd. All rights reserved.
オートスケーリングとは
負荷に応じて,自動的に処理サーバーの数を増減
›バズったらサーバーを増やし,暇になったら電気代を節約するために台数を減らす.これを自動化
23
負荷
(利用者数)
時間
2
10
2
Copyright©2015 UNIADEX, Ltd. All rights reserved.
(2) OpenStack Neutron LBaaS
インスタンスが利用可能なロードバランサを構成できる
›プール,メンバー,バーチャルIP,ヘルスモニタを設定
複数のプロバイダ(ロードバランサ)に対応
›HAProxyがデフォルト.ドライバにより商用LBも対応
24
プールメンバ
VIP
ヘルスモニタ
メンバ
プロバイダサブネット
ロードバランス方法
メンバモニタ方法タイムアウトリトライ数
バーチャルIP
プロトコル・ポートパーシステンス
IP・ポートウェイト
Copyright©2015 UNIADEX, Ltd. All rights reserved.
(3) OpenStack Horizonで独自画面
独自画面の作り方が公式チュートリアルに存在› http://docs.openstack.org/developer/horizon/topics/tutorial.html
Horizonはダッシュボードとパネルの集まり›ダッシュボード内には複数のパネルが定義
›パネルの中には,部品としてのタブページや,表組みボタン押下時のアクションなどを定義する.
25
メニュー
組み込まれているダッシュボードとパネルから生成
一枚のパネル
ボタンに対するアクション
表組み
Copyright©2015 UNIADEX, Ltd. All rights reserved. 26
SDI ShowCaseでのデモで目指したところ
Copyright©2015 UNIADEX, Ltd. All rights reserved.
今回のデモで目指したところ
SDI=ソフトウェア的定義+定義されるインフラ
27
Software Defined
Infrastructure
定義される対象
ソフトウェア的定義
Linuxサーバ内仮想NWBGD
商用SDN・商用LBBGD+
数ヶ月前
今回
“素の”OpenStack環境
実践的OpenStack環境インフラ対応開発
Copyright©2015 UNIADEX, Ltd. All rights reserved.
BGDデモを構成する主なソフトウェア
OpenStack Juno
Nuage Virtual Service Platform 3.0
A10 vThunder 2.7.3
ユニアデックス独自 BGD
28
Copyright©2015 UNIADEX, Ltd. All rights reserved.
インフラが変わるだけ・・・ではなかった
OpenStackの標準NeutronをSDN製品に置き換えるだけの簡単なお仕事・・ではなかった
標準NeutronとNuage VSPの違い
›ネットワークノードが無いために標準LBaaSの実装であるHAProxyが利用できない
A10 vThunderを採用したことでさらに・・
›vThunderのLBaaSドライバはBGD環境に対応できずLBaaSドライバを独自にカスタマイズ
›1つのテナント内に1インスタンスが前提という仕様
›仮想ネットワークの構成の見直し
29
Copyright©2015 UNIADEX, Ltd. All rights reserved.
最終的な仮想ネットワーク構成
A10 vThunder LBaaS+Heatオートスケーリング+BGD構成 on Nuage VSP 3.0
30
詳しくはブースで!
Before After
Copyright©2015 UNIADEX, Ltd. All rights reserved. 31
まとめ
Copyright©2015 UNIADEX, Ltd. All rights reserved.
継続的インテグレーションと継続的デリバリ
継続的インテグレーション(CI)
継続的デリバリ(CD)
ブルーグリーンデプロイメントは1つの構成要素
32
Canary
Release
継続的インテグレーション(CI)
継続的デリバリ(CD)
Develop
SCM/ ITS
Build/ CI
Provision
Configure
Deploy
TestReleas
e
Agile/Scrum
Dev
DevOps
Ops
BGD
Copyright©2015 UNIADEX, Ltd. All rights reserved.
まとめ
OpenStackは壮大かつ未完の建造物に似て,実際に利用するには様々な対応が必要になる
OpenStackの 弱点:ネットワーク にSDN製品活用
OpenStack周辺ではさまざまな自動化の要件がありSDI/SDx的要素が強く求められている
上の自動化は,DevOps, 継続的インテグレーション継続的デリバリといった背景で語ることが出来て,この領域への取り組みが望まれている
33
• SDI/SDxを体感できるBGDデモ御覧ください!• ぜひユニアデックスにご相談ください!
Copyright©2015 UNIADEX, Ltd. All rights reserved.34
SDN, OpenStackへ関わる全ての皆様へ感謝いたします