Submit Search
自作仮想化基盤 「n0stack」の紹介
Download as PPTX, PDF
•
4 likes
•
3,985 views
T
Takeshi Take
Container SIG 2017 Fall にて発表した資料です (pp.31-37 にて画像が一部乱れていますが、ご了承ください)
Internet
Read more
1 of 43
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
More Related Content
PDF
DPDKによる高速コンテナネットワーキング
Tomoya Hibi
PPTX
ネットワークプログラマビリティ勉強会
Tomoya Hibi
PDF
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
Tomoya Hibi
PDF
Lagopus Router
Tomoya Hibi
PDF
Lagopus + DockerのDPDK接続
Tomoya Hibi
PDF
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Tomoya Hibi
PDF
Lagopus Router v19.07.1
Tomoya Hibi
PDF
Lagopusで試すFirewall
Tomoya Hibi
DPDKによる高速コンテナネットワーキング
Tomoya Hibi
ネットワークプログラマビリティ勉強会
Tomoya Hibi
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
Tomoya Hibi
Lagopus Router
Tomoya Hibi
Lagopus + DockerのDPDK接続
Tomoya Hibi
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Tomoya Hibi
Lagopus Router v19.07.1
Tomoya Hibi
Lagopusで試すFirewall
Tomoya Hibi
What's hot
(20)
PDF
Osc2018tokyo spring-20180224
Tomoya Hibi
PPTX
Lagopus workshop@Internet weekのそば
Yoshihiro Nakajima
PDF
QUICとNATと
Yuya Rin
PDF
NPStudy LT Lagopus Router v19.07
Tomoya Hibi
PDF
Lagos running on small factor machine
Lagopus SDN/OpenFlow switch
PPTX
Project calico introduction - OpenStack最新情報セミナー 2017年7月
VirtualTech Japan Inc.
PDF
Lagopusで試すFW
Tomoya Hibi
PPTX
OpenStackネットワーク入門 – OpenStack最新情報セミナー 2015年4月
VirtualTech Japan Inc.
PDF
20170329 container technight-第一回勉強会
Minehiko Nohara
PDF
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
VirtualTech Japan Inc.
PPTX
VPP事始め
npsg
PDF
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
VirtualTech Japan Inc.
PDF
openstack_neutron-ovs_osc2014tf_20141019
Takehiro Kudou
PDF
NFV標準化動向 NFVの適用範囲と標準化 – OpenStack最新情報セミナー 2015年4月
VirtualTech Japan Inc.
PDF
Kernel vm-2014-05-25
Hirochika Asai
PDF
Lagopus & NFV with Vhost (Tremaday#9)
Tomoya Hibi
PDF
【Interop tokyo 2014】 Internet of Everything / SDN と シスコ技術者認定
シスコシステムズ合同会社
PDF
「宣言的プログラミング」とSDNのひとつの形態
npsg
PPTX
Contrail overview open stack days tokyo-feb2015
Nachi Ueno
PDF
Lagopus Project (Open Source Conference)
Tomoya Hibi
Osc2018tokyo spring-20180224
Tomoya Hibi
Lagopus workshop@Internet weekのそば
Yoshihiro Nakajima
QUICとNATと
Yuya Rin
NPStudy LT Lagopus Router v19.07
Tomoya Hibi
Lagos running on small factor machine
Lagopus SDN/OpenFlow switch
Project calico introduction - OpenStack最新情報セミナー 2017年7月
VirtualTech Japan Inc.
Lagopusで試すFW
Tomoya Hibi
OpenStackネットワーク入門 – OpenStack最新情報セミナー 2015年4月
VirtualTech Japan Inc.
20170329 container technight-第一回勉強会
Minehiko Nohara
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
VirtualTech Japan Inc.
VPP事始め
npsg
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
VirtualTech Japan Inc.
openstack_neutron-ovs_osc2014tf_20141019
Takehiro Kudou
NFV標準化動向 NFVの適用範囲と標準化 – OpenStack最新情報セミナー 2015年4月
VirtualTech Japan Inc.
Kernel vm-2014-05-25
Hirochika Asai
Lagopus & NFV with Vhost (Tremaday#9)
Tomoya Hibi
【Interop tokyo 2014】 Internet of Everything / SDN と シスコ技術者認定
シスコシステムズ合同会社
「宣言的プログラミング」とSDNのひとつの形態
npsg
Contrail overview open stack days tokyo-feb2015
Nachi Ueno
Lagopus Project (Open Source Conference)
Tomoya Hibi
Ad
Similar to 自作仮想化基盤 「n0stack」の紹介
(20)
PDF
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
Etsuji Nakai
PDF
20130803 OSC@Kyoto CloudStackユーザー会
samemoon
PDF
OpenStack概要
Akira Yoshiyama
PDF
OpenStack Updates
Masanori Itoh
PDF
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo!デベロッパーネットワーク
PDF
話題のNode-REDでIoTアプリを作ってみよう
Kimihiko Kitase
PDF
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~
Masanori Itoh
PDF
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
Masahito Zembutsu
PDF
CloudStack Ecosystem Day - OpenStack/Swift
irix_jp
PPTX
Fluxflex meetup 2011 in Tokyo
Kyosuke Inoue
PDF
OSC2012-KANSAI@Kyoto JOSUG
Hideki Saito
PPT
2010 04クラウド技術講座
sisawa
PDF
OpenStack入門 2016/06/10
株式会社 NTTテクノクロス
PDF
OSC 2011 Tokyo/Spring OpenStackプレゼン
Masanori Itoh
PDF
Wakame-vnet / Open Source Project for Virtual Network & SDN
axsh co., LTD.
PDF
Cloud Foundry: Open Platform as a Service
Shunsuke Kurumatani
PDF
Whats new Apache CloudStack
Kimihiko Kitase
PDF
Apache cloudstack4.0インストール
Yasuhiro Arai
PDF
OpenCloudCampus : Cloud Technologies Meeting (OpenStack)
Masanori Itoh
PPT
vFabricを触ろう
土岐 孝平
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
Etsuji Nakai
20130803 OSC@Kyoto CloudStackユーザー会
samemoon
OpenStack概要
Akira Yoshiyama
OpenStack Updates
Masanori Itoh
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo!デベロッパーネットワーク
話題のNode-REDでIoTアプリを作ってみよう
Kimihiko Kitase
「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~
Masanori Itoh
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
Masahito Zembutsu
CloudStack Ecosystem Day - OpenStack/Swift
irix_jp
Fluxflex meetup 2011 in Tokyo
Kyosuke Inoue
OSC2012-KANSAI@Kyoto JOSUG
Hideki Saito
2010 04クラウド技術講座
sisawa
OpenStack入門 2016/06/10
株式会社 NTTテクノクロス
OSC 2011 Tokyo/Spring OpenStackプレゼン
Masanori Itoh
Wakame-vnet / Open Source Project for Virtual Network & SDN
axsh co., LTD.
Cloud Foundry: Open Platform as a Service
Shunsuke Kurumatani
Whats new Apache CloudStack
Kimihiko Kitase
Apache cloudstack4.0インストール
Yasuhiro Arai
OpenCloudCampus : Cloud Technologies Meeting (OpenStack)
Masanori Itoh
vFabricを触ろう
土岐 孝平
Ad
自作仮想化基盤 「n0stack」の紹介
1.
自作仮想化基盤 「n0stack」の紹介 ぱろっく hnron h-otter kyontan 法政大学 日本工学院八王子専門学校 電気通信大学 電気通信大学
2.
- ContainerSIG (Special
Interest Group) - But... - No - No - No Jail Attention!
3.
- ContainerSIG (Special
Interest Group) - But... - We use Attention!
4.
自己紹介 (@hnron) - 日本工学院八王子専門学校 -
ITスペシャリスト科 4年 - ICTSC (第3-6回 参加) (第7-9回 運営) - 自宅ラック勢 - OpenStack - 自宅にBGPフルルートが来てたり
5.
自己紹介 (@h-otter) - 電気通信大学
総合情報学科 3年 セキュリティコース - ICTSC運営 (第6 ~ 9回) - アルバイト @ - 自宅ラック勢 - openstack on k8s
6.
自己紹介 (ぱろっく) - @porisuteru -
法政大学 理工学部 4年 知的情報処理研究室 - ICTSC運営委員(第5 - 9回) - アルバイト @ - インターン @ - 機械学習✖️セキュリティを研究
7.
- @sukukyon - https://monora.me -
電気通信大学 情報理工学部 3年 - 元 ICTSC 運営委員 (第5 - 8回) - アルバイト @ & - 就活中 (?) 自己紹介 (@kyontan) 自宅サーバ群 (FreeBSD, CoreOS, ...)
8.
ICTトラブルシューティングコンテスト - 通称 ICTSC
(ICT Trouble Shooting Contest) - https://icttoracon.net - 学生によるインフラ技術を中心に出題される トラブルシューティング大会 - 次回は第9回@さくらインターネット株式会社 大阪本社
10.
開発の動機 - これまでは CloudStack
や OpenStack を用いていた - CloudStack はネットワークの構造等の自由度が低く、 ICTSC に用いるのが難しかった - OpenStack は比較的自由度が高かったが、ICTSC で使う際に 毎回特殊な構築の仕方を取る必要があった - どちらを用いた場合でも、学習コストや不具合が発生した時の デバッグのコストがとても高かった - クラウドを理解するためにクラウドを作ってみる
11.
We introduce …
12.
全体の構成 - 各コンポーネントやエージェントを分割して開発 - リソースをそれぞれ抽象化するエージェントを作る -
IaaSとしてコンポーネントをまとめる - Compute, Network, Volume の依存は比較的大きい - ex. Nova と Neutron と Cinder → OpenStackやKubernetesの構造を参考にしながら粒度を調整
13.
インターフェイス (OpenStack) - VMを作るには… -
Neutron でネットワークを作って - Neutron でサブネット・ポートを作って - Nova で VM を立てて… - Cinder でディスクをつくって - いろいろアタッチして… - Heat…? Murano…?
14.
インターフェイス (Kubernetes) - サービスを提供するには… -
PersistentVolumeつくって - Deploymentを作って - Service作って - いろいろ制約を追加して… - いろいろタグでアタッチして…
15.
しんどい
16.
インターフェイス (n0core) - VMを作るには… -
procedure という 1つのリクエストを投げるだけ - リソースの依存関係を解決 - 効率的なスケジューリング - resource: vm name: hello_vm power_state: started attachments: - resource: volume size: 10G - resource: port network: type: vlan vlan_id: 10 subnets: - cidr: 10.0.1.0/24
17.
- RESTful API -
全ては HTTP でやる - デバッグのしやすさを重視 - 疎結合 - agent 同士の依存を減らす - マイクロサービスに近い - agent は比較的密結合である - 破綻 Architecture (0.1)
18.
- MQ を導入 -
到達性を重視 - 容易にリトライが可能 - Scheduler / Conductor - agent 間の調整 / 管理 - データフローを一方向に Architecture (0.2)
19.
Architecture (0.2) - API
Gateway - HTTP / MQ の変換 - n0auth, n0image - HTTP 依存部は外部へ
20.
メッセージの流れ - Scheduler が 必要な
agent へ命令 Architecture (0.2)
21.
メッセージの流れ - エラーがあれば Conductor →
Scheduler で 再スケジューリング Architecture (0.2)
22.
Architecture (0.2) - 依存関係があると…… -
Scheduler → Agent → Conductor → Scheduler → Agent → ...
23.
- 依存関係があると…… - Scheduler →
Agent → Conductor → Scheduler → Agent → ... 必要ないのでは? Architecture (0.2)
24.
全体の構成 (Latest) 依存関係の通知を Agent から直接
Agent へ - VM に必要なディスク ... ポート - ポート ... ネットワーク
25.
全体の構成 (Latest) 依存関係の通知を Agent から直接
Agent へ - VM に必要なディスク ... ポート - ポート ... ネットワーク
26.
n0core - Core Component 全体の構成
(Latest)
27.
Messaging - 全てのメッセージは N0stackMessage
である - Protobuf はそれ自身の型情報を持たない N0stackMessage Request Procedure Notification Simple Notification Create VM Requests.. Create Network Delete VM
28.
Pulsar - Yahoo! が日米で開発した
MQ (メッセージングキュー) - レイテンシの低さがウリ - メッセージは ZooKeeper / BookKeeper で伝達/保持 - (acknowledgement を返すまでメッセージを保持できる) - 今は Apache Incubator の配下で開発続行中 - n0stack の MQ として採用 - MQ の扱いになれておらず色々苦労中
29.
Messaging - Protobuf (Protocol
buffer) 3 を全体で採用 - agent 間でのスキーマの統一 - 文字列/数値等の最低限の型は保証できる - 列挙型もある - Protobuf 3 では全てのフィールドが optional (なくてもよい) - シリアライズできたからといってエラーが起きないわけではない
30.
- API Gateway -
クライアント (WebUI, CLI) からのリクエストのルーティング - Authentication, Authorization - Kong, Traefik などを使いたい (未検証) - 未着手 n0gateway
31.
api Clients MQ api - HTTP -
MQ の橋渡し YAML, JSON, ... Protobuf
32.
scheduler - ホストのリソースを元に VMのスケジューリング - filter
/ weight - APIから送られてくる procedureの分割 - 各コンポーネントへ リソースの作成リクエストを送る
33.
networker - 外部ネットワークから VMへの疎通を確保 - n0stack側から外部の router/switch
を操作 - NAPALM - BGPで外部のrouterに VMのIPを/32で広報 - GoBGP
34.
porter - VMのnetworkを抽象化 - ブリッジの作成
& DHCP による IPアドレスの割当 - 複数のタイプに対応 - flat - vlan - ...
35.
volumer - VMイメージ等の管理 - リソースプールの作成 -
作成 - 削除 - ダウンロード - マイグレーション
36.
compute - VMの管理 - 作成 -
起動 - 停止 - 複製 - デバイス追加 - スペック変更 - マイグレーション
37.
compute - ハイパーバイザにKVMを使用 - libvirtを用いてKVMを管理
38.
libvirt - RedHat が主体となって開発している
OSS - KVM や Xen などのハイパーバイザを管理する抽象化ライブラリ - C / Python / Java などから API を利用可能
39.
libvirt を使う理由 - 将来的に様々なハイパーバイザに対応させやすい -
Linux Containers (LXC) もサポートしている - コンテナの管理も可能に(?)
40.
進捗 着手し始めた部分 - Scheduler - Compute -
Volumer - Porter - Networker : Procedure 設計 : ほぼ完成 : Attach 以外ほぼ完成 : MQと結合以外は完成 : gobgp 検証中
41.
- 0.1 Release
(Soon) - 色が濃い部分の基本動作 - (0.2, ...) - 1.0: 全体の完成 - ICTSC9 (2018/3/3, 4) - 導入判断は 2017/12 😂 - 間に合わせたい Schedule
42.
様々な形でのサポートを お願いします!! 🙏
43.
Thanks / Check
it out!
Editor's Notes
#2:
@palloc
#3:
@palloc
#4:
@palloc
#5:
@naoki
#6:
@h-otter
#7:
@palloc
#8:
@kyontan
#9:
@kyontan
#10:
@palloc (ここまでを2分で終わらせる)
#11:
@palloc
#12:
@h-otter
#13:
@h-otter
#14:
@h-otter
#15:
@h-otter
#16:
@h-otter
#17:
@h-otter
#18:
@kyontan
#19:
@kyontan
#20:
@kyontan
#21:
@kyontan
#22:
@kyontan
#23:
@kyontan
#24:
@kyontan
#27:
@kyontan
#28:
@kyontan
#29:
@kyontan
#30:
@kyontan
#31:
@kyontan
#32:
@kyontan
#33:
@naoki ホストのリソースとfilter, weightなどの情報を元にVMのスケージューリングを行います APIから送られてくるプロシージャの分割を行って、各ホストのコンポーネントへ、リソースの作成リクエストを送っています。
#34:
@naoki networkerコンポーネントは、 外部ネットワークからVMへの疎通を確保するためのコンポーネントで、 n0stack側から外部のrouter/switchを操作し、BGPなどの設定を行います。 その後に、BGPで、VMに割当てられたIPを/32で広報します // あとは、NAPALMを使用してホスト間のL2の // 他はgottyで
#35:
@h-otter
#36:
@naoki
#37:
@palloc
#38:
@palloc
#39:
@palloc
#40:
@palloc
#41:
@palloc
#42:
@palloc
#43:
@palloc
#44:
@palloc
Download