Top Banner
OpenStack の最新動向 Kilo, Liberty Mxx にむけて~ Akihiro Motoki 13 Jul, 2015
32

20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

Aug 14, 2015

Download

Internet

Akihiro Motoki
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

OpenStack の最新動向 ~Kilo, Liberty と Mxx にむけて~

Akihiro Motoki

13 Jul, 2015

Page 2: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

Agenda

• Kilo リリースの概要

• Liberty リリースでの注目ポイント

• M リリースについて考えてみる

自分が関わっているプロジェクトの都合上、 Neutron に偏っている点はご了承を。

Page 3: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

Who am I?

• 元木 顕弘 (@ritchey98) – 以前はIPルータ、広域Ethernet装置、迷惑メールフィルタなどを開発していました。

– ここ数年は、ネットワーク仮想化、OpenStack, OpenFlow 周りで活動しています。

• OpenStack Developer

– Neutron Core Developer (+ Neutron Spec Review team) – Horizon Core Developer – I18N (国際化) Project member

• Linux JM (日本語マニュアル) Project Maintainer

– 最近やめました。もうLinuxの日本語マニュアルなんていりませんよね?

Page 4: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

Kilo リリースの概要

• “Big Tent”

• Nova

• Neutron

• Cinder

• Keystone

• Horizon

• Swift

• Sahara

