magnum - a new openstack api for containers -

19
Magnum A new OpenStack API for Containers

Upload: takehiro-kaneko

Post on 16-Apr-2017

2.145 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Magnum - A new OpenStack API for Containers -

Magnum A new OpenStack API for Containers

Page 2: Magnum - A new OpenStack API for Containers -

自己紹介

金子�雄大(@tktk8924)

伊藤忠テクノソリューションズ株式会社

OpenStackに関連する仕事をしています

日本酒が大好きです

Page 3: Magnum - A new OpenStack API for Containers -

本日の内容

• とあるAPIについて調べたのでご紹介します

• APIを使ってこんなすごいもの作りました!という話ではありません

• 「夏だ!祭りだ!APIデモ祭りだ!!」ということなので、デモはやります!

Page 4: Magnum - A new OpenStack API for Containers -

使ってますか??

Page 5: Magnum - A new OpenStack API for Containers -

使ってますか??

Page 6: Magnum - A new OpenStack API for Containers -

Magnum

on

• KubernetesやDocker Swarmといったコンテナオーケストレーション(クラスタリング)エンジンを利用可能にするOpenStack API

Page 7: Magnum - A new OpenStack API for Containers -

テナント専用のコンテナクラスタが簡単にデプロイできる

! "

Tenant A Tenant B

Tenant C

Magnum API

! "

! "

Page 8: Magnum - A new OpenStack API for Containers -

デモ: Kubernetesクラスタ作成

Page 9: Magnum - A new OpenStack API for Containers -

アーキテクチャ

https://wiki.openstack.org/wiki/Magnum

Page 10: Magnum - A new OpenStack API for Containers -

Magnum API リソース

• baymodel (クラスタの設計図) • bay (クラスタの単位) • node • pod • rc (replication controller) • service • container

の影響大

Page 11: Magnum - A new OpenStack API for Containers -

Magnumコマンド

$ magnum bay-create --name k8sbay --baymodel k8sbaymodel —node-count 2

Bay(クラスタ)作成

$ magnum pod-create --manifest ./redis-master.yaml --bay k8sbay

Pod作成

$ magnum service-create --manifest ./redis-sentinel-service.yaml --bay k8sbay

Service作成

$ magnum rc-create --manifest ./redis-controller.yaml --bay k8sbay

Replication Controller作成

Page 12: Magnum - A new OpenStack API for Containers -

Magnum APIでできること

•ユーザ認証、権限管理(OpenStack Keystoneと連携)

• マルチテナント化(テナントごとに専用のクラスタが作れる)

• Kubernetes/Swarmクラスタの構築

• Magnum API経由でのKubernetes/Docker APIの操作

Page 13: Magnum - A new OpenStack API for Containers -

+と来れば、MagnumはPaaSなのか?という発想になる(単純)

Page 14: Magnum - A new OpenStack API for Containers -

PaaSに必要な機能と比較してみる

@jacopenさんのスライドから拝借

• ユーザ認証、権限管理

• コードのバージョン管理

• コードからのデプロイ

• ロギング

• アプリケーションのメトリクス取得

• コンテナの管理

• コンテナの実行

○␣

○␣

○␣

Page 15: Magnum - A new OpenStack API for Containers -

PaaSに関係ありそうな今後実装予定の機能

• ローカルにDocker Registryを作成

• WebUIからMagnumを操作 今のところこれくらいしかないかな…

https://blueprints.launchpad.net/magnum

いわゆるPaaSを目指しているわけではなさそう。 コードからデプロイしたければ、Git、CIサーバ等が別途必要。 OpenStackリソースの新たな選択肢としてコンテナ(というかDocker)が増えたという認識が正しいのかもしれない。

Page 16: Magnum - A new OpenStack API for Containers -

デモ: マルチノードRedis

kube-master

kube-minion kube-minion

redis-master

redis-sentinel

redis-slave

redis-sentinel

https://github.com/openstack/magnum/blob/master/doc/source/dev/dev-quickstart.rst

Replication Contorlooer

Replication Contorlooer

Service

Page 17: Magnum - A new OpenStack API for Containers -

Magnumを動かしてみたい方へ

• Devstackで簡単にインストール可能

• local.conf

• https://gist.github.com/tktk8924/a9580840db0865246414

• HOST_IPだけ修正

• ubuntu14.04 LTS で動確済み

Page 18: Magnum - A new OpenStack API for Containers -

まとめ

• Magnumはコンテナオーケストレーション(クラスタリング)エンジンを利用可能にするOpenStack API

• テナントごとの専用コンテナクラスタが簡単に作成できる

• VM、BareMetalに加え、コンテナという選択肢をOpenStackユーザに提供する

• いわゆるPaaSを作るためのものではない…っぽい(今後も要調査)

Page 19: Magnum - A new OpenStack API for Containers -

参考資料

• https://wiki.openstack.org/wiki/Magnum

• https://github.com/openstack/magnum/blob/master/specs/containers-service.rst

• https://github.com/openstack/magnum/blob/master/doc/source/dev/dev-quickstart.rst

• https://blueprints.launchpad.net/magnum