magnum - a new openstack api for containers -

Post on 16-Apr-2017

2.145 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Magnum A new OpenStack API for Containers

自己紹介

金子�雄大(@tktk8924)

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

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

日本酒が大好きです

本日の内容

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

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

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

使ってますか??

使ってますか??

Magnum

on

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

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

! "

Tenant A Tenant B

Tenant C

Magnum API

! "

! "

デモ: Kubernetesクラスタ作成

アーキテクチャ

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

Magnum API リソース

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

の影響大

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作成

Magnum APIでできること

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

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

• Kubernetes/Swarmクラスタの構築

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

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

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

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

• ユーザ認証、権限管理

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

• コードからのデプロイ

• ロギング

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

• コンテナの管理

• コンテナの実行

○␣

○␣

○␣

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

• ローカルにDocker Registryを作成

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

https://blueprints.launchpad.net/magnum

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

デモ: マルチノード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

Magnumを動かしてみたい方へ

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

• local.conf

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

• HOST_IPだけ修正

• ubuntu14.04 LTS で動確済み

まとめ

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

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

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

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

参考資料

• 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

top related