@TremaDay #8
OpenStack Kuryrについて
今日の話
すみません、TremaDayですがTremaと関係ないです。
▷ OpenStackネットワークのおさらい
▷ DockerNetworking(1.9)のおさらい
▷ Kuryrとは
なお、相当な主観が入っています。
Kuryr
OpenStack Summitで発表されたKuryrというものがあり、
▷ NeutronとDockerのNWをつないでくれる
▷ 既存プラグインの使い回しとちょっとのスニペットで実現
▷ 将来的にはOpenStackでVMとコンテナ動かす時に常にいる
こういった感じの、OpenStackの新しいプロジェクトです。
大雑把に図にするとこんな感じです。
大体のリソースは物理ネットワークの部品に対応する要素で、
APIにこれ作りたいと投げるとプラグインと連携して作ります。
NeutronのNetwork Model
リファレンスプラグイン(ml2->ovs plugin)を例にとると、
linuxのnet機能を沢山つかっています。
▷ ovsbridge作成、トンネル作成(L2)
▷ netns操作(L3)
▷ iptables操作(SecurityGroup)
▷ …
なお、vifを作ってbridgeに挿すのはnovaの仕事です。
実際の動作
DockerのNW
http://www.slideshare.net/Oshima0x3fd/docker-51844008
基本シングルホストでコンテナを動かす物でしたが、
1.9から正式にマルチホストで構成しやすくなりました。
ここにDocker Networkingについてのお奨めの資料があります。
CNM
DockerのNWは大体こんなかんじのモデルです。
OpenStackとDocker
OpenStackでもDockerを扱うようになってきました。
▷ Magnum
▷ Kolla
▷ Kuryr
ネットワークのマッピング
さっき見たとおり、NeutronとDockerのNWは結構違うので、
合わせて使おうとすると、色々どうにかしなければいけません。
▷ MagnumはNeutronを完全にスルーしてる!
▷ 全部シームレスにつながってほしい!
▷ プラグインを使い回したい!
Kuryr
中でやってることを一言で言うと、
docker networkからNeutron APIへの呼び出し変換と、
novaがやっていたvethのdatapathへの接続(VIF Binding)です。
デモ図
dockerコンテナを起動して、VMと同じセグメントに勝手に入る
のを見てみます。
デモ図
dockerコンテナを起動して、VMと同じセグメントに勝手に入る
のを見てみます。
現状
いまのところ、動作に色々ポイントがあります。
▷ subnet poolに10.0.0.0/24のsubnetが要る
▷ SecurityGroupはdefaultが使われる
▷ 現在vif_typeにはmidonetとovsが使える
出来たばかりなので、これからどんどん良くなると思います。
聞きかじった課題として、ネストするケースをどうするか、
というのがあるようです。
Thank you.

OpenStack Kuryrについて