CoreOSクラスタにDockerコンテナをデプロイする

Docker Meetup Tokyo #4

CoreOSの概要とDockerを実際に運用しようと思ったときにDockerが抱える問題をCoreOSがどのようにそれを解決するかについて発表した.デモではTerraformを使ってDigitalOcean上にCoreOSクラスタを立てて,デモアプリケーションコンテナを動的にスケールさせる様子を実演した(ソースは全てtcnksm/docker-meetup-4-demoにある).

雑感

簡単にMeetupの感想を書いておく.

今回はDockerそのものの発表よりも,オーケストレーションやサービスディスカバリーなどの周辺ツールやサービスの発表が多かった.ツール(もしくはDocker専用のOS)では,CoreOSKubernetesRedHad Atomic host,サービスではAmazon EC2 Container Service (ECS)Google Container Enginetutumといった主要なもの全ての発表があった.完全に周辺ツールへの注目が高まっている.Docker machineやswarmという単語はほとんど聞かなかったので期待感は薄そう.

得にコンテナの動的なデプロイへの注目が高いと感じた.Dockerによりホストが抽象化されるので,どのマシンにコンテナを動かしても同じように扱うことができる.動的なデプロイとは,複数のマシンをクラスタリングし,マシンのリソースや役割などに基づき適切なマシンにコンテナをデプロイする手法である(つまりデプロイ先が動的に決まる).周辺ツールは,そのようなマシンのクラスタリングや,スケジューリング,コンテナの連携といった問題を解決する.まだどうなるか分からないが,2015年はこの辺に大きな動きがありそう.

また,実際にプロダクションへのDocker投入の話がWantedlyとドワンゴからありとても参考になった.共通していたのは,どちらも静的なデプロイをしていたところ.静的なデプロイというのは,動的デプロイと逆で,決まったIPに決まったコンテナをデプロイする方法(プロダクションでのDockerの運用はこの手法を多く見かける).この理由は,オーケストレーションやスケジューリング系のツールがまだまだ成熟しておらず,プロダクションでは不安定,運用も大変で得られるメリットが少ないため,と推測した.

とにかく面白い発表をたくさん聞くことができたので,とても良いMeetupだった.今回Docker meetupで発表の機会をもうけて頂いた@stanakaさん,@kazunori_279さんありがとうございました.他のスタッフのかたもありがとうございました.次はDockerCon JPですかね.

参考