OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service...

23
OpenStack ネットワークサービス Quantum NEC 壬生亮太 OpenStack + CloudStack ユーザ会 2011/11/30

Transcript of OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service...

Page 1: OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service (NaaS) を提供 クラウドユーザに NaaS を提供する ネットワーク関連サービス毎に整備する

OpenStack

ネットワークサービス Quantum

NEC 壬生亮太

OpenStack + CloudStack ユーザ会 2011/11/30

Page 2: OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service (NaaS) を提供 クラウドユーザに NaaS を提供する ネットワーク関連サービス毎に整備する

Quantum の気になるところ

2

クラウドユーザ

クラウド運用者

何ができる?もう使える?

何ができる?

Quantumってなに?

OpenStackが 気になる人

Page 3: OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service (NaaS) を提供 クラウドユーザに NaaS を提供する ネットワーク関連サービス毎に整備する

OpenStack のプロジェクト

▌Compute (コードネーム: Nova)

▌Object Storage (Swift)

▌Image Service (Glance)

▌Identity (Keystone)

▌Dashboard (Horizon)

▌NetStack (Quantum, Melange, ...)

...他にもコミュニティプロジェクトがある

Page 3 © NEC Corporation 2011

Page 4: OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service (NaaS) を提供 クラウドユーザに NaaS を提供する ネットワーク関連サービス毎に整備する

これまでのネットワーク操作

▌Nova が自動設定していた

▌できることが限られていた

Page 4 © NEC Corporation 2011

Nova VM VM

クラウドユーザ ネットワーク

ポート ポート

NIC NIC

API

Page 5: OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service (NaaS) を提供 クラウドユーザに NaaS を提供する ネットワーク関連サービス毎に整備する

NetStack プロジェクト

▌Network as a Service (NaaS) を提供

クラウドユーザに NaaS を提供する

ネットワーク関連サービス毎に整備する

APIを規定して他のサービスと連携する

▌いまのところ、サブプロジェクトは 3つ

Quantum: L2接続サービス

Melange: IPアドレス管理サービス

Donabe: ネットワークコンテナサービス

5

Page 6: OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service (NaaS) を提供 クラウドユーザに NaaS を提供する ネットワーク関連サービス毎に整備する

Quantum は NaaS

▌OpenStack 環境でネットワークサービスを利用できる

6

Nova VM VM

クラウドユーザ ネットワーク Quantum

API

ポート ポート

NIC NIC

Page 7: OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service (NaaS) を提供 クラウドユーザに NaaS を提供する ネットワーク関連サービス毎に整備する

Quantum プロジェクト

▌ターゲットは L2ネットワーク接続のみ

▌論理と物理を分離

論理ネットワークの操作をユーザに提供する

物理ネットワークは Quantum が設定する

▌NetStack をリードするプロジェクト

ネットワークサービスのコア部分を提供する

2011年9月 Diablo 向けにリリースされた

7

Page 8: OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service (NaaS) を提供 クラウドユーザに NaaS を提供する ネットワーク関連サービス毎に整備する

Quantum サービス

▌論理的な L2ネットワーク接続を提供

REST API を介して提供する

クラウドユーザと、クラウド運用者、Nova サービス、他の NetStack サービスへ提供する

ネットワークの論理構成を細かく操作できる

▌物理ネットワークを設定

Quantum サービスが物理ネットワーク上に分離された論理ネットワークを設定する

8

Page 9: OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service (NaaS) を提供 クラウドユーザに NaaS を提供する ネットワーク関連サービス毎に整備する

Quantum の UI は論理のみ

▌ネットワークの論理構成を操作する

9

Nova VM VM

クラウドユーザ ネットワーク Quantum

ポート ポート

NIC NIC

Page 10: OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service (NaaS) を提供 クラウドユーザに NaaS を提供する ネットワーク関連サービス毎に整備する

Quantum の利用イメージ

10

VM VM

ネットワーク Quantum クラウドユーザ 1.

2.

3.

クライアント ライブラリ/ コマンド

1. 論理ネットワークを作成 $ create_net <tenant-id> <net-name>

2. 論理ポートを作成 $ create_port <tenant-id> <net-id>

3. VM の仮想 NIC と論理ポートを接続 $ plug_iface <tenant-id> <net-id> <port-id> <iface-id>

ポート ポート

NIC NIC

Page 11: OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service (NaaS) を提供 クラウドユーザに NaaS を提供する ネットワーク関連サービス毎に整備する

Quantum で変わること

▌細かなネットワーク設定

これまでの Nova では所属テナント の全ネットワークに画一的に接続していた

Quantum なら VM 毎に任意のネットワークに 接続できる

▌動的な構成変更

Nova の設定は VM 起動時のみ

Quantum なら VM 起動後に切断・接続できる

▌仮想化によるネットワーク隔離

11

クラウドユーザ

Page 12: OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service (NaaS) を提供 クラウドユーザに NaaS を提供する ネットワーク関連サービス毎に整備する

Quantum の利用例

▌たとえば、こんな構成にしてみたい

12

VM1 (Webサーバ)

VM3 (データベース)

VM2 (アプリサーバ)

ネットワークA (パブリック)

ネットワークB (プライベート)

インターネットへ

ポート

NIC

ポート ポート ポート

NIC NIC NIC

ポート

Page 13: OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service (NaaS) を提供 クラウドユーザに NaaS を提供する ネットワーク関連サービス毎に整備する

Nova なら

▌Nova の画一的な設定でこんなことに…

13

VM1 (Webサーバ)

VM3 (データベース)

VM2 (アプリサーバ)

