yahoo! japan meetup #8 (インフラ技術カンファレンス)lt②
TRANSCRIPT
![Page 1: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/1.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
OpenStack関連セッション
1
OpenStack Summit Barcelona 2016 参加報告
神尾皓 立見祐介
Ansibleによるおっちょこちょいの運用自動化
高橋拓也
4年間、OpenStackをデプロイしてみた(ry
北田駿也
OpenStack on Kubernetes
木下裕太
![Page 2: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/2.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
2017年1月30日
2
クラウドオペレーション 北田 駿也(27)
4年間、OpenStackのデプロイをしてみたので、
今までのデプロイ方法の移り変わりや、
苦労、教訓、など軽く話す(LT)。
![Page 3: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/3.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
目次
3
• 基礎知識編: OpenStackとは?
• OpenStack 1年目: 手動デプロイ、途中からコンピュートノードのChef化
• OpenStack 2年目: コントローラ群のChef化、だがしかし、、
• OpenStack 3年目: コントローラ群のAnsible化、だがしかし、、
• OpenStack 4年目: コントローラ群のChef化再び
• OpenStack 今年: Kubernetes化
![Page 4: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/4.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
基礎知識編: OpenStack
とは?
![Page 5: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/5.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
OpenStackとは?
= OSS= IaaSを提供するマイクロサービス群= ヤフーのプライベートクラウド
![Page 6: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/6.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
1クラスタ
コンピュートノード群 サーバ50 ~ 500台コントローラ群 サーバ6~50台
コンピュートノード
OpenStackをデプロイするということ
66
認証サービス
ディスクイメージサービス
ネットワークサービス コンピュートサービス
ダッシュボード
ボリュームサービス
ダッシュボード
認証サービス
ディスクイメージサービス
ネットワークサービス コンピュートサービス
ボリュームサービス
データベースデータベース
メッセージングサービスメッセージングサービス
コンピュートノードコンピュートノードコンピュートノードコンピュートノードコンピュートノード
Virtual MachineVirtual Machine
Virtual MachineVirtual Machine
Virtual Machine
etcetc
![Page 7: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/7.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
1クラスタ
コンピュートノード群 サーバ50 ~ 500台コントローラ群 サーバ6~50台
コンピュートノード
OpenStackをデプロイするということ
77
認証サービス
ディスクイメージサービス
ネットワークサービス コンピュートサービス
ダッシュボード
ボリュームサービス
ダッシュボード
認証サービス
ディスクイメージサービス
ネットワークサービス コンピュートサービス
ボリュームサービス
データベースデータベース
メッセージングサービスメッセージングサービス
コンピュートノードコンピュートノードコンピュートノードコンピュートノードコンピュートノード
Virtual MachineVirtual Machine
Virtual MachineVirtual Machine
Virtual Machine
etcetc
これら全てのサーバに、パッケージインストール、設定ファイル配置、デーモン起動、カーネル設定、監視設定などを行う
![Page 8: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/8.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
利用しているデプロイツール
• 手• なんでもできる万能ツール• 心を込めて各サーバをセットアップする事ができる
• Chef• 各サーバの構成情報はChefサーバに集約される• 各サーバはその構成情報に従ってセットアップされる
• Ansible• 各サーバの構成情報は手元ファイルで管理される• SSHごしに各サーバのセットアップやオペレートができる
8
![Page 9: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/9.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
OpenStack 1年目
手動デプロイ、途中からコンピュートノードのChef化
![Page 10: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/10.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
OpenStackの手動デプロイ
コントローラ群: 10台程度
ー>熟練の人なら余裕
コンピュートノード群: 数百台
ー>みんなでがんばって構築。。。10
![Page 11: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/11.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
OpenStackの手動デプロイ
コントローラ群: 10台程度
ー>熟練の人なら余裕
コンピュートノード群: 数百台
ー>みんなでがんばって構築。。。11
Chef (チラッ
![Page 12: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/12.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
コンピュートノードのChef化
12
ChefServer
Keystone
Glance
Cinder
Neutron
Nova
Horizon
ChefWorkstation
ComputeCompute
ComputeCompute
ComputeCompute
Compute
その他クラスタ
その他クラスタ
CookbookやRole設定をアップロード
Chefでセットアップ
オペレータ
手動でセットアップ
![Page 13: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/13.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
1年目の教訓
• 手動デプロイ• 再現性がなく、作成者によって品質がマチマチ
• 心がこもるが、さばける台数に限界がある
• Chefでデプロイ• 再現性があり、誰でもデプロイ可能• 大量のサーバを簡単にデプロイ
13
![Page 14: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/14.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
OpenStack 2年目
コントローラ群のChef化、だがしかし、、
![Page 15: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/15.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
コントローラ群のChef化
全コンポーネントのパッケージ、設定ファイルをChefで配置できるようになった!
15
![Page 16: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/16.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
コントローラ群のChef化
16
ChefServer
Keystone
Glance
Cinder
Neutron
Nova
Horizon
ChefWorkstation
ComputeCompute
ComputeCompute
ComputeCompute
Compute
その他クラスタ
その他クラスタ
CookbookやRole設定をアップロード
Chefでセットアップ
オペレータ
コントローラ群のChef化
![Page 17: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/17.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
だがしかし、、
1. Chefでデプロイしたサービスが動かない1. コンポーネントが多く、設定すべき変数やロール
も多く複雑化していた2. 複雑性が手動とたいして変わらない
2. 手動で動くところまで修正するはめに
3. 最終的に手動デプロイに落ち着いた。。
17
![Page 18: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/18.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
2年目の教訓
• マイクロサービス群をChefでデプロイするのは大変• デプロイ対象の種類が多く、設定すべきRole、設定値も増えデプロイ方法が複雑化してしまった。
• 複雑化したデプロイフローは流行らない• デプロイフローも定義できると楽そう
18
![Page 19: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/19.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
2年目の教訓
• マイクロサービス群をChefでデプロイするのは大変• デプロイ対象の種類が多く、設定すべきRole、設定値も増えデプロイ方法が複雑化してしまった。
• 複雑化したデプロイフローは流行らない• デプロイフローも定義できると楽そう
19
Ansible (チラッ
![Page 20: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/20.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
OpenStack 3年目
コントローラ群のAnsible化、だがしかし、、
![Page 21: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/21.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
コントローラ群のAnsible化
21
ChefServer
Keystone
Glance
Cinder
Neutron
Nova
Horizon
ChefWorkstation
ComputeCompute
ComputeCompute
ComputeCompute
Compute
その他クラスタ
その他クラスタ
CookbookやRole設定をアップロード
Chefでセットアップ
オペレータ
コントローラ群のAnsible化
![Page 22: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/22.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
だがしかし、、、
1. Ansibleで設定を巻いた後に、手動で変更を加えられることが何度かあった。。次のAnsible実行時まで気づず、そのまま上書きされることも。。
2. Ansibleの実行忘れで、設定の反映漏れが何度か。。
22
![Page 23: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/23.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
3年目の教訓
• Ansibleでデプロイフローを制御• マイクロサービス群でもデプロイが簡単
• しかし、Ansibleを実行するのは人なので、• 実行し忘れによる変更漏れや、• 古い変更のデプロイなど、が発生
• デプロイはすべて自動化すべき
23
![Page 24: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/24.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
3年目の教訓
• Ansibleでデプロイフローを制御• マイクロサービス群でもデプロイが簡単
• しかし、Ansibleを実行するのは人なので、• 実行し忘れによる変更漏れや、• 古い変更のデプロイなど、が発生
• デプロイはすべて自動化すべき
24
Chef (チラッ
![Page 25: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/25.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
OpenStack 4年目
コントローラ群のChef化再び
![Page 26: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/26.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
すべてをChef化し、定期デプロイへ
2626
ChefServer
Keystone
Glance
Cinder
Neutron
Nova
Horizon
ComputeCompute
ComputeCompute
ComputeCompute
Compute
その他クラスタ
その他クラスタ
GithubにPushされたCookbookやRoleを自動アップロード
初回デプロイ後は、定期的にデプロイされる
オペレータ
Github
Jenkins
ステージング
定期的なテスト
![Page 27: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/27.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
Chef Before(2年前) After(現在)
Role, CookBookの設計思想が変わった!
Before• 各マイクロサービスに対してそれぞれのRoleを定義
• 変数もそれぞれのRoleで細かく定義
• > 設定が複雑化
After• 1クラスタに対して1Roleを定義 (AnsibleのInventryFileに近い)
• 変数はなるべく自動生成
• > 設定が簡略化
27
![Page 28: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/28.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
4年目の教訓
• すべてをChef化し、定期デプロイ• 初回デプロイは少し大変• その後の変更はGithubにPushしたら、自動でデプロイされるので楽
28
![Page 29: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/29.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
まとめ
![Page 30: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/30.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
デプロイツール・まとめ
• 手• なんでもできる万能ツール(人によってまちまち)• デプロイできる台数に限界がある
• Chef• 初回デプロイは少し大変• 初回デプロイ後の変更は自動化できる
• Ansible• デプロイフローを組み立てられる• 実行し忘れや、実行間違いが怖い
30
![Page 31: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/31.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
4年間の教訓・まとめ
31
デプロイを自動化すると楽!
![Page 32: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/32.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
4年間の教訓・まとめ
32
デプロイを自動化すると楽!
現在のデプロイ規模: 65000VM on 40クラスタ
= 1900 コントローラノード
+ 5200 コンピュートノード
を20人で運用
![Page 33: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/33.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
OpenStack 今年
Kubernetes化 つづく
![Page 34: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/34.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
ご清聴ありがとうございました!
34
• 基礎知識編: OpenStackとは?
• OpenStack 1年目: 手動デプロイ、途中からコンピュートノードのChef化
• OpenStack 2年目: コントローラ群のChef化、だがしかし、、
• OpenStack 3年目: コントローラ群のAnsible化、だがしかし、、
• OpenStack 4年目: コントローラ群のChef化再び
• OpenStack 今年: Kubernetes化
![Page 35: Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT②](https://reader031.vdocuments.net/reader031/viewer/2022030214/589979531a28ab49478b88f9/html5/thumbnails/35.jpg)
Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
ありがとうございました!