カバーしているプロジェクトは完全に主観 (^^;

Page 5: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

“Big Tent”

• これまでの “Integrated projects” の仕組みでは要件が多くなってきた。スケールしない。

• “Big Tent” という考え方に移行 • 柔軟に OpenStack Official プロジェクトとして認めていく方向に変化。 – OpenStack の Mission にあっていれば認めていく方向

• The OpenStack Mission: to produce the ubiquitous

Open Source Cloud Computing platform that will meet the needs of public and private clouds regardless of size, by being simple to implement and massively scalable.

Page 6: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

これまでの Project Lifecycle

• Outside project → Incubation Project → Integrated Project

https://raw.githubusercontent.com/openstack/training-guides/master/doc/upstream-training/source/_assets/04-02-lifecycle.png

Page 7: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

New projects under “Big Tent”

• Murano

• Congress

• Rally

• Barbican

• Designate

• Manilla

• Magnum

• Zaqar

• MagnetoDB

• Puppet OpenStack

• Mistral

OpenStack Official になったといっても これまでの “Integrated” とは異なる点に注意。 ステータスはそれぞれチェックする必要あり

Page 8: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

“Big Tent”

• プロジェクトとして認められる条件 – OpenStack Mission にあっているか – 他のプロジェクトとの相互運用性 – プロジェクト参加者が継続的かつ複数の組織からか – Four *Open*

• Open Source, Open Community, Open Design, Open Development

• Tags – プロジェクトのリリース、運営方針などの状態を “tag” という形で表現。 – http://governance.openstack.org/reference/projects/index.html

• DefCore (OpenStack “Powered”)

– http://www.openstack.org/brand/interop/ – 商用として “OpenStack” と名乗るための要件 – 対象となるプロジェクト、満たすべきテストが DefCore Committee で定義されており、このテストをパスする必要あり。

Page 9: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

Nova

• Nova v2.1 API – v2.1 = v2.0 compatibility

+ validations + microsversion – Strong parameter validation framework – Microversions : 実際には Kilo には 3つのバージョンあり – v2.1 : v2.0 compat API – v2.2 : new parameter to keypair API response

+ response code change for keypair create/delete (following API guideline from API-WG)

– v2.3 : new parameter to “show server” API for EC2

• NUMA (non-uniform memory access) サポートが完了 – NUMA 対応スケジューリング – 仮想CPUのPinning対応、メモリのコアへの対応付け – Large page 対応

Page 10: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

Nova v2.1 API $ nova version-list +------+-----------+----------------------+-------------+---------+ | Id | Status | Updated | Min Version | Version | +------+-----------+----------------------+-------------+---------+ | v2.0 | SUPPORTED | 2011-01-21T11:33:21Z | | | | v2.1 | CURRENT | 2013-07-23T11:33:21Z | 2.1 | 2.3 | +------+-----------+----------------------+-------------+---------+ $ nova --debug --service-type computev21 list [...] DEBUG (connectionpool:383) "GET /v2.1/74bf6cda8e3946f6869ac76684e09b2c/servers/detail HTTP/1.1" 200 15 DEBUG (session:224) RESP: [200] content-length: 15 x-compute-request-id: req-30495e36-5c14-4028-b119-e9522b3cdbee vary: X-OpenStack-Nova-API-Version connection: keep-alive x-openstack-nova-api-version: 2.1 date: Sun, 12 Jul 2015 16:22:33 GMT content-type: application/json +----+------+--------+------------+-------------+----------+ | ID | Name | Status | Task State | Power State | Networks | +----+------+--------+------------+-------------+----------+ +----+------+--------+------------+-------------+----------+

Page 11: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

Neutron • Vendor plugin decomposition

– ベンダープラグイン/ドライバーはそれぞれ別レポジトリーに分離。 • プラグイン開発のスピードアップ • Neutronのメインコードは API とフレームワークを提供

– Juno 時点で 40のベンダープラグイン、ドライバーが存在 • プラグイン開発者から見ると、レビューの遅さに不満 • レビューする側は「分からない」コードをレビューしないといけない

– これらの Pain Points を解消するために実施。

• Advanced service split – LBaaS, VPNaaS, FWaaS – 別のレポジトリーに分離。 – 領域に特化した知識が必要なのが レポジトリー分離の大きな理由。

• “Neutron Big Stadium”

– Neutron はネットワーク関係プロジェクト の Big Umbrella

Page 12: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

Neutron

• Subnet allocation

• VLAN support in DVR

• ML2 plugin hierarchical port binding

• Restructure of L2 agent / L3 agent

• Port Security for OVS ML2 mechanism driver

• MTU advertisement

• Transparent VLAN support for VM (note that not supported in OVS driver)

Page 13: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

ML2 hierarchical port binding

SW SW SW SW

VXLAN

VM VM VM VM

OVS OVS

VM VM

OVS

VM VM

OVS

VLAN VLAN VLAN VLAN

Assign VXLAN

VNI when creating

a network

Different VLAN-ID can be

used per compute node

OVS mech driver

HW-SW mech driver

• VXLAN encapsulation requires CPU power.

• Hierarchical port binding allows operators to combine VXLAN and VLAN.

• Most NICs has VLAN offloading feature.

• Can leverage VXLAN encap of hardware switches

Page 15: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

Cinder

• Rolling Upgrade に向けた対応 – Versioned object 対応により、データ構造が違うモジュールが混在可能に。

– DB schema アップグレード時に、サービス再起動が不要に。

• Incremental Backup (差分バックアップ) • Encrypted Backup • Consistency Group の改良

– Consistency Group = そのグループ内の複数のボリュームのスナップショットで、データ一貫性が保証

– 追加、削除のサポート。 – 既存スナップショットからのグループ作成。

地道な変更が多いが使い勝手順調に向上

Page 16: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

Keystone

• Identity Federation (認証連携) – Keystone – Keystone 連携 – OpenID 対応 – Web Single Sign-on (SSO) 経由での認証連携に対応 (Horizon)

• Fernet Token – Token 内に基本的なアカウントID情報や有効期限を共通暗号で暗号化して格納。

– KeystoneではDBなしでトークンを検証できるが、サイズはUUID Token とあまり変わらない。

• 階層的なプロジェクト管理 – プロジェクト作成時に parent_id としてプロジェクトを指定する。 – 実際に使えるようになるには、OpenStack の他のサービスの対応が必要。Liberty以降に期待。

今回はかなり目立つ変更が多い

Page 17: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

Horizon • 新しいインスタンス起動画面(ベータ版) • Angular JS ベースの実装が進展。JS ベースでの開発への道筋。 • Glance メタデータ編集 • Nova インスタンスのホストからの追い出し • Cinder v2 API デフォルトに。ボリューム暗号化メタデータ対応、など

Page 18: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

Swift

• グローバルクラスターでのレプリケーションの改善 – 広域でクラスターを組む場合、リージョン間でのコピー時にはコピーされるオブジェクトが1つだけに。移動先で2個レプリカを持つ場合、リージョン間でコピーした後で、リージョン内でレプリカをコピーする。

• Erasure Coding のベータリリース – 新しい Storage Policy として追加。Ring 単位の設定。 – Erasure Coding を使うことでReplica方式よりも必要なディスク量が削減 (数10%の追加で冗長性確保)

– ほとんどの機能が実装されている。

• Composite Token – Nova、GlanceなどのサービスがSwiftにデータを格納する際に、ユーザーの代わりにデータを保存する機能。これまではサービスアカウントで格納。

– データは使用量が把握しやすいよう、ユーザアカウント配下に格納。

PUT: /v1/SERVICE_1234/<container>/<object> x-auth-token: <user-token> x-service-token: <service-token>

Page 19: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

Sahara

• 新しいプラグイン – Spark, Storm, Hadoop 2.6.0, CDH

• イベントログ対応 – クラスターでのジョブ進捗状況を把握可能に。

• Horizon でのガイド付きのクラスター/ジョブ作成

• プラグイン単位でのノードグループとクラスターのテンプレート

• VM Deployment Engine として Heat がデフォルトに。

• Multi-worker のサポート

使い勝手がかなり向上した印象

Page 20: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

Sahara (Horizon)

• クラスターとジョブをガイドで作成可能に。

Page 21: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

Liberty リリースの注目ポイント

• Nova

• Neutron

• Ironic

カバーしているプロジェクトは完全に主観 (^^;

Page 22: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

Release Versioning Change

• Liberty release ≠ 2015.2.X

• Liberty release からは、以下のようになります。 – “1” は最初の Integrated Release

• keystone 8.0.0

• neutron(-*aas) 7.0.0

• nova 12.0.0

• sahara 3.0.0

• trove 4.0.0

• ceilometer 5.0.0

• cinder 7.0.0

• glance 11.0.0

• heat 5.0.0

• horizon 8.0.0

• ironic 2.0.0

Page 24: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

Neutron

• API versioning (extension vs micro-versioning) – API framework refactoring

• Nova-network migration – Linux Bridge の本格サポートの復活

– “Get me a network” (VM 起動時に Neutron Network を自動作成する)

• QoS sub team

• Availability zone support

• VLAN aware VMs

• RBAC for network

Page 26: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

Ironic Neutron Integration

• Ironic (Baremetal) 使用時の Tenant Network Isolation を実現する。

• IronicからNeutronへの物理情報を渡すAPIの定義 – Ironic Port Table の拡張、物理情報の収集方法など

• IronicのProvisioning NetworkからTenant Networkへの切替

Bare Metal Server

Bare Metal Server

Bare Metal Server VM VM

vSwitch

Physical Switch Physical Switch

Neutron NW1

Neutron NW2

Switch ID Port ID

(more info)

Tenant Network

Provisioning Network

Cleaning Network

システム共通

テナント単位

BM Server

BM Server

BM Server

テナント利用中

利用終了後 利用開始時

Page 27: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

Magnum

• プロトタイプからの脱却 (Production Level へ)

–内部で利用するミドルウェアへのTLS Auth対応

– API mirco-versioning 対応

– Scale-out Archicture

• Mesos サポート

• ロードバランサーサポート

Page 28: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

M リリースについて勝手に考える

Page 29: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

“M” release naming

• もう “M” リリースの名前が決まっているはずだったのですが・・・・・

Page 30: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

M リリースについて考えてみる

• Single Networking Stack がやっと実現?

– Migration from nova-network to Neutron

• アップグレードがより現実的に?

– Live Upgrade (RPC & object versioning)

– Non-stop database schema migration

• コンテナを使ったデプロイが一般化?

– Kolla は使われるようになる?

–実現例がいろいろ出て来る頃か。

Page 31: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

M リリースについて考えてみる

• たくさんできた openstack/xxxx プロジェクトはどうなる?

–ますます進む “Big Tent” モデル

• Cloudkitty や Monosca もどうなるか

–そろそろ淘汰されて消えていくものが出てくるか

Page 32: 20150713-OpenStack-5thbirthday-kilo-liberty-and-towards

ありがとうございました