Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
Copyright©2016 NTT corp. All Rights Reserved.
OpenStack Project UpdateNeutron Update
日本電信電話株式会社NTT ソフトウェアイノベーションセンタ
第三推進プロジェクト市原 裕史
OpenStack Days Tokyo 2016
2Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
市原 裕史•所属
• NTT SIC 第三推進プロジェクト• OpenStack Developer
• Neutron Core Reviewer、その他プロジェクトへの貢献•技術: SDN/NFV中心
• パブリッククラウドの開発• LinuxconでDPDKスイッチの性能の発表• Neutronへの機能提案
自己紹介
3Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
Mitaka New Features&
Newton New Feature Plans
Agenda
4Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
•新機能を含む、44の変更が加えられた• Availability Zone• QoS
Mitaka New Features
“Neutron Mitaka releasenotes” http://docs.openstack.org/releasenotes/neutron/mitaka.html
5Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
Availability Zone
6Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
Availability Zone がない状態
DHCP(ACT)
ネットワークノード
Router(ACT)
DHCP(ACT)
ネットワークノード
Router(SBY)
• L3HA機能やMultiple DHCP機能により冗長可能
Switch
7Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
Availability Zone がない状態
DHCP(ACT)
ネットワークノード
Router(ACT)
DHCP(ACT)
ネットワークノード
Router(ACT)
• L3HA機能やMultiple DHCP機能により冗長可能
Switch
DHCP、Routerともに通信は維持
8Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
Availability Zone がない状態
DHCP(ACT)
ネットワークノード
Router(ACT)
DHCP(ACT)
ネットワークノード
Router(ACT)
• L3HA機能やMultiple DHCP機能により冗長可能
スイッチ
DHCP、Routerともに通信は維持
•複数のネットワークノードにまたがる障害に対応不可
DHCP(ACT)
ネットワークノード
Router(ACT)
DHCP(ACT)
ネットワークノード
Router(SBY)
ラック
・・・
9Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
Availability Zone を利用
DHCP(ACT)
ネットワークノード
Router(ACT)
ラック
・・・ DHCP(ACT)
ネットワークノード
Router(ACT)
ラック
・・・
•管理者が各ノードのAvailability Zoneを設定• ノードAはAZ1、ノードBはAZ2等
•ユーザはリソース作成時にAZ候補を指定
AZ1 AZ2
AZ3 AZ4 ・・・
DHCP、Routerともに通信は維持
10Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
QoS
11Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
QoS in Mitaka
VM
コンピュートノード
Openvswitch によるegress パケット制限
VM VM
コンピュートノード
• Linuxbridge agent が QoS 機能に対応•ロールベースアクセス制御(RBAC) に対応
VM 仮想計算機
仮想スイッチ
vSwitch bridge
vSwitch/bridge
設定対象
VMVM
SR-IOV
NIC
SR-IOV によるegress パケット制限
Linuxbridge によるegress パケット制限
12Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
• QoS ingress rule/DSCP/帯域保証• Get me a Network• OpenStack Client への移行• Upgrade• Neutron Stadium
Newton New Feature Plans
13Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
QoS in Newton
14Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
QoS
VM
コンピュートノード
• Egress パケット制限(Mitaka)• Ingress パケット制限(開発中)• DSCP付加(Newton)
VM
• 帯域保証サポート(開発中)
VM
コンピュートノード
new VM(未配置)
• Minimum bandwithscheduling support(開発中)• 帯域保証スケジューリング(開発中)
• QoSを実現するための様々な新機能を提供• 帯域制限、帯域保証、DSCP付加など
VM 仮想計算機
仮想スイッチ
vSwitch vSwitch
vSwitch
設定対象
15Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
QoS 帯域保証スケジューリング
VM
コンピュートノードB
VM VM
コンピュートノードC
new VM(未配置)
vSwitch vSwitch
VM
コンピュートノードA
VM
vSwitch
VM 仮想計算機
仮想スイッチvSwitch
最大10Gbps, 残り4Gbps 最大10Gbps, 残り2Gbps 最大10Gbps, 残り7Gbps
帯域保証値 3Gbps
16Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
QoS 帯域保証スケジューリング
VM
コンピュートノードB
VM VM
コンピュートノードC
new VM
vSwitch vSwitch
VM
コンピュートノードA
VM
vSwitch
VM 仮想計算機
仮想スイッチvSwitch
最大10Gbps, 残り4Gbps 最大10Gbps, 残り2Gbps 最大10Gbps, 残り4Gbps
17Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
Get me a Network
18Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
•従来のVM作成のプロセスにおいてユーザはあらかじめ仮想ネットワークを作成しなければならなかった
Get me a Network なしの従来の手順
Neutron Nova
VMNetwork
VM
VM
VM
Network
(1)テナントネットワークを作成(2)ルータを作成(3)外部ネットワークとテナント
ネットワークをルータに接続
(4) 作成済みのNetworkもしくはPortを指定してVMを作成
Router
Router
ユーザ
19Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
• Neutronが自動でネットワークとルータを作成し設定を行う
Get me a Network を利用
ユーザ
Neutron Nova
VMNetwork
VM
VM
VM
Network
(1)テナントネットワークを作成(2)ルータを作成(3)外部ネットワークとテナント
ネットワークをルータに接続(1) VMを作成
Router
Router
不要
自動的に作成される
20Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
Get me a Network 実行例$ curl -g -i -X POST http://localhost:8774/v2.1/9cf06c7e8d424a8895390e76f7cdd969/servers -H "User-Agent: python-novaclient" -H "Content-Type: application/json" -H "Accept: application/json" -H "X-OpenStack-Nova-API-Version: 2.32" -H "X-Auth-Token: $TOKEN" -d '{"server": {"name": "net-auto-test", "imageRef": "58baf694-b22a-4c93-b47c-a67c62d19586", "flavorRef": "1", "max_count": 1, "min_count": 1, "networks": [{"uuid": "auto"}]}}'HTTP/1.1 202 AcceptedContent-Length: 436Location: http://localhost:8774/v2.1/9cf06c7e8d424a8895390e76f7cdd969/servers/49a11878-c0dc-4d7e-9c16-cd3080fdb984Content-Type: application/jsonOpenstack-Api-Version: compute 2.32X-Openstack-Nova-Api-Version: 2.32Vary: OpenStack-API-VersionVary: X-OpenStack-Nova-API-VersionX-Compute-Request-Id: req-28051989-738d-4293-b125-9b4759c866b8Date: Mon, 04 Jul 2016 06:21:19 GMT
{"server": {"security_groups": [{"name": "default"}], "OS-DCF:diskConfig": "MANUAL", "id": "49a11878-c0dc-4d7e-9c16-cd3080fdb984", "links": [{"href": "http://localhost:8774/v2.1/9cf06c7e8d424a8895390e76f7cdd969/servers/49a11878-c0dc-4d7e-9c16-cd3080fdb984", "rel": "self "}, {"href": "http://localhost:8774/9cf06c7e8d424a8895390e76f7cdd969/servers/49a11878-c0dc-4d7e-9c16-cd3080fdb984", "rel": "bookmark"}], "adminPass": "9zvzhqhWCJAB"}}
“Add REST API support for get me a network” https://review.openstack.org/#/c/316398/27
21Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
Get me a Network 自動作成された資源
Neutron “auto-allocated-topology” APIで同様にネットワーク、サブネット、ルータを作成可能
22Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
OpenStack Client
23Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
OpenStack Client
nova-client
neutron-client
cinder-client
glance-client
keystone-client
heat-client
・・・*-client
60以上のクライアントが存在
openstack-client
OpenStack Clientへ統一
24Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
OpenStack Client 実行例
従来のコマンド
新しいコマンド
25Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
Upgrade
26Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
1. neutron-db-manage upgrade --expand• DBのテーブル追加等、serverは稼働していても良い
従来のUpgrade
NeutronServer(Run)
NeutronServer(Run)
ユーザ API requestsDB
new tableexpand
27Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
1. neutron-db-manage upgrade --expand• DBのテーブル追加等、serverは稼働していても良い
2. neutron server stop3. neutron-db-manage upgrade --contract
• DBのテーブル削除等、serverは停止している必要がある
従来のUpgrade
NeutronServer(Stop)
NeutronServer(Stop)
ユーザ API requestsDB
old tablecontract
28Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
1. neutron-db-manage upgrade --expand• DBのテーブル追加等、serverは稼働していても良い
2. neutron server stop3. neutron-db-manage upgrade --contract
• DBのテーブル削除等、serverは停止している必要がある4. neutron server update & start
従来のUpgrade
NeutronServer(Run)
NeutronServer(Run)
ユーザ API requestsDB
29Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
• Oslo VersionedObject(OVO)によってリソースのバージョンが厳密に管理される
•新旧バージョンのNeutron Serverが混在可能なため、rolling upgradeが容易になる
Newton以降のUpgrade
NeutronServer(Run)
ユーザ API requestsDB
NeutronServer(Run)
30Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
Neutron Stadium
31Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
Neutron内部のコアリソースを管理するコアプラグイン、その他のリソースを管理するサービスプラグインをNeutronから外出しする活動が行われていた
Neutron Stadium 歴史的経緯
ML2
NEC
VMware
Juniper
Arista
Brocade
Cisco
…
A10
vArmour
HAproxy
Arista
Brocade Cisco
…
コアプラグインサービスプラグイン
Neutron
ロードバランサ
L2スイッチ
ルータ
VMware NSXでルータとL2スイッチを提供
HAproxyでロードバランサを提供
Neutron
A10
EmbranceHAproxy
NetScaler
ロードバランサ
Cisco OpenSwan
VPN
iptables vArmour
ファイアウォール
NEC
VMware Juniper
Aristabrocade
Cisco …
Arista
Cisco
Brocade
ルータ
コアプラグイン
ML2 L3Router
ソースコードの半分以上がベンダプラグイン
32Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
Mitakaのプロジェクト構成
Core pluginService plugin
bgpvpn
dragonflow
kuryr
ale-omniswitch
arista
bagpipe
cisco
calico
brocade
bigswitch
Neutron Stadium
Neutron
edge-vpn
fujitsu
hyperv
infoblox
midonet
mlnx
nec
nuageodl
ofagent
onos
ovn
ovs-dpdk
plumgrid
powervm
vsphere
vmware-nsx
octavia
client
lbaasvpnaas
fwaas
l2gwdynamic-routing
sfc
pd-driver
lib
33Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
最新のプロジェクト構成
Core pluginService plugin
bgpvpn
dragonflow
kuryr
ale-omniswitch
arista
bagpipe
cisco
calico
brocade
bigswitch
Neutron
edge-vpn
fujitsu
hyperv
infoblox
midonet
mlnx
nec
nuageodl
ofagent
onos
ovn
ovs-dpdk
plumgrid
powervm
vsphere
vmware-nsx
octavia
client
lbaasvpnaas
fwaas
l2gwdynamic-routing
sfc
pd-driver
lib
Neutron Stadium
34Copyright©2016 NTT corp. All Rights Reserved.OpenStack Days Tokyo 2016
• BGP• Neutron本体から独立してneutron-dynamic-routingプロジェクトとしてNeutron Stadiumに加えられた
• Routed Network• Neutron側のコードは順調に取り込まれているが、Nova側の動き次第
• VLAN aware VM• Blueprintは承認され、現在はAPI部分のパッチのレビュー中
• FWaaS/VPNaaS• 人員不足によりコードの品質を保つことが難しい状態で、
FWaaS API v2の議論もなかなか進んでいない
その他のトピック