kubernetesとopenshiftの話

34
KubernetesOpenShiftの話

Upload: kazuto-kusama

Post on 15-Jul-2015

3.192 views

Category:

Technology


2 download

TRANSCRIPT

KubernetesとOpenShiftの話

Kazuto Kusama @jacopen

さいしょに• 今回の発表は、Chrisさんや中井さんの発表とめっちゃ被ってます

• 今日の復習くらいに捉えて貰えばいいかなと

普段はCloud Foundry関連の仕事をしています

では何故OpenShiftの話をするのか

だっていろんなアーキテクチャ見るの楽しいじゃん

2012/06/21 第7回 Cloud Foundry輪読会

2013/08/23 第13回 Cloud Foundry輪読会

日本で一番最初にOpenShiftの 勉強会をやったのは、

Cloud Foundry輪読会!

クラウドファウンドリーとオープンシフトゎ……

ズッ友だょ……!!

OpenShift v3のおさらい

OpenShift v2

• Gearとか、Cartridgeとか

OpenShift v3

Dockerの話

・・・は不要ですよね?

Kubernetesの話• Googleが公開した、コンテナ管理のツール

• 複数のホストにまたがるコンテナの管理

• 長いのでk8sって略されることが多い

Kubernetesで実現できること✓ 複数ホストにコンテナを展開

✓ 関連するコンテナごとにグルーピング

✓ コンテナの死活監視

✓ コンテナ間のネットワーク

✓ コンテナの負荷分散

minion

minion

master

適した場所へコンテナを配置する仕事 (スケジューリング)

Kubernetesがやってくれること

KubernetesはPaaSじゃない?

PaaSにはいろいろな定義がありますが・・・

Webサービスの開発ライフサイクルを支援

をPaaSと定義すると

•ユーザー管理 / 認証・認可

•コードのバージョン管理

•コードからのデプロイ

•ロギング

•アプリケーションのメトリクス取得

•コンテナの管理

•コンテナの実行

User Experience

Scheduling

minion

minion

master

PaaSは、スケジューリング(青い部分)だけでなく、それ以外の機能(緑の部分)も提供する必要がある

Container API

青と緑といえば

今から始めるなら、断然緑

宣伝終わり

もうちょっと細かく見てみよう

たとえばCloud Foundryのデプロイ

droplet

buildpack

source

DEA

Staging

DEA

DEA = Droplet Execution Agent

warden container

droplet droplet

droplet droplet

droplet = 実行可能なパッケージ

minion

minion

master

KubernetesはDockerイメージを自分で作って、指定してあげるしかない

Docker Registry

OpenShift v3 source-to-image

docker image

git reposource

DEA = Droplet Execution Agent

private docker registry

minion

minion

master

image build

その他追加される機能

Request Routing

minion

minion

minion

appA.example.com

appA

appB

appB.example.com

Multi-tenancy

Project Project

User

Resources

Webhook

他にも色々あるけど、割愛

• Kubernetesの概念は、そのまま残ります

• Pods, Services, Replication Controllers, Labels..

• それに加えて、OpenShiftによって追加される概念が色々あります

• Builds, Deployments, Images, Templates, Routes, Projects, Users…

OpenShiftの構成

Proxy

docker

Kubelet

Container ContainerContainer

pod pod pod

Kubernetes Node (Minion)Kubernetes Master

API Server

Scheduler

Kube Controller

Replication Controller

etcdOpenShift Master

API Server

Deployment Controller

Build Controller Kubernetes masterを

OpenShift masterがラップ

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

最近のOpenShift V3

今後のロードマップ

Chrisの資料をみてね!