Upload
yahoo
View
505
Download
1
Embed Size (px)
Citation preview
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
OpenStack関連セッション
1
OpenStack Summit Barcelona 2016 参加報告
神尾皓 立見祐介
Ansibleによるおっちょこちょいの運用自動化
高橋拓也
4年間、OpenStackをデプロイしてみた
北田駿也
OpenStack on Kubernetes
木下裕太
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
2017年1月30日
2
インフラ技術1部 クラウドイノベーション 木下裕太(26)
OpenStack on Kubernetes
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
デプロイの苦痛からの解放
OpenStack(大規模マイクロサービス)のデプロイの問題は
roleを1つに集約したchefによって解決した!
3
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
デプロイは一瞬 オペレーションは一生
しかし…
デプロイ オペレーション
4
process死んだcontroller VM downcontroller VM の HV down
chatお電話
VMの再起動筐体の調査OpenStackの健全性確認…etc
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
デプロイは一瞬 オペレーションは一生
しかし…
デプロイ オペレーション
5
process死んだcontroller VM downcontroller VM の HV down
chatお電話
VMの再起動筐体の調査OpenStackの健全性確認…etc
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
デプロイは一瞬 オペレーションは一生
しかし…
デプロイ オペレーション
6
process死んだcontroller VM downcontroller VM の HV down
chatお電話
VMの再起動筐体の調査OpenStackの健全性確認…etc
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
オペレーションなんとかしたい
OpenStackの運用をなんとかしたい
人間じゃなくて自動で管理させたい
OpenStackはマイクロサービス
マイクロサービスといえば…
7
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
オーケストレーション
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
OpenStack on Kubernetes
Kubernetes上でOpenStackのコンポーネントを稼動させること
9
nova
horizon
cinder
node-01 node-02 node-03
オーケストレーション
コンテナ
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
OpenStack on Kubernetes
なぜKubernetes上でOpenStackを動かすのか?
• 自動フェイルオーバ(多少のnodeダウンは影響無)
• Blue/Green デプロイメント
• コンテナ化によりホストOSや他パッケージとの依存から解放
Yahoo! JAPANでは特に
• 大規模クラスタにおいて柔軟なコントローラ群を実現
• 社内システムと連携するツールやバッチ処理もKubernetesで
10
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
実際どうやるっていうのよ
Kubernetesが良いことはわかったが…
どうやってOpenStackをデプロイするのか?
11
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
デプロイの苦しみを繰り返さない
Y!Jには4年間のデプロイの熱い歴史が…
• 手動
• 手動 + chef
• ansible + chef
• chef
12
過去の経験を踏まえると…
手動や管理できないツールは使えない
computeとcontrollerを同じ手法で管理するのが望ましい
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
パッケージマネージャ
これでOpenStackをデプロイする
13
Helm
Kubernetesにおけるパッケージマネージャ
helmコマンド → yumコマンドに相当
chart(ファイル) → rpmパッケージに相当
詳細: https://helm.sh/
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
How to deploy OpenStack
互いに疎通が可能なマシンをならべておく
14
マシン (物理/仮想) マシン (物理/仮想) マシン (物理/仮想) マシン (物理/仮想)
controller用 compute用
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
How to deploy OpenStack
chefによるprovisioning
15
マシン (物理/仮想)
Kubernetes-node
マシン (物理/仮想)
Kubernetes-node
マシン (物理/仮想)
Kubernetes-
node
libvirtd
qemu
マシン (物理/仮想)
Kubernetes-
node
libvirtd
qemu
recipe• kubernetes-master• kubernetes-node• etcd• kvm• その他…
controller用 compute用
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
How to deploy OpenStack
helmによるOpenStackのdeploy
16
マシン (物理/仮想)
Kubernetes-node
マシン (物理/仮想)
Kubernetes-node
マシン (物理/仮想)
Kubernetes-
node
glance
nova
keystone
libvirtd
qemu
nova-
compute
neturon-
agent
neutron
horizon
cinder
マシン (物理/仮想)
Kubernetes-
node
libvirtd
qemu
nova-
compute
neturon-
agent
chart• configmap (各componentのconfを一元管理)• nova, netron, horizon…etc
controller用 compute用
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
実環境
17
k8s-ctl01 k8s-ctl02 k8s-node01 k8s-node02 k8s-node03 k8s-node04 k8s-ing01 k8s-ing02 kvm001 kvm002
L4バランサ(HAProxy)
keystonenova
horizon computeRabbitMQ
k8smaster
k8smaster
https://horizon
https://horizon
L7バランサSSL終端
http://horizon computeその他
DB (MySQL)
LibvirtQEMU
LibvirtQEMU
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
デモ (実環境をお見せします)
* Kubernetesのnodeをdownさせる
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
OpenStack on Kubernetes
やってて感じてること (懸念点)
• OpenStack も Kubernetes も運用するの?
• 動かすまでがすごい大変
• Kubernetesのバージョンアップどうする?
19
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
OpenStack on Kubernetes
やってて感じてること (懸念点)
• OpenStack も Kubernetes も運用するの?
• 動かすまでがすごい大変
• Kubernetesのバージョンアップどうする?
でも、運用負荷は下がりそう!!!
20
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
今後
OSSの導入検討* kolla-kubernetes
Kubernetesと連携するツール群の開発* イベントをwatchして何かを行う
CI/CD pipelineの整備
などなど…
21
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
おしまい