openstackネットワーク実装の現状 と運用自動化開発の実際

35
2015年6月12日 ユニアデックス株式会社 吉本 昌平 / 佐々木 智一 SDI Showcase OpenStage OpenStackネットワーク実装の現状 と運用自動化開発の実際

Upload: shohei-yoshimoto

Post on 12-Aug-2015

593 views

Category:

Technology


7 download

TRANSCRIPT

Page 1: OpenStackネットワーク実装の現状 と運用自動化開発の実際

2015年6月12日

ユニアデックス株式会社

吉本 昌平 / 佐々木 智一

SDI Showcase OpenStage

OpenStackネットワーク実装の現状と運用自動化開発の実際

Page 2: 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

ネットワークノード

コンピュートノード

ストレージノード

Page 3: OpenStackネットワーク実装の現状 と運用自動化開発の実際

OpenStackを実運用する上でのネットワーク面での課題

冗長化

ソフトウェア処理負荷の分散

物理スイッチの設定

離れたフロアや遠隔データセンタとの接続

ネットワーク状況の可視化

2Copyright©2015 UNIADEX, Ltd. All rights reserved.

OpenStackはネットワークが苦手

Page 4: OpenStackネットワーク実装の現状 と運用自動化開発の実際

標準OpenStackで実装できるネットワーク

標準Neutronで構成できるのはごく基本的なネットワークのみ

3Copyright©2015 UNIADEX, Ltd. All rights reserved.

Page 5: OpenStackネットワーク実装の現状 と運用自動化開発の実際

Neutron PluginによるSDNコントローラとの連携

4Copyright©2015 UNIADEX, Ltd. All rights reserved.

NeutronL3 Agent ネットワークノード

Horizon

Neutron-Server

Neutron API

Neutron-Plugin

コントローラノード

コンピュートノード

NeutronL2 Agent

物理機器

Page 6: OpenStackネットワーク実装の現状 と運用自動化開発の実際

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

Page 7: OpenStackネットワーク実装の現状 と運用自動化開発の実際

Neutron Pluginの実装

6Copyright©2015 UNIADEX, Ltd. All rights reserved.

Page 8: OpenStackネットワーク実装の現状 と運用自動化開発の実際

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機器

Page 9: OpenStackネットワーク実装の現状 と運用自動化開発の実際

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 処理

Page 10: OpenStackネットワーク実装の現状 と運用自動化開発の実際

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 処理

Page 11: OpenStackネットワーク実装の現状 と運用自動化開発の実際

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

Page 12: OpenStackネットワーク実装の現状 と運用自動化開発の実際

SDN、OpenStack、自動化実装の関係

11Copyright©2015 UNIADEX, Ltd. All rights reserved.

(運用自動化) オーケストレーター

OpenStack Heat等

A運用自動化

B運用自動化

C運用自動化

SDNスイッチ

SDNスイッチ

サーバ ストレージ

新機能①

新機能②

新機能①

新機能②

新機能③

SDNコントローラ OpenStack Nova等APIAPI

Page 13: OpenStackネットワーク実装の現状 と運用自動化開発の実際

Copyright©2015 UNIADEX, Ltd. All rights reserved.

後半のテーマは自動化とその開発の実際

SDI=ソフトウェア的定義+定義されるインフラ

お話すること

›ブルーグリーンデプロイメント(BGD)とは?

›BGDをOpenStack上で構築した方法

›利用しているOpenStack機能

›商用SDN製品と商用ロードバランサ製品への対応

Software Defined

Infrastructure

定義される対象

ソフトウェア的定義

ブルーグリーンデプロイメント(BGD)

Page 14: OpenStackネットワーク実装の現状 と運用自動化開発の実際

Copyright©2015 UNIADEX, Ltd. All rights reserved. 13

ブルー・グリーンデプロイメント(BGD)とは

Blue

Green

Page 15: OpenStackネットワーク実装の現状 と運用自動化開発の実際

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系で本番中

本番系を交互に切替

テストやり直し

バックエンド共用

本番へ反映漏れ

どう切り戻す?

計画停止は機会損失

Page 16: OpenStackネットワーク実装の現状 と運用自動化開発の実際

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回とも)

Page 17: OpenStackネットワーク実装の現状 と運用自動化開発の実際

Copyright©2015 UNIADEX, Ltd. All rights reserved. 16

BGDデモ概要Blue

Green

Page 18: OpenStackネットワーク実装の現状 と運用自動化開発の実際

Copyright©2015 UNIADEX, Ltd. All rights reserved.

BGDデモ概要

運用者の切り替え操作で本番系が入れ替わる

17

運用者が切り替え操作

クライアント

クライアントの接続先切替

Page 19: OpenStackネットワーク実装の現状 と運用自動化開発の実際

Copyright©2015 UNIADEX, Ltd. All rights reserved.

BGDデモ概要

OpenStackの仮想環境でBGDを構成

18

HAProxy版

Page 20: OpenStackネットワーク実装の現状 と運用自動化開発の実際

Copyright©2015 UNIADEX, Ltd. All rights reserved.

BGDデモ概要

Blue, Greenの仮想ネットワーク

19

HAProxy版

Page 21: OpenStackネットワーク実装の現状 と運用自動化開発の実際

Copyright©2015 UNIADEX, Ltd. All rights reserved.

BGDデモ概要

外部からの接続の様子

20

Green系N/W Blue系N/W

外部N/W

L/B

L/Bクライアント

仮想ルータ

仮想マシンWebサーバ

仮想マシンWebサーバ

HAProxy版

Page 22: OpenStackネットワーク実装の現状 と運用自動化開発の実際

Copyright©2015 UNIADEX, Ltd. All rights reserved.

利用しているOpenStackの機能

1. Heat›インスタンス起動等の自動化機構

›オートスケーリング

2. Neutron LBaaS›Load Balancer as a Service

›インスタンスから利用可能なロードバランサを構成

›Heatから自動構成

3. Horizon(管理画面)への独自画面組み込み›一定のルールに従って画面組み込みが可能な仕組み

21

Page 23: OpenStackネットワーク実装の現状 と運用自動化開発の実際

Copyright©2015 UNIADEX, Ltd. All rights reserved.

(1) OpenStack Heat

OpenStackの各種操作を自動化するための仕組み

22

Before After

• Webサーバーの起動とセットアップ

• LB構成と外部からの接続設定

• オートスケーリング

Page 24: OpenStackネットワーク実装の現状 と運用自動化開発の実際

Copyright©2015 UNIADEX, Ltd. All rights reserved.

オートスケーリングとは

負荷に応じて,自動的に処理サーバーの数を増減

›バズったらサーバーを増やし,暇になったら電気代を節約するために台数を減らす.これを自動化

23

負荷

(利用者数)

時間

10

Page 25: OpenStackネットワーク実装の現状 と運用自動化開発の実際

Copyright©2015 UNIADEX, Ltd. All rights reserved.

(2) OpenStack Neutron LBaaS

インスタンスが利用可能なロードバランサを構成できる

›プール,メンバー,バーチャルIP,ヘルスモニタを設定

複数のプロバイダ(ロードバランサ)に対応

›HAProxyがデフォルト.ドライバにより商用LBも対応

24

プールメンバ

VIP

ヘルスモニタ

メンバ

プロバイダサブネット

ロードバランス方法

メンバモニタ方法タイムアウトリトライ数

バーチャルIP

プロトコル・ポートパーシステンス

IP・ポートウェイト

Page 26: OpenStackネットワーク実装の現状 と運用自動化開発の実際

Copyright©2015 UNIADEX, Ltd. All rights reserved.

(3) OpenStack Horizonで独自画面

独自画面の作り方が公式チュートリアルに存在› http://docs.openstack.org/developer/horizon/topics/tutorial.html

Horizonはダッシュボードとパネルの集まり›ダッシュボード内には複数のパネルが定義

›パネルの中には,部品としてのタブページや,表組みボタン押下時のアクションなどを定義する.

25

メニュー

組み込まれているダッシュボードとパネルから生成

一枚のパネル

ボタンに対するアクション

表組み

Page 27: OpenStackネットワーク実装の現状 と運用自動化開発の実際

Copyright©2015 UNIADEX, Ltd. All rights reserved. 26

SDI ShowCaseでのデモで目指したところ

Page 28: OpenStackネットワーク実装の現状 と運用自動化開発の実際

Copyright©2015 UNIADEX, Ltd. All rights reserved.

今回のデモで目指したところ

SDI=ソフトウェア的定義+定義されるインフラ

27

Software Defined

Infrastructure

定義される対象

ソフトウェア的定義

Linuxサーバ内仮想NWBGD

商用SDN・商用LBBGD+

数ヶ月前

今回

“素の”OpenStack環境

実践的OpenStack環境インフラ対応開発

Page 29: OpenStackネットワーク実装の現状 と運用自動化開発の実際

Copyright©2015 UNIADEX, Ltd. All rights reserved.

BGDデモを構成する主なソフトウェア

OpenStack Juno

Nuage Virtual Service Platform 3.0

A10 vThunder 2.7.3

ユニアデックス独自 BGD

28

Page 30: OpenStackネットワーク実装の現状 と運用自動化開発の実際

Copyright©2015 UNIADEX, Ltd. All rights reserved.

インフラが変わるだけ・・・ではなかった

OpenStackの標準NeutronをSDN製品に置き換えるだけの簡単なお仕事・・ではなかった

標準NeutronとNuage VSPの違い

›ネットワークノードが無いために標準LBaaSの実装であるHAProxyが利用できない

A10 vThunderを採用したことでさらに・・

›vThunderのLBaaSドライバはBGD環境に対応できずLBaaSドライバを独自にカスタマイズ

›1つのテナント内に1インスタンスが前提という仕様

›仮想ネットワークの構成の見直し

29

Page 31: OpenStackネットワーク実装の現状 と運用自動化開発の実際

Copyright©2015 UNIADEX, Ltd. All rights reserved.

最終的な仮想ネットワーク構成

A10 vThunder LBaaS+Heatオートスケーリング+BGD構成 on Nuage VSP 3.0

30

詳しくはブースで!

Before After

Page 32: OpenStackネットワーク実装の現状 と運用自動化開発の実際

Copyright©2015 UNIADEX, Ltd. All rights reserved. 31

まとめ

Page 33: OpenStackネットワーク実装の現状 と運用自動化開発の実際

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

Page 34: OpenStackネットワーク実装の現状 と運用自動化開発の実際

Copyright©2015 UNIADEX, Ltd. All rights reserved.

まとめ

OpenStackは壮大かつ未完の建造物に似て,実際に利用するには様々な対応が必要になる

OpenStackの 弱点:ネットワーク にSDN製品活用

OpenStack周辺ではさまざまな自動化の要件がありSDI/SDx的要素が強く求められている

上の自動化は,DevOps, 継続的インテグレーション継続的デリバリといった背景で語ることが出来て,この領域への取り組みが望まれている

33

• SDI/SDxを体感できるBGDデモ御覧ください!• ぜひユニアデックスにご相談ください!

Page 35: OpenStackネットワーク実装の現状 と運用自動化開発の実際

Copyright©2015 UNIADEX, Ltd. All rights reserved.34

SDN, OpenStackへ関わる全ての皆様へ感謝いたします