More Related Content
Similar to OpenStack & Container (20)
OpenStack & Container
- 1. Copyright©2017 NTT Corp. All Rights Reserved.
⽇日本OpenStackユーザ会 第36回勉強会
OpenStack と コンテナ
⽇日本電信電話株式会社
ソフトウェアイノベーションセンタ
伊藤 広樹
- 2. Copyright©2017 NTT Corp. All Rights Reserved. 2
n OpenStackとコンテナの周辺状況
n OpenStackにおけるコンテナ連携パターン
n コンテナ関連プロジェクト紹介
n まとめ
- 4. Copyright©2017 NTT Corp. All Rights Reserved. 4
OpenStack User Survey Apr. 2017
Q. 興味を持っている最新技術は? (n=981)
https://www.openstack.org/assets/survey/April2017SurveyReport.pdf
コンテナに興味を持っている
OpenStackユーザが
2016年年4⽉月の調査から 5% up
- 5. Copyright©2017 NTT Corp. All Rights Reserved. 5
OpenStack User Survey Apr. 2017
Q. OpenStack上のアプリ管理理にどういった
コンテナ/PaaS技術を使っている? (n=192)
https://www.openstack.org/assets/survey/April2017SurveyReport.pdf
- 6. Copyright©2017 NTT Corp. All Rights Reserved. 6
Kubernetes
l コンテナのオーケストレーションツール
l コンテナのライフサイクル管理理機能を提供
- 複数ホスト上へのコンテナのスケジューリング
- コンテナのオートスケール
- コンテナのオートヒーリング
- コンテナへのアクセス負荷分散
2017/10
-‐‑‒ DockerがオーケストレーションツールとしてKubernetesを正式サポート
-‐‑‒ SwarmとKubernetesから選択可能になった
- 8. Copyright©2017 NTT Corp. All Rights Reserved. 8
OpenStackとコンテナの連携パターン
n コンテナ on OpenStack
l VMと同じようにコンテナを使いたい
l コンテナ管理理クラスタの構築・管理理を簡単に⾏行行いたい
n OpenStack on コンテナ
l OpenStack環境の構築を効率率率化したい
l OpenStack環境のDay 2 operationを効率率率化したい
- 9. Copyright©2017 NTT Corp. All Rights Reserved. 9
Kubernetes連携に関する議論論の場
l OpenStackとKubernetesのコミュニティに
お互いのSpecial Interest Group (SIG)が作られている
- OpenStackコミュニティ側: sig-‐‑‒k8s
- Kubernetesコミュニティ側: sig-‐‑‒openstack
l 双⽅方のコミュニティでGapを埋めるための議論論が⾏行行われている
- 11. Copyright©2017 NTT Corp. All Rights Reserved. 11
Magnum
n プロジェクトスコープ
l Container Orchestration Engine(COE)の構築・管理理
n 概要
l GKE相当のものをOpenStackで実現できる
l NovaのVMを使ってコンテナ管理理⽤用クラスタを構築
l Kubernetes, Swarm, Mesosのクラスタを構築可能
- 12. Copyright©2017 NTT Corp. All Rights Reserved. 12
Magnum:アーキテクチャ
Magnumクライアント
コンテナ管理理クラスタの
Heatテンプレート
ハイパーバイザ
VM VM VM
コンテナ管理理クラスタ or or
COEクライアント (docker, kubectl, mesos)
l NovaでVM, NeutronでバックエンドNW,
Cinderでバックエンドストレージを準備
l コンテナ管理理は各COEの役割. Magnumの管轄外
- 13. Copyright©2017 NTT Corp. All Rights Reserved. 13
Zun
n プロジェクトスコープ
l コンテナのライフサイクル管理理
n 概要
l Magnumからスピンオフしたプロジェクト
l NovaがVMを管理理するように, Zunを通してコンテナを管理理するこ
とを⽬目指している.
l Pike版ではコンテナエンジンとしてDockerをサポートしている
- 14. Copyright©2017 NTT Corp. All Rights Reserved. 14
Zun:アーキテクチャ
Zunクライアント
zun-‐‑‒api
ハイパーバイザ
zun-‐‑‒compute
l Keystoneによるユーザ認証
l NeutronのNW, Cinderのボリュームを
コンテナから利利⽤用可能(後述:Kuryr, Fuxi)
l コンテナイメージをGlanceで管理理可能
- 15. Copyright©2017 NTT Corp. All Rights Reserved. 15
n プロジェクトスコープ
l OpenStackのネットワークサービスをコンテナで利利⽤用可能にする
n 概要
l コンテナネットワークにNeutronを使うためのライブラリを提供
l Magnumで作成したCOEや, Zunで作成したコンテナを
Neutronのネットワークに接続できる
l kuryr-‐‑‒libnetworkとkuryr-‐‑‒kubernetesの開発が進められている
Kuryr
- 16. Copyright©2017 NTT Corp. All Rights Reserved. 16
Kuryr:アーキテクチャ
kuryr-‐‑‒libnetworkの動作概要
1. libnetworkのドライバとしてKuryrを指定する
2. Kuryrを通してNeutronのAPIが呼ばれ, コンテナネットワークが作成される
3. kuryrを通してlibnetworkに作成されたネットワークの情報が渡される
libnetwork
Neutron
バックエンド
libnetworkのdriver
としてKuryrを指定
- 17. Copyright©2017 NTT Corp. All Rights Reserved. 17
n プロジェクトスコープ
l OpenStackのストレージサービスをコンテナで利利⽤用可能にする
n 概要
l コンテナの永続ストレージにCinderやManilaを使うための
ライブラリを提供
l Kuryrのサブプロジェクトになっている
l Pike版ではDockerコンテナの永続ストレージにCinderやManilaを
利利⽤用するための仕組みを提供
l Queens版でKubernetesのPVにも利利⽤用出来るようにする予定
Fuxi
- 18. Copyright©2017 NTT Corp. All Rights Reserved. 18
Fuxi:アーキテクチャ
1. dockerのremote volume driverとしてFuxiを利利⽤用する
2. Fuxiを通してCinder or ManilaのAPIが呼ばれ, 永続ボリュームが作成される
3. Fuxiを通してdockerに作成された永続ボリュームの情報が渡される
Cinder or Manila
バックエンド
Fuxi
or
ボリューム NFS
remote storage driver
としてFuxiを指定
- 19. Copyright©2017 NTT Corp. All Rights Reserved. 19
Stackube
n プロジェクトスコープ
l Kubernetes-‐‑‒centricなOpenStack環境を提供
n 概要
l OpenStackの各サービスでKubernetesを補強しているイメージ
l Keystoneを使ってKubernetesをマルチテナント化
l Neutronのネットワーク, CinderのボリュームをKubernetesで利利⽤用
l HyperHQ社が中⼼心になって開発を進めているが,
あまり活発ではない様⼦子...
- 20. Copyright©2017 NTT Corp. All Rights Reserved. 20
Stackube:アーキテクチャ
https://stackube.readthedocs.io/en/latest/architecture.html
l 今のところKuryrやFuxiは使っていないが, 連携していく様⼦子
l コンテナランタイムとして, DockerとHyperを利利⽤用出来る
- 22. Copyright©2017 NTT Corp. All Rights Reserved. 22
OpenStack-‐‑‒Ansible
n プロジェクトスコープ
l OpenStack環境構築のためのAnsible playbookの提供
n 概要
l LXCを使いOpenStackとバックエンドサービスをコンテナ化
l Ansibleによる環境構築⾃自動化
+ LXCによるプロセス動作環境のパッケージング
- 23. Copyright©2017 NTT Corp. All Rights Reserved. 23
Kolla
n プロジェクトスコープ
l OpenStackのコンテナイメージとデプロイツールの提供
n 概要
l 各OpenStackコンポーネントのDockerコンテナイメージを作成
l OpenStackのコンフィギュレーションにAnsibleを利利⽤用
l AnsibleかKubernetes(Helm)で各コンテナをデプロイ
- 24. Copyright©2017 NTT Corp. All Rights Reserved. 24
Kolla
3つのプロジェクトが存在
l kolla: OpenStackのDockerイメージのビルド
l kolla-‐‑‒ansible: 各コンポーネントの設定, AnsibleによるKollaイメージデプロイ
l kolla-‐‑‒kubernetes: Kubernetesクラスタ上へのKollaイメージデプロイ
kolla kolla-‐‑‒ansible
kolla-‐‑‒kubernetes
コンテナイメージ
のビルド
コンテナイメージ
OpenStack
OpenStackコンフィギュレーション
- 25. Copyright©2017 NTT Corp. All Rights Reserved. 25
OpenStack-‐‑‒Helm
n プロジェクトスコープ
l OpenStackのHelmパッケージを提供
n 概要
l Helm: Kubernetesのパッケージマネージャ
l Helmのネイティブな機能を使ってOpenStackのデプロイ,
コンフィギュレーションする
l Kolla, Stackanetesなどのコンテナイメージを利利⽤用可能
l 2017/10 公式プロジェクト化された
- 26. Copyright©2017 NTT Corp. All Rights Reserved. 26
OpenStack-‐‑‒Helm
openstack-‐‑‒helm
Chartから
Helmパッケージを作成
レポジトリにpush
Helmパッケージ
OpenStack
Helmパッケージから
Pod, Service, ConfigMap等を作成
コンテナイメージ
・KollaやStackanetesの
イメージを利利⽤用可能
- 27. Copyright©2017 NTT Corp. All Rights Reserved. 27
TripleO
n プロジェクトスコープ
l OpenStack上でのOpenStack環境構築・管理理
n 概要
l Over CloudをKollaのコンテナを利利⽤用して構築可能
(Queens版以降降はdefaultになる)
l Pike版からはUnder CloudもKollaのコンテナを使いデプロイ可能
- 28. Copyright©2017 NTT Corp. All Rights Reserved. 28
OpenStack on コンテナの利利⽤用状況
Q. OpenStackのデプロイ/設定管理理に利利⽤用しているツールは?
https://www.openstack.org/assets/survey/April2017SurveyReport.pdf
(n=408)
2017年年度度調査より
新たに追加
- 30. Copyright©2017 NTT Corp. All Rights Reserved. 30
まとめ
l OpenStack上でコンテナを管理理するだけではなく,
KuryrやFuxiのようにOpenStackの機能をコンテナ側から使う
ための機能実装も進んでいる
l OpenStack on コンテナは, 少しづつではあるがProduction導⼊入が
進んできている
l コンテナ技術の中でも, Kubernetesとの連携を強めている印象
- 前回のSummitではどこもかしこもKubernetesだった
- 双⽅方のプロジェクトにSIGができ, 議論論が⾏行行われている