Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
ハイパースケールアーキテクチャ
2016/7/28
YJ America
Norifumi Matsuya
OCP, Kubernetes
導入への道のり
会社紹介
74%
Yahoo! JAPAN
日本のデータセンタ総コスト
電気代
Yahoo! JAPAN
日本のデータセンタ総コスト
26%
74%
電気代 26%
74%
しかも
日本の電気代は
上昇傾向
Yahoo! JAPAN
日本のデータセンタ総コスト
電気代が安い
アメリカ
らしい
経済産業省 エネルギー白書 2015 (http://www.enecho.meti.go.jp/about/whitepaper/2015gaiyou/whitepaper2015pdf_h26_nenji.pdf)
米国における電気料金事情...
• 2014年10月にYahoo! JAPANの米国現地法人を設立
• 既設のデータセンタを購入し、
2015年4月ワシントン州データセンタの稼働
• 組織
• カリフォルニア州 5名(ビジネス+ビックデータ)
• ワシントン州 4名(インフラ...
• 2014年10月にYahoo! JAPANの米国現地法人を設立
• 既設のデータセンタを購入し、
2015年4月ワシントン州データセンタの稼働
• 組織
• カリフォルニア州 5名(ビジネス+ビックデータ)
• ワシントン州 4名(インフラ...
19
19OpenStack プロジェクト数
19+α+サテライトプロジェクト多数。。
プロジェクト調査工数膨大
各プロジェクトの設定項目も
複雑化
加えて
インフラ設計も。。
選択肢が多すぎるの
も困りもの
今日のシステムは
が難しい
アーキテクチャ設計
YJ America
アーキテクチャ設計思想
ワレワレハ◯◯デアル
少人数3名
+
赴任期間がある
赴任期間がある
期間内に成果
まだまだ未熟
まだまだ未熟
0から
始めるのは
難しい
に注目
スケールアウトモデルのため
構造がシンプル
導入が比較的簡単
スケールアウトモデルのため
構造がシンプル
牽引しているOSSプロジェクトの
普及に力を入れている
導入時、キーマンか
ら話を聞きやすい
牽引しているOSSプロジェクトの
普及に力を入れている
大規模での稼働実績がある
導入後に発生する
課題を解決済み
大規模での稼働実績がある
Hadoopインフラ設計
アーキテクチャ設計事例❶
課題再確認
少人数3名
運用大変
データセンタが古い
電力不足
見積書
見積書 価格一般化
A社
B社
あいみつの限界
Open Compute Project
• Facebookが2011年にサーバなどのハード
ウェアの設計図や仕様のオープンソース化を推進
する非営利組織として発足したコミュニティ
• 現在は150社以上が加盟
メンテナンスは前
面から
メンテナンスは前
面から
25,000台/1名
パーツ交換15分
電源ケーブル無
電源ケーブル無
オペミス0
ラック内で集中電
源管理
ラック内で集中電
源管理
高効率給電
購入可能なサーバで
世界一の稼働実績
Hadoopサーバ
OCPと従来構成の
サーバを半々で購入
White box
switch
メーカー
Switch
OCP
Server
メーカー
Server
OCP構成の問題が圧倒的に少な
かった。Facebookと同構成を使
用したため...
Chassis
MB
CPU Memory Disk CardOEM/ODM
調達方式の変化
価格低減の選択肢が広がる
サーバ毎ではなくパーツ毎で在
庫保持可能
コンテナ環境の構築
アーキテクチャ設計事例❷
コンテナ環境は必須
オーケストレータは?
参考: Kubernetes on OpenStack at eBay, Aswin Nair, eBay (https://www.youtube.com/watch?v=l5HpUNhpKwU)
OpenStack Day Seattle ...
eBayがOpenStackと
Kubernetesを連携
参考: Kubernetes on OpenStack at eBay, Aswin Nair, eBay (https://www.youtube.com/watch?v=l5HpU...
そのBorg開発者がKubernetes
を開発している
Google Borg
10年以上稼働のGoogleのコンテナシステム
2billion/week launch
参考: Large-scale cluster management a...
そのBorg開発者がKubernetes
を開発している
Google Borg
10年以上稼働のGoogleのコンテナシステム
2billion/week launch
参考: Large-scale cluster management a...
Kubernetesを導入
プロセスを増やすと非効
率になりがち
Code Control
Image Creation
Deploy to Platform
リリースプロセス
プロセスを増やすと非効
率になりがち
リリースプロセスの
標準化も一緒に考える
Code Control
Image Creation
Deploy to Platform
リリースプロセス
非効率にしない
Appコードは1つで3つ
の環境にdeployするよう
にTool chainは統一
Image creationCode control Deployment Platform
Bare Metal & VM
Container
Image creationCode control Deployment Platform
Bare Metal & VM
Container
本日はコンテナ向け
Tool chainの説明
Code Code
Management
Instance Authentication
Persistent
Volume
Container
Engine
Container Cluster
Manager
Container
Networ...
Image creationCode control Deployment Platform
Bare Metal & VM
Container
Container Image creation flow
最初に実行イメージを自
動で作成、その...
Master
Slave
Service Job
Dockerfile
repository Build.sh
docker
build
Docker
image
Dcoker
image
Docker HUB
New
Docker
image...
Image creationCode control Deployment Platform
Bare Metal & VM
Container
次に実行イメージの
deploy先である、
Kubernetesの説明
Kubernetes Ar...
VM
KubernetesMaster
VM
Keystone
Cinder
VM
etcd proxy kubelet
kube proxy
Pod
App
App App
Pod
App
App
Pod
App
App App
Pod
Ap...
VM
Kubernetes Master
VM
Loadbalancer Node
VM
Pod
App
App
Kubernetes Node
VM
Pod
App
Kubernetes Node
Pod
App
App
iBGP
iBGP ...
192.168.0.0/24
ClusterIP: 10.0.0.100
200.0.0.100
Src address Dst address
① 200.0.0.100 10.0.0.100
② 172.16.0.100 192.168.0...
Docker registry
Jenkins Master
Launch Jenkins slave Pod
and run command
hook
Upload Artifactory
pull repository
issue trac...
APP
Openstack Cluster #1
for Datacenter A
Glance
CI support Kubernetes Cluster
push
OpenStack
Admin
qcow2
Image
Teraform
P...
まとめ
• 限られたリソースでは割り切りが必要で、ハイパー
スケールアーキテクチャは強力な選択肢となり得
る
• 自社特有の未解決の問題にリソースをつぎ込む
• 世界基準のアーキテクチャやアーキテクトと仕事す
るのは何よりも楽しい
Techblogにも公開しています
- Kubernetes
http://techblog.yahoo.co.jp/infrastructure/os_n_k8s/
- Open Compute Project
http://techblog...
Upcoming SlideShare
Loading in …5
×

OCP, Kubernetes ハイパースケールアーキテクチャ 導入の道のり - OpenStack最新情報セミナー(2016年7月)

5,671 views

Published on

OCP, Kubernetes ハイパースケールアーキテクチャ 導入の道のり - OpenStack最新情報セミナー(2016年7月)
講師:松谷 憲文(YJ America)
アジェンダ:
- 会社紹介
- YJ America アーキテクチャ設計思想
--- 事例1. Hadoopインフラ設計
--- 事例2. コンテナ環境の構築
- まとめ

Published in: Technology
  • Follow the link, new dating source: ♥♥♥ http://bit.ly/2Qu6Caa ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating direct: ❶❶❶ http://bit.ly/2Qu6Caa ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

OCP, Kubernetes ハイパースケールアーキテクチャ 導入の道のり - OpenStack最新情報セミナー(2016年7月)

  1. 1. ハイパースケールアーキテクチャ 2016/7/28 YJ America Norifumi Matsuya OCP, Kubernetes 導入への道のり
  2. 2. 会社紹介
  3. 3. 74% Yahoo! JAPAN 日本のデータセンタ総コスト
  4. 4. 電気代 Yahoo! JAPAN 日本のデータセンタ総コスト 26% 74%
  5. 5. 電気代 26% 74% しかも 日本の電気代は 上昇傾向 Yahoo! JAPAN 日本のデータセンタ総コスト
  6. 6. 電気代が安い アメリカ らしい
  7. 7. 経済産業省 エネルギー白書 2015 (http://www.enecho.meti.go.jp/about/whitepaper/2015gaiyou/whitepaper2015pdf_h26_nenji.pdf) 米国における電気料金事情 参考: Map of average US residential electricity price by utility service territory (http://en.openei.org/wiki/File:2012_12_14_Electricity_Price-01.jpg) データセンタ総コスト 約22%減を試算
  8. 8. • 2014年10月にYahoo! JAPANの米国現地法人を設立 • 既設のデータセンタを購入し、 2015年4月ワシントン州データセンタの稼働 • 組織 • カリフォルニア州 5名(ビジネス+ビックデータ) • ワシントン州 4名(インフラ+アドミン)
  9. 9. • 2014年10月にYahoo! JAPANの米国現地法人を設立 • 既設のデータセンタを購入し、 2015年4月ワシントン州データセンタの稼働 • 組織 • カリフォルニア州 5名(ビジネス+ビックデータ) • ワシントン州 4名(インフラ+アドミン) 自分はこちらのチーム
  10. 10. 19
  11. 11. 19OpenStack プロジェクト数
  12. 12. 19+α+サテライトプロジェクト多数。。
  13. 13. プロジェクト調査工数膨大
  14. 14. 各プロジェクトの設定項目も 複雑化
  15. 15. 加えて インフラ設計も。。
  16. 16. 選択肢が多すぎるの も困りもの
  17. 17. 今日のシステムは が難しい アーキテクチャ設計
  18. 18. YJ America アーキテクチャ設計思想
  19. 19. ワレワレハ◯◯デアル
  20. 20. 少人数3名 +
  21. 21. 赴任期間がある
  22. 22. 赴任期間がある 期間内に成果
  23. 23. まだまだ未熟
  24. 24. まだまだ未熟 0から 始めるのは 難しい
  25. 25. に注目
  26. 26. スケールアウトモデルのため 構造がシンプル
  27. 27. 導入が比較的簡単 スケールアウトモデルのため 構造がシンプル
  28. 28. 牽引しているOSSプロジェクトの 普及に力を入れている
  29. 29. 導入時、キーマンか ら話を聞きやすい 牽引しているOSSプロジェクトの 普及に力を入れている
  30. 30. 大規模での稼働実績がある
  31. 31. 導入後に発生する 課題を解決済み 大規模での稼働実績がある
  32. 32. Hadoopインフラ設計 アーキテクチャ設計事例❶
  33. 33. 課題再確認
  34. 34. 少人数3名 運用大変
  35. 35. データセンタが古い 電力不足
  36. 36. 見積書 見積書 価格一般化 A社 B社 あいみつの限界
  37. 37. Open Compute Project • Facebookが2011年にサーバなどのハード ウェアの設計図や仕様のオープンソース化を推進 する非営利組織として発足したコミュニティ • 現在は150社以上が加盟
  38. 38. メンテナンスは前 面から
  39. 39. メンテナンスは前 面から 25,000台/1名 パーツ交換15分
  40. 40. 電源ケーブル無
  41. 41. 電源ケーブル無 オペミス0
  42. 42. ラック内で集中電 源管理
  43. 43. ラック内で集中電 源管理 高効率給電
  44. 44. 購入可能なサーバで 世界一の稼働実績
  45. 45. Hadoopサーバ OCPと従来構成の サーバを半々で購入 White box switch メーカー Switch OCP Server メーカー Server OCP構成の問題が圧倒的に少な かった。Facebookと同構成を使 用したため数十万台稼働済みの 恩恵を受けれた OCP構成 従来構成
  46. 46. Chassis MB CPU Memory Disk CardOEM/ODM 調達方式の変化 価格低減の選択肢が広がる サーバ毎ではなくパーツ毎で在 庫保持可能
  47. 47. コンテナ環境の構築 アーキテクチャ設計事例❷
  48. 48. コンテナ環境は必須 オーケストレータは?
  49. 49. 参考: Kubernetes on OpenStack at eBay, Aswin Nair, eBay (https://www.youtube.com/watch?v=l5HpUNhpKwU) OpenStack Day Seattle 2015 ”Kubernetes on OpenStack” @eBay 既存環境(OpenStack)は 利用したい
  50. 50. eBayがOpenStackと Kubernetesを連携 参考: Kubernetes on OpenStack at eBay, Aswin Nair, eBay (https://www.youtube.com/watch?v=l5HpUNhpKwU) OpenStack Day Seattle 2015 ”Kubernetes on OpenStack” @eBay 既存環境(OpenStack)は 利用したい
  51. 51. そのBorg開発者がKubernetes を開発している Google Borg 10年以上稼働のGoogleのコンテナシステム 2billion/week launch 参考: Large-scale cluster management at Google with Borg (https://static.googleusercontent.com/media/research.google.com/ja//pubs/archive/43438.pdf)
  52. 52. そのBorg開発者がKubernetes を開発している Google Borg 10年以上稼働のGoogleのコンテナシステム 2billion/week launch 参考: Large-scale cluster management at Google with Borg (https://static.googleusercontent.com/media/research.google.com/ja//pubs/archive/43438.pdf) 大規模運用をターゲットに 開発
  53. 53. Kubernetesを導入
  54. 54. プロセスを増やすと非効 率になりがち Code Control Image Creation Deploy to Platform リリースプロセス
  55. 55. プロセスを増やすと非効 率になりがち リリースプロセスの 標準化も一緒に考える Code Control Image Creation Deploy to Platform リリースプロセス
  56. 56. 非効率にしない Appコードは1つで3つ の環境にdeployするよう にTool chainは統一 Image creationCode control Deployment Platform Bare Metal & VM Container
  57. 57. Image creationCode control Deployment Platform Bare Metal & VM Container 本日はコンテナ向け Tool chainの説明
  58. 58. Code Code Management Instance Authentication Persistent Volume Container Engine Container Cluster Manager Container Networking Service Registry Container Registry Infrastructure Provisioning APP APP APP logging Metrics Heapster CI tool Service Monitoring 全体アーキテクチャ - Kubernetes on OpenStack - GitHub、etcd以外はコンテナで稼 働 - CI toolや各種管理ツールも Kubernetes上で稼働 - Kubernetesの上でOpenStackも稼 働させる “Manage application, Not Machines” KubernetesにはIaaSが必須 逆にどんなIaaS上でも稼働可能
  59. 59. Image creationCode control Deployment Platform Bare Metal & VM Container Container Image creation flow 最初に実行イメージを自 動で作成、その後 Artifactoryに格納までを 説明 どのフローもImage 作成できればdeploy は簡単 (OS、k8s以外でも)
  60. 60. Master Slave Service Job Dockerfile repository Build.sh docker build Docker image Dcoker image Docker HUB New Docker image 1 2 3 4 5 8 69 7 Container Image creation flow 1. GitHubへCodeをpush 2. JenkinsのMasterへ 3. Jenkinsのslaveでジョブを立ち上げる 4. Dockerfile repositoryをcheckout 5. Service Jobを実行 6. Artifactoryからbase docker imageをダウンロード 7. Artifactory上にdocker imageがない場合はDocker Hubか らダウンロード 8. Docker buildを行いimageを作成 9. 出来上がったimageをArtifactoryへアップロード
  61. 61. Image creationCode control Deployment Platform Bare Metal & VM Container 次に実行イメージの deploy先である、 Kubernetesの説明 Kubernetes Architecture
  62. 62. VM KubernetesMaster VM Keystone Cinder VM etcd proxy kubelet kube proxy Pod App App App Pod App App Pod App App App Pod App KubernetesNode P Calico Dockerengine Pod etcd proxy kubelet kube-apiserver P CalicoDockerengine Pod kube-scheduler Pod kube-controller-manager Pod VM etcd proxy kubelet kube proxy Pod App App App Pod App App Pod App App App Pod App KubernetesNode P Calico Dockerengine Pod - クラスタを管理するMasterとコンテ ナが実行されるNodeがある - コンテナの集合をPodという - Kubernetesの認証はバックエンドに Keystoneを使用 - 認可はKeystoneの情報から Kubernetesのpolicyファイルへスク リプトで変換 - 外部ストレージとしてCinderを利用 - ネットワークはProject Calicoを利用 Kubernetes Architecture
  63. 63. VM Kubernetes Master VM Loadbalancer Node VM Pod App App Kubernetes Node VM Pod App Kubernetes Node Pod App App iBGP iBGP iBGP iBGP Route Reflector & Gateway Redistribute ClusterIP and Pod IPs to Backbone Advertise Pod IPs(/26) Advertise ClusterIP Advertise PodIPs IP(/26) ClusterIP range : 10.0.0.0/22 Pod IP range: 192.168.0.0/22 Node IP range: 172.16.0.0/22 Kubernetes Networking - Route Reflectorと各VMがiBGP接続 - 各NodeへPod用アドレスレンジがア サイン後(Blackholeの設定もされ る)、iBGP経由で広報 - Pod起動時にアサインされたアドレ スレンジよりIPが振られる - PodのアドレスをBackboneへ再配布 することにより他のクラスタからも Podへアクセス可能になる
  64. 64. 192.168.0.0/24 ClusterIP: 10.0.0.100 200.0.0.100 Src address Dst address ① 200.0.0.100 10.0.0.100 ② 172.16.0.100 192.168.0.100 ③ 192.168.0.100 172.16.0.100 ④ 10.0.0.100 200.0.0.100 VM Loadbalancer Node VM Kubernetes Master VM Pod App App Kubernetes Node ① ② ③ ④ Pod IP: 192.168.0.100 Node IP : 172.16.0.100 ClusterIP range : 10.0.0.0/22 Pod IP range: 192.168.0.0/22 Node IP range: 172.16.0.0/22 External Service Load Balancing KubernetesのExternalのロードバランス方式 は複数あるが要件に合うものが存在せず Internalのロードバランス方式をExternalでも 使えるように工夫して解決 1. ClusterIPが広報されているNodeへ 2. DNAT/SNATをしてパケットを送出 ※SNATはKubernetesのデフォルトの動作で ないので注意 3. 送出されたNodeへ 4. NATの逆変換を経てクライアントへ
  65. 65. Docker registry Jenkins Master Launch Jenkins slave Pod and run command hook Upload Artifactory pull repository issue tracking track commit build result CI support Kubernetes Cluster master deploy APP Cinder Persistent Volume Keystone Auth Tenant Isolation push Launch Pod pull image master APP Cinder Persistent Volume Keystone Auth Tenant Isolation Launch Pod Kubernetes Cluster #1 for Datacenter A Nova Nova Boot Kubernetes node OpenStack Admin Docker build master Boot Kubernetes node Kubernetes Cluster #2 for Datacenter B Code Control Image Creation Deploy to Platform OpenStackクラスタ 数が30以上 OpenStack on Kubernetes on OpenStack で効率良く管理
  66. 66. APP Openstack Cluster #1 for Datacenter A Glance CI support Kubernetes Cluster push OpenStack Admin qcow2 Image Teraform Packer Code Control Image Creation Deploy to Platform おまけ KubernetesもImage deploy APP Openstack Cluster #2 for Datacenter B Glance
  67. 67. まとめ • 限られたリソースでは割り切りが必要で、ハイパー スケールアーキテクチャは強力な選択肢となり得 る • 自社特有の未解決の問題にリソースをつぎ込む • 世界基準のアーキテクチャやアーキテクトと仕事す るのは何よりも楽しい
  68. 68. Techblogにも公開しています - Kubernetes http://techblog.yahoo.co.jp/infrastructure/os_n_k8s/ - Open Compute Project http://techblog.yahoo.co.jp/operation/2015-10-ocp/ ご静聴ありがとうございました

×