Top Banner
最近のKubernetesDocker Machine / Swarmの話
38

最近のKubernetesとDocker Machine/Swarmの話

Jul 15, 2015

Download

Technology

Kazuto Kusama
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 最近のKubernetesとDocker Machine/Swarmの話

最近のKubernetesと

Docker Machine / Swarmの話

Page 2: 最近のKubernetesとDocker Machine/Swarmの話

Kazuto Kusama @jacopen

Page 3: 最近のKubernetesとDocker Machine/Swarmの話
Page 4: 最近のKubernetesとDocker Machine/Swarmの話

Tokyo was captured by Enlightened

Page 5: 最近のKubernetesとDocker Machine/Swarmの話
Page 6: 最近のKubernetesとDocker Machine/Swarmの話

Kubernetesの話

Page 7: 最近のKubernetesとDocker Machine/Swarmの話

進化速い

Page 8: 最近のKubernetesとDocker Machine/Swarmの話

進化速い

9月 10月 11月 12月v0.2

v0.3

v0.4

v0.5

v0.6

v0.7

.1 .2 .3 .4

.1 .2 .3 .4 .5 .6

.2

前回 今回

Page 9: 最近のKubernetesとDocker Machine/Swarmの話

前回の発表以降、入った機能

Page 10: 最近のKubernetesとDocker Machine/Swarmの話

kubectl

新しいコマンド 従来のkubecfg.shも、今の所使えるが・・・

Page 11: 最近のKubernetesとDocker Machine/Swarmの話

Persistence Disk

GCEの永続ディスクをPodにマウントできる。Cloud StorageではなくてGCEの永続ディスク

Page 12: 最近のKubernetesとDocker Machine/Swarmの話

Namespace

Pod/Replication Controller/Serviceなどを分離出来る development, productionみたいなNSを作るイメージ

Page 13: 最近のKubernetesとDocker Machine/Swarmの話

Services v2

ServiceがIPアドレスを持つようになった

Page 14: 最近のKubernetesとDocker Machine/Swarmの話

Services v2

内部的にはiptablesのREDIRECT

Page 15: 最近のKubernetesとDocker Machine/Swarmの話

Git Based Volumes

VolumesにGitRepoを指定することで、 コンテナ起動時に指定場所にcloneされる?(未確認)

Page 16: 最近のKubernetesとDocker Machine/Swarmの話

Heapster

コンテナのリソース利用状況を収集する

Page 17: 最近のKubernetesとDocker Machine/Swarmの話

Heapster

コンテナ 収集 保存 可視化

Page 18: 最近のKubernetesとDocker Machine/Swarmの話

Logging(Fluentd & ES)

k8sの標準ログコレクタにFluentdが採用された

Page 19: 最近のKubernetesとDocker Machine/Swarmの話

ENABLE_NODE_LOGGING=trueLOGGING_DESTINATION=elasticsearch

コンテナに環境変数を設定することで有効化

Page 20: 最近のKubernetesとDocker Machine/Swarmの話

コンテナのLog取得

kubectl log <pod名> で、コンテナのログが取れる Fluentdとかelasticsearch関係なく、直接取ってるっぽい

Page 21: 最近のKubernetesとDocker Machine/Swarmの話

今後出てきそうな機能

Page 22: 最近のKubernetesとDocker Machine/Swarmの話

• RoadmapやIssueを読んで、今後出てきそうな機能を ピックアップ

• 全て網羅しているわけでなく、気になったものだけを抜粋

• 単に英語力不足で見落としているものも・・・あるかも

Page 23: 最近のKubernetesとDocker Machine/Swarmの話

負荷に応じたスケジューリング• 現在のスケジューリングは単にラウンドロビンするだけで、賢くない

• cAdvisorの情報を参考に、負荷やリソース利用状況に応じたスケジューリングができるようになる

Page 24: 最近のKubernetesとDocker Machine/Swarmの話

リソース制限

• コンテナやPodに対してリソース制限をかけられるようにする

• コンテナはdockerがcgroupsによる制限を提供している

• じゃあPodはどうする・・・?

• Googleのlmctfyを参考に実装していってるぽい

• その先にはQoS Tierという構想があるっぽい

Page 25: 最近のKubernetesとDocker Machine/Swarmの話

Replication ControllerとPod Templateの分離

• Replication Controllerは、自身のコンフィグ内にあるPodTemplate定義を元にPodを複製していく。

• このPodTemplateは独立した概念とするべきではないか、という話

• PodTemplateが独立したリソースになれば、Replication Controller以外 (例えばCron jobとか、何かのフックとか)で活用できるよね、という考え方

Page 26: 最近のKubernetesとDocker Machine/Swarmの話

ラベルの強化

• ラベルはセレクタとして使われている。たとえばServiceは、指定されたラベルのPodにトラフィックを転送している

• このセレクタ機能が強化される

• key is in [“nginx”, “apache”]  みたいな感じで、複数ラベルを付けられるようになる

• key is not in [“development”, “qa”] みたいな感じで、除外するラベルを指定できるようになる

Page 27: 最近のKubernetesとDocker Machine/Swarmの話

k8s on k8s

• 既にk8sは、それ自身(API serverなど)をk8s上でホストできるようになっているが、これがもっと推し進められるらしい?(あんま追ってない)

Page 28: 最近のKubernetesとDocker Machine/Swarmの話

来年、Productionリリース

Page 29: 最近のKubernetesとDocker Machine/Swarmの話

Docker Machine / Swarmの話

Page 30: 最近のKubernetesとDocker Machine/Swarmの話

12月4日 Dockerがマルチホストのコンテナ環境構築/管理を行うツールを発表

Page 31: 最近のKubernetesとDocker Machine/Swarmの話

Docker Machine

Docker Swarm

Docker Compose

Dockerが使える環境を一発で作ってくれる

https://github.com/docker/machine

DockerのClusterを組んでくれる

https://github.com/docker/swarm

よーわからんちん

Page 32: 最近のKubernetesとDocker Machine/Swarmの話

Docker Machine

• 対応している IaaS

• EC2

• DigitalOcean

• Azure

• Vagrant

Page 33: 最近のKubernetesとDocker Machine/Swarmの話

DEMO

Page 34: 最近のKubernetesとDocker Machine/Swarmの話

Docker Swarm

• DockerのClusterを組んでくれる

Page 35: 最近のKubernetesとDocker Machine/Swarmの話

DEMO

Page 36: 最近のKubernetesとDocker Machine/Swarmの話

manager

node

node

node

token, etcd, etc…

swarm

swarm

swarm

node側のswarmは、自身の docker endpointをadvertise

swarm

manager側のswarmは、 docker互換のAPIを提供。 各nodeにリクエストを分配

clientからは、普通の dockerに見える

Page 37: 最近のKubernetesとDocker Machine/Swarmの話

Docker Swarm

• 今の所、スケジューリングは単なるランダム • 複数インスタンスを管理するような機能は無し • k8sのServicesのような概念も無し

• ホストがダウンした時に、他ホストにフェイルオーバーするような仕組みも無し

Composeと組み合わせたときに本領を発揮する?

Page 38: 最近のKubernetesとDocker Machine/Swarmの話

参考情報

Kuberneteshttps://github.com/GoogleCloudPlatform/kubernetes/

Kubernetes Advent Calendar

Docker Swarmhttps://github.com/docker/swarm

Docker Machinehttps://github.com/docker/machine

http://qiita.com/advent-calendar/2014/kubernetes

まだ空き枠あるよ!