Upload
hirofumi-ichihara
View
94
Download
1
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 bandwith scheduling 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 歴史的経緯
ML2NEC
VMwareJuniper
AristaBrocade
Cisco…
A10
vArmourHAproxy
AristaBrocade Cisco
…
コアプラグインサービスプラグイン
Neutron
ロードバランサ
L2 スイッチ
ルータ
VMware NSX でルータとL2 スイッチを提供
HAproxy でロードバランサを提供
Neutron
A10EmbranceHAproxyNetScaler
ロードバランサ
Cisco OpenSwanVPN
iptables vArmourファイアウォール
NECVMware Juniper
AristabrocadeCisco …
AristaCisco
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 の議論もなかなか進んでいない
その他のトピック