O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
新しいOpenShiftのしくみを 
調べてみた 
第22回PaaS勉強会
@jacopen 
Kazuto Kusama
PaaS NTT Communications Cloudn
Based on
2012/06/21 
第7回 Cloud Foundry輪読会 
http://www.slideshare.net/jacopen/openshift-13407714
2013/08/23 
第13回 Cloud Foundry輪読会 
http://www.slideshare.net/jacopen/open-shift-25522848
日本で一番最初にOpenShiftの 
勉強会をやったのは、 
Cloud Foundry輪読会!
クラウドファウンドリーとオープンシフトゎ…… 
ズッ友だょ……!!
Kubernetes
Kubernetes 
• Googleが開発したコンテナ管理ツール 
• 複数ホストに渡るコンテナの管理ができる 
• PaaSではなく、あくまでもScheduler
Software Design 2014年12月号に 
Kubernetesの記事かきました
PaaSはデベロッパーのワークフローを助ける 
Kubernetesには… 
• 書いたコードをDockerイメージにする仕組みが無い 
• チームコラボレーションの機能が無い。そもそも複数 
ユーザーで使えない 
• ログ収集の機能が弱い 
...
第20回の懇親会で 
某氏「そういえば新しいOpenShiftは試しました?あ 
れ、かなりKubernetesですよ」 
ぼく「え、マジっすか。じゃあ次回やります」
というわけでやります
新しいOpenShift 
!? 
V4 → V3?
OpenShift Origin Release 4 
2.x Architecture 
https://github.com/openshift/origin-server
OPENSHIFT v3
OpenShift v3 Platform 
• OpenShiftの3代目アーキテクチャ 
• Docker, Kubernetes, Atomicを取り込んだ、まったく 
新しいアーキテクチャになった 
• これまでのOriginとは別リポ...
まだまだalpha
動かしてみよう
セットアップ 
ソースからビルド 
$ hack/build-go.sh #goの実行環境が必要 
or 
precompile済バイナリのダウンロード 
$ wget https://github.com/openshift/origin/r...
セットアップ 
起動 
$ openshift start 
これだけで、OpenShift / Kubernetes / etcdなど必要な 
ものが全て立ち上がります。(バイナリ1個なのに・・・)
セットアップ 
Vagrantを使う手も 
$ export OPENSHIFT_DEV_CLUSTER=true 
$ vagrant up
DEMO
OpenShiftコマンド 
$ openshift start [master|node] #サーバーが起動する 
$ openshift kube #Kubernetesのkubecfg 
今の所、openshiftのバイナリ1つでサーバー...
かなりKubernetes
Kubernetesの構成 
Proxy 
pod pod pod 
docker 
Kubelet 
Container Container Container 
API 
Server Scheduler 
Kube 
Controller...
OpenShiftの構成 
Build 
Controller Kubernetes masterを 
OpenShift masterがラップ 
Proxy 
pod pod pod 
docker 
Kubelet 
Container C...
API(抜粋) 
OpenShift API 
http://localhost:8080/osapi/v1beta1/builds 
http://localhost:8080/osapi/v1beta1/deployments 
http:...
DEMO
概念 
Kubernetesの概念はそのまま残ります 
• Pod 
• Service 
• ReplicationController
概念 
OpenShiftによって追加されるもの 
• Build 
• Template 
• Deployment 
• Route 
• Project 
• User 
• Image/ImageRepository
全部解説すると時間が 
かかりすぎるので
Request Routing 
Router 
Router State API 
Router State 
Kubernetes 
(Scheduler) 
URLに応じて、振り先のコンテナを変えるリクエスト 
ルータ。ステートの追加・削...
Image build 
Router 
Router State API 
Router State 
Kubernetes 
(Scheduler) 
Source Repo API 
Git Repositories 
Image Bui...
Docker repository 
Router 
Router State API 
Router State 
Kubernetes 
(Scheduler) 
Source Repo API 
Git Repositories 
Ima...
Multi tenancy 
Router 
Router State API 
Router State 
Kubernetes 
(Scheduler) 
Source Repo API 
Git Repositories 
Image B...
Event 
Router 
Router State API 
Router State 
Kubernetes 
(Scheduler) 
Source Repo API 
Git Repositories 
Image Builds 
I...
Logging / Metrics 
Router 
Router State API 
Router State 
Kubernetes 
(Scheduler) 
Source Repo API 
Git Repositories 
Ima...
2.xのカートリッジはどうなるの?
OpenShift on OpenShift 
OpenShiftで必要なコンポーネントは、OpenShiftと同じイ 
ンフラで動き、管理される。Kubernetesが管理するコンテ 
ナとして各コンポーネントが動作する 
⇒ PaaSを運用...
まとめ 
• OpenShift v3は、まだま始まったばかり。すぐに使える 
というものではない 
• Kubernetesをコアに据えるなど、上手くDockerの流れに 
乗ろうとしているなという印象 
• Flynn や Deisと比べて...
新しいOpenShiftのしくみを調べてみた
Próximos SlideShares
Carregando em…5
×

新しいOpenShiftのしくみを調べてみた

9.540 visualizações

Publicada em

第22回 PaaS勉強会で発表した資料です

Publicada em: Tecnologia
  • Seja o primeiro a comentar

新しいOpenShiftのしくみを調べてみた

  1. 1. 新しいOpenShiftのしくみを 調べてみた 第22回PaaS勉強会
  2. 2. @jacopen Kazuto Kusama
  3. 3. PaaS NTT Communications Cloudn
  4. 4. Based on
  5. 5. 2012/06/21 第7回 Cloud Foundry輪読会 http://www.slideshare.net/jacopen/openshift-13407714
  6. 6. 2013/08/23 第13回 Cloud Foundry輪読会 http://www.slideshare.net/jacopen/open-shift-25522848
  7. 7. 日本で一番最初にOpenShiftの 勉強会をやったのは、 Cloud Foundry輪読会!
  8. 8. クラウドファウンドリーとオープンシフトゎ…… ズッ友だょ……!!
  9. 9. Kubernetes
  10. 10. Kubernetes • Googleが開発したコンテナ管理ツール • 複数ホストに渡るコンテナの管理ができる • PaaSではなく、あくまでもScheduler
  11. 11. Software Design 2014年12月号に Kubernetesの記事かきました
  12. 12. PaaSはデベロッパーのワークフローを助ける Kubernetesには… • 書いたコードをDockerイメージにする仕組みが無い • チームコラボレーションの機能が無い。そもそも複数 ユーザーで使えない • ログ収集の機能が弱い • メトリクス収集機能が弱い あくまでもSchedulerであり、PaaSではない。弱いとこ ろをカバーしたPaaSがあればいいのにな。
  13. 13. 第20回の懇親会で 某氏「そういえば新しいOpenShiftは試しました?あ れ、かなりKubernetesですよ」 ぼく「え、マジっすか。じゃあ次回やります」
  14. 14. というわけでやります
  15. 15. 新しいOpenShift !? V4 → V3?
  16. 16. OpenShift Origin Release 4 2.x Architecture https://github.com/openshift/origin-server
  17. 17. OPENSHIFT v3
  18. 18. OpenShift v3 Platform • OpenShiftの3代目アーキテクチャ • Docker, Kubernetes, Atomicを取り込んだ、まったく 新しいアーキテクチャになった • これまでのOriginとは別リポジトリで開発されている • Golang! https://github.com/openshift/origin
  19. 19. まだまだalpha
  20. 20. 動かしてみよう
  21. 21. セットアップ ソースからビルド $ hack/build-go.sh #goの実行環境が必要 or precompile済バイナリのダウンロード $ wget https://github.com/openshift/origin/releases/download/v0.1/ openshift-origin-v0.1-deef796-linux-amd64.tar.gz
  22. 22. セットアップ 起動 $ openshift start これだけで、OpenShift / Kubernetes / etcdなど必要な ものが全て立ち上がります。(バイナリ1個なのに・・・)
  23. 23. セットアップ Vagrantを使う手も $ export OPENSHIFT_DEV_CLUSTER=true $ vagrant up
  24. 24. DEMO
  25. 25. OpenShiftコマンド $ openshift start [master|node] #サーバーが起動する $ openshift kube #Kubernetesのkubecfg 今の所、openshiftのバイナリ1つでサーバーにもクライ アントにもなる。
  26. 26. かなりKubernetes
  27. 27. Kubernetesの構成 Proxy pod pod pod docker Kubelet Container Container Container API Server Scheduler Kube Controller Replication Controller etcd Kubernetes Master Kubernetes Node (Minion)
  28. 28. OpenShiftの構成 Build Controller Kubernetes masterを OpenShift masterがラップ Proxy pod pod pod docker Kubelet Container Container Container API Server Deployment Controller OpenShift Master etcd API Server Scheduler Kube Controller Replication Controller Kubernetes Master Kubernetes Node (Minion)
  29. 29. API(抜粋) OpenShift API http://localhost:8080/osapi/v1beta1/builds http://localhost:8080/osapi/v1beta1/deployments http://localhost:8080/osapi/v1beta1/routes http://localhost:8080/osapi/v1beta1/projects http://localhost:8080/osapi/v1beta1/users http://localhost:8080/osapi/v1beta1/accessTokens Kubernetes API http://localhost:8080/api/v1beta2/pods http://localhost:8080/api/v1beta2/services http://localhost:8080/api/v1beta2/replicationControllers
  30. 30. DEMO
  31. 31. 概念 Kubernetesの概念はそのまま残ります • Pod • Service • ReplicationController
  32. 32. 概念 OpenShiftによって追加されるもの • Build • Template • Deployment • Route • Project • User • Image/ImageRepository
  33. 33. 全部解説すると時間が かかりすぎるので
  34. 34. Request Routing Router Router State API Router State Kubernetes (Scheduler) URLに応じて、振り先のコンテナを変えるリクエスト ルータ。ステートの追加・削除・変更を行うAPIも。
  35. 35. Image build Router Router State API Router State Kubernetes (Scheduler) Source Repo API Git Repositories Image Builds Image Reposigories 2.xと同じように、Gitによるデプロイが可能。 コードからDocker Imageを作成(Image build)
  36. 36. Docker repository Router Router State API Router State Kubernetes (Scheduler) Source Repo API Git Repositories Image Builds Image Reposigories 生成されたDocker Imageは、内部のDocker Repository に保存される。作ったイメージを公開もできるらしい
  37. 37. Multi tenancy Router Router State API Router State Kubernetes (Scheduler) Source Repo API Git Repositories Image Builds Image Reposigories Account Project Role 複数ユーザーで使える機能(PaaSなので必須だよね!) Account(User?),Project,Rolesなどの概念を持つ
  38. 38. Event Router Router State API Router State Kubernetes (Scheduler) Source Repo API Git Repositories Image Builds Image Reposigories Account Project Role Event aggregator API Event Bus Policy Engine クラスタ内の様々なイベント(ホストに繋がらない、ルー タのエラー、nodeの削除等々)を収集。Policy Engineで アクションの規定などができる
  39. 39. Logging / Metrics Router Router State API Router State Kubernetes (Scheduler) Source Repo API Git Repositories Image Builds Image Reposigories Account Project Role Event aggregator API Event Bus Policy Engine Logging Resouce Usage Metrics Application Metrics コンテナのログ収集や、リソースのメトリクス収集の 仕組みもできるようだ(journaldを使う)
  40. 40. 2.xのカートリッジはどうなるの?
  41. 41. OpenShift on OpenShift OpenShiftで必要なコンポーネントは、OpenShiftと同じイ ンフラで動き、管理される。Kubernetesが管理するコンテ ナとして各コンポーネントが動作する ⇒ PaaSを運用している身からすると、すごくいい考えだと 思う。PaaSを提供するためのコンポーネント運用は結構大 変
  42. 42. まとめ • OpenShift v3は、まだま始まったばかり。すぐに使える というものではない • Kubernetesをコアに据えるなど、上手くDockerの流れに 乗ろうとしているなという印象 • Flynn や Deisと比べて、出来ることはあまり変わらない が、開発力が圧倒的なので最有力候補か? • まだモノが出来上がっていなくて消化不良なので、継続 して追っていきたい

×