ネットワークA (パブリック)

ネットワークB (プライベート)

インターネットへ

ポート

NIC

ポート ポート ポート

NIC NIC NIC

ポート

ポート ポート ポート

NIC NIC

※Diabloリリースでの話

Page 14: OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service (NaaS) を提供 クラウドユーザに NaaS を提供する ネットワーク関連サービス毎に整備する

Quantum なら

▌Quantum を操作しこの構成を実現できる

14

VM1 (Webサーバ)

VM3 (データベース)

VM2 (アプリサーバ)

ネットワークA (パブリック)

ネットワークB (プライベート)

インターネットへ

NIC

ポート ポート ポート

NIC NIC NIC

ポート

ポート

NIC NIC

※ 赤い部分は Diabloリリースでは未対応、 Quantum のサービス範囲外だと思われる

Page 15: OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service (NaaS) を提供 クラウドユーザに NaaS を提供する ネットワーク関連サービス毎に整備する

Quantum で変わること

▌管理インターフェイス

Quantum API で整備される

物理スイッチも設定される(プラグイン次第)

▌物理ネットワークを選べる

プラグインを替えることで異なる物理ネットワーク構成をサポートする

これまでは単一 L2ネットワークか VLAN

複数のプラグインが用意されつつある: Openvswitch, Cisco, NEC, ...

15

クラウド運用者

Page 16: OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service (NaaS) を提供 クラウドユーザに NaaS を提供する ネットワーク関連サービス毎に整備する

Quantum のプラグイン

▌物理ネットワークを設定するプラグインを選択できる

16

Nova VM VM

クラウドユーザ ネットワーク Quantum

プラグイン

ポート ポート

NIC NIC

Page 17: OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service (NaaS) を提供 クラウドユーザに NaaS を提供する ネットワーク関連サービス毎に整備する

Quantum プラグイン一覧

▌Open vSwitch Plugin

Open vSwitch と VLAN を使用

▌Cisco UCS/Nexus Plugin

Cisco UCS ブレードと Nexus スイッチを使用

▌NEC Plugin (現在、開発中)

OpenFlow 技術を使用

OpenStack Conference Fall 2011 @Bostonで紹介

発表スライドはこちらからhttp://wiki.openstack.org/NetstackEssexSummit

17

Page 18: OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service (NaaS) を提供 クラウドユーザに NaaS を提供する ネットワーク関連サービス毎に整備する

NEC プラグイン

▌OpenFlow コントローラと連携する

OpenFlow コントローラは商用の PFlow と、OSSの Trema をサポートする予定

18

Nova VM VM

クラウドユーザ ネットワーク Quantum

NECプラグイン

ポート ポート

NIC NIC

OpenFlowコントローラ

※発表では言及していなかった補足事項です。 発表冒頭で「Quantumの一部を書いている」とい

う表現をしましたが、これはプラグインのことです。紛らわしくてごめんなさい。ちなみに、まだコミュニティにコミットできていません。次の機会にこの

あたりご紹介いたします。

Page 19: OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service (NaaS) を提供 クラウドユーザに NaaS を提供する ネットワーク関連サービス毎に整備する

Quantum を使ってみたい

▌Diablo リリースは若干機能不足

Quantumは開発段階、正確には周辺サービスと整合をとっている段階にある(Quantum 自体は問題なく動作する)

一部のネットワークサービスが未対応: NAT ゲートウェイ、DHCP

▌Essex リリース(2012年4月)

Nova ネットワークサービス相当の機能実現が 大きな目標

19

Page 20: OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service (NaaS) を提供 クラウドユーザに NaaS を提供する ネットワーク関連サービス毎に整備する

それでも、Quantum を使ってみたい

▌まずはこれを読む

Quantum ドキュメント

Quantum とプラグインの README

▌バージョンに注意

Quantum (Diablo) では Keystone 未対応、Dashboard とも連携できない

Essex 向けのマイルストーンリリース "E1" あり Keystone、DHCPに対応(Deb パッケージングも) https://launchpad.net/quantum/essex/essex-1

20

Page 21: OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service (NaaS) を提供 クラウドユーザに NaaS を提供する ネットワーク関連サービス毎に整備する

困った時は ログとデータベースをチェック

Page 21 © NEC Corporation 2011

Nova

nova-compute

仮想スイッチ

VM VM

nova-compute

仮想スイッチ

VM VM

物理スイッチ

Quantum

HTTPサーバ

データベース

REST API

プラグイン

データモデル / DBクライアント

Page 22: OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service (NaaS) を提供 クラウドユーザに NaaS を提供する ネットワーク関連サービス毎に整備する

Quantum の気になるところ

22

クラウドユーザ

クラウド運用者

何ができる?もう使える?

何ができる?

Quantumってなに?

OpenStackが 気になる人

OpenStackのL2ネットワークサービス

細かく論理ネットワークを操作できる

ネットワーク仮想化技術を選択できる 2012年4月 Essexリリースに乞うご期待

Page 23: OpenStack ネットワークサービス Quantum...NetStack プロジェクト Network as a Service (NaaS) を提供 クラウドユーザに NaaS を提供する ネットワーク関連サービス毎に整備する

参考URL

▌Quantum

ドキュメント: http://docs.openstack.org/ incubation/openstack-network/admin/content/

Launchpad: https://launchpad.net/quantum

Wiki: http://wiki.openstack.org/Quantum

ML: https://launchpad.net/netstack

▌おまけ

Trema: https://github.com/trema/apps (sliceable_routing_switch)

23

※またまた補足事項です。 NECプラグインが対応するOpenFlow コントローラです。REST API です。