SlideShare a Scribd company logo
新しい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
新しいOpenShiftのしくみを調べてみた
Kubernetes 
• Googleが開発したコンテナ管理ツール 
• 複数ホストに渡るコンテナの管理ができる 
• PaaSではなく、あくまでもScheduler
Software Design 2014年12月号に 
Kubernetesの記事かきました
PaaSはデベロッパーのワークフローを助ける 
Kubernetesには… 
• 書いたコードをDockerイメージにする仕組みが無い 
• チームコラボレーションの機能が無い。そもそも複数 
ユーザーで使えない 
• ログ収集の機能が弱い 
• メトリクス収集機能が弱い 
あくまでもSchedulerであり、PaaSではない。弱いとこ 
ろをカバーしたPaaSがあればいいのにな。
第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とは別リポジトリで開発されている 
• Golang! 
https://github.com/openshift/origin
まだまだalpha
動かしてみよう
セットアップ 
ソースからビルド 
$ 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
セットアップ 
起動 
$ 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 
Replication 
Controller 
etcd 
Kubernetes Master Kubernetes Node (Minion)
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)
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
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に応じて、振り先のコンテナを変えるリクエスト 
ルータ。ステートの追加・削除・変更を行うAPIも。
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)
Docker repository 
Router 
Router State API 
Router State 
Kubernetes 
(Scheduler) 
Source Repo API 
Git Repositories 
Image Builds 
Image Reposigories 
生成されたDocker Imageは、内部のDocker Repository 
に保存される。作ったイメージを公開もできるらしい
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などの概念を持つ
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で 
アクションの規定などができる
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を使う)
2.xのカートリッジはどうなるの?
OpenShift on OpenShift 
OpenShiftで必要なコンポーネントは、OpenShiftと同じイ 
ンフラで動き、管理される。Kubernetesが管理するコンテ 
ナとして各コンポーネントが動作する 
⇒ PaaSを運用している身からすると、すごくいい考えだと 
思う。PaaSを提供するためのコンポーネント運用は結構大 
変
まとめ 
• OpenShift v3は、まだま始まったばかり。すぐに使える 
というものではない 
• Kubernetesをコアに据えるなど、上手くDockerの流れに 
乗ろうとしているなという印象 
• Flynn や Deisと比べて、出来ることはあまり変わらない 
が、開発力が圧倒的なので最有力候補か? 
• まだモノが出来上がっていなくて消化不良なので、継続 
して追っていきたい

More Related Content

PDF
最近のKubernetesとDocker Machine/Swarmの話
PDF
Lattice深掘り話
PDF
DockerとKubernetesが作る未来
PDF
OpenShift 3で、DockerのPaaSを作る話
PPTX
俺とKubernetes
PDF
KubernetesとOpenShiftの話
PDF
kubernetes(GKE)環境におけるdatadog利用
PDF
Cloud Foundry Container-to-Container Networking
最近のKubernetesとDocker Machine/Swarmの話
Lattice深掘り話
DockerとKubernetesが作る未来
OpenShift 3で、DockerのPaaSを作る話
俺とKubernetes
KubernetesとOpenShiftの話
kubernetes(GKE)環境におけるdatadog利用
Cloud Foundry Container-to-Container Networking

What's hot (20)

PDF
Docker, Kubernetes and OpenShift v3
PPTX
コンテナ運用基盤 with OpenShift
 
PDF
知って欲しいPaaSの話
PPTX
Kubernetes超入門 with java
PDF
Cloudn PaaSチームのChatOps実践
PPTX
Docker & Kubernetes基礎
PDF
Dockerの利用事例
PDF
GKEで半年運用してみた
PDF
”30分”ぐらいでわかる「Kubernetes」について
PDF
Kubernetesを触ってみた
PDF
Githubを使って簡単に helm repoを公開してみよう
PDF
runC概要と使い方
PPTX
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
PDF
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
PDF
DockerからKubernetesへのシフト
PDF
ECS-CLI in Action
PPTX
Infrakitの話とk8s+GPUの話
PDF
コンテナ時代だからこそ要注目! Cloud Foundry
PPTX
Kubernetesと暮らすRancherな生活
PPTX
IBM Log Analysis with LogDNAを評価した話
Docker, Kubernetes and OpenShift v3
コンテナ運用基盤 with OpenShift
 
知って欲しいPaaSの話
Kubernetes超入門 with java
Cloudn PaaSチームのChatOps実践
Docker & Kubernetes基礎
Dockerの利用事例
GKEで半年運用してみた
”30分”ぐらいでわかる「Kubernetes」について
Kubernetesを触ってみた
Githubを使って簡単に helm repoを公開してみよう
runC概要と使い方
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc.
DockerからKubernetesへのシフト
ECS-CLI in Action
Infrakitの話とk8s+GPUの話
コンテナ時代だからこそ要注目! Cloud Foundry
Kubernetesと暮らすRancherな生活
IBM Log Analysis with LogDNAを評価した話
Ad

Similar to 新しいOpenShiftのしくみを調べてみた (20)

PDF
Microsoft azureで実装するwebserviceondocker
PPTX
AKS (k8s) Hands on Lab Contents
PPTX
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
PDF
試して学べるクラウド技術! OpenShift
PDF
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
PDF
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
PDF
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと @ gcpug 湘南
PDF
Dockerだけではないコンテナのはなし
PDF
普通のRailsアプリをdockerで本番運用する知見
PDF
Docker PaaSとしての OpenShift, Deis, Flynn比較
PDF
捕鯨!詳解docker
PDF
Kubernetes雑にまとめてみた 2020年8月版
PPTX
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
PDF
Open Source x AI
PDF
Osc fukuoka xAI Meetup
PDF
serverless openstack 101
PDF
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
PDF
これから始めるAzure Kubernetes Service入門
PDF
Open Shift v3 主要機能と内部構造のご紹介
PDF
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
Microsoft azureで実装するwebserviceondocker
AKS (k8s) Hands on Lab Contents
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
試して学べるクラウド技術! OpenShift
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと @ gcpug 湘南
Dockerだけではないコンテナのはなし
普通のRailsアプリをdockerで本番運用する知見
Docker PaaSとしての OpenShift, Deis, Flynn比較
捕鯨!詳解docker
Kubernetes雑にまとめてみた 2020年8月版
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
Open Source x AI
Osc fukuoka xAI Meetup
serverless openstack 101
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
これから始めるAzure Kubernetes Service入門
Open Shift v3 主要機能と内部構造のご紹介
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
Ad

More from Kazuto Kusama (19)

PDF
Concourseで快適な自動化の旅
PDF
Istio, Kubernetes and Cloud Foundry (修正版)
PDF
Istio, Kubernetes and Cloud Foundry
PDF
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
PDF
k8sだけじゃないIstio - Cloud FoundryのIstioインテグレーションについて
PDF
Cloud Foundry Container Runtimeで快適Kubernetes運用
PDF
改めてPaaSについて考えてみる
PDF
CFの便利機能を他の環境でも。Open Service Broker
PDF
グループ会社を巻き込んで勉強会をやってみるには
PDF
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
PDF
クラウドを『作る』ってどういうこと?
PDF
Cloud Foundryで学ぶ、PaaSのしくみ講座
PDF
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
PDF
Weaveを試してみた
PPTX
Cloud Foundry V2 | Intermediate Deep Dive
PPTX
Cloud Foundry | How it works
PDF
Cloud Foundry V2を、もうちょっと深掘りしよう
PDF
Cloud Foundryは何故動くのか
PDF
Cloud foundryのコミュニティを紹介するよ
Concourseで快適な自動化の旅
Istio, Kubernetes and Cloud Foundry (修正版)
Istio, Kubernetes and Cloud Foundry
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
k8sだけじゃないIstio - Cloud FoundryのIstioインテグレーションについて
Cloud Foundry Container Runtimeで快適Kubernetes運用
改めてPaaSについて考えてみる
CFの便利機能を他の環境でも。Open Service Broker
グループ会社を巻き込んで勉強会をやってみるには
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
クラウドを『作る』ってどういうこと?
Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
Weaveを試してみた
Cloud Foundry V2 | Intermediate Deep Dive
Cloud Foundry | How it works
Cloud Foundry V2を、もうちょっと深掘りしよう
Cloud Foundryは何故動くのか
Cloud foundryのコミュニティを紹介するよ

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