Last active
August 29, 2015 14:03
-
-
Save yusukegoto/e8778a90421f453ecb72 to your computer and use it in GitHub Desktop.
Docker Meetup Tokyo #3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Docker Meetup #3 | |
2014/7/4 18:50-21:40 | |
URL: <http://connpass.com/event/6998/> | |
[meetpの前に] | |
[サーバプロビジョニングのレイヤ] | |
レイヤ | |
bootstrapping | |
OSをインストールしてサーバを起動する | |
AWS, OpenStack, Kickstart | |
configuration | |
サーバにミドルウェアを入れて利用可能にする | |
Chef, Puppet, Ansible, salt | |
orchestration | |
複数サーバを協調させて一つのサービスを利用できるようにする | |
Capistrano, Fabric, Consul, Serf | |
参考 | |
mizzyさんのブログ | |
<http://mizzy.org/blog/2013/10/29/1/> | |
[Dockerとは] | |
アプリケーションの実行環境ごとまるっと持ち運びできる早くて便利な仮想化技術 | |
上のbootstrapping, configuration済みの仮想化イメージを持ち歩く | |
AWSのAMIみたいなことが手元でできる | |
Immutable Infrastructure(II, あいあい)を実現するツールとして利用されている | |
@it Dockerの基礎知識 | |
<http://www.atmarkit.co.jp/ait/articles/1405/16/news032.html> | |
公式 | |
<https://www.docker.com/> | |
Web + DB Press Vol. 79 | |
[まとめ] | |
コンテナ間の協調としてオーケストレーション周りのデザインが大事。ツールの決定打はまだない | |
ホストとコンテナが1:1, 1:nの構成でネットワークオプションや監視方法を変える | |
ifconfigを使う人はおじさん。ip addrを使いましょう | |
Dockerでのデプロイの環境で悩んだらFlynnを参考にするのが吉 | |
Dockerを利用したホストマシンの内外のインフラ設計はガチ | |
管理するサーバが多いところはDockerを使ってプライベートHerokuをつくろうとしている | |
[所感] | |
みんな模索しながら使っている | |
1:nの場合ネットワークの知識がすごい必要っぽい | |
自分の案件ではChefでサーバ建てているので差し迫ってDocker必要ない | |
ツールの乱立と模索感がはんぱない。付いて行けないwwww | |
Dockerのgithubにlib系のオーケストレーションツールがいくつか提供されている | |
Apache ZookeeperやMesosは調べてみたい... | |
# mesosはWeb + DB Press Vol. 81のとこに記述あり | |
ここから内容 | |
[開催の挨拶] 田中さん@はてな | |
(Web + DB Press Vol. 81でImmutable Infrastructureの記事書いてます) | |
今日の朝にDocker1.1がリリースされた!! | |
本番や開発環境で使っているのは会場で10%くらい | |
[Orchestration Tools] @philwhln | |
solomon hykesにインタビューした | |
stackato | |
ActiveState | |
プライベートPaas | |
Dockerでデプロイできるようになる | |
Docker -> stackato -> Heroku | |
DockerはOrchestrationは今はない | |
1 machine 1 containerは楽 | |
1 machine many containersはしんどい | |
many machines many containersはもっとしんどい | |
Provツール | |
Chef | |
Puppet | |
Ansible | |
Salt | |
Orchestration Tool | |
libswarm | |
<https://github.com/docker/libswarm> | |
Netflix | |
<http://nirmata.com/2013/10/netflix-oss-meet-docker/> | |
libcontainer | |
<https://github.com/docker/libcontainer> | |
kubernetes | |
cluster container tool | |
<https://github.com/GoogleCloudPlatform/kubernetes> | |
サービスを発見する | |
Apache zookeeper | |
Consul | |
By M.Hashimoto | |
gossip protocol | |
Mesos | |
大学からできたプロダクト | |
etcd+fleet | |
複数のコンテナからのログの収集はlogstash使ってる | |
Paas便利 | |
いっぱいあるけどあえてCloud Foundry + Docker + consulをおすすめかも | |
# 楽天もCloud Foundry使っている | |
[Monitoring Docker with Mackerel] @stanaka | |
マカレル | |
はてなのCTO | |
1. Monitoring Docker | |
コンテナごとのCPUやメモリが見れない | |
ホスト全体の値しかみえない | |
ホスト側からのモニタリングcgoupのレポートを利用 | |
Ubuntuの場合 | |
/sys/fs/cgroup/cpuacct/docker/{コンテナID}/cpuacct.stat | |
/sys/fs/cgroup/memory/docker/{コンテナID}/memory.stat | |
rssとmaped_fileを見ればいいらしい | |
docker topの情報がホストからとれる | |
ホストとコンテナの関係 | |
1:n | |
CIサーバ・開発サーバ | |
1:1 | |
本番サーバ | |
AWSのElastic Beanstalkもこれ | |
2. Deploy with DockerHub | |
github -> Docker Hub -> Hubot | |
hubot | |
ふーぼっと | |
チャットツール | |
スクリプト書けばデプロイもできる | |
今は古いコンテナの削除は手でやっている | |
Docker Hub | |
Automated Build | |
プライベートリポジトリが今なら一個ただ | |
imageのpushがレイテンシの関係で遅い! | |
3. Monitoring Docker with Mackerel | |
日本語で鯖 | |
ロールごとにグラフを可視化できる | |
agentはsensu互換の出力 | |
docker run -e 'ENV=HOGEHOGE' my/image | |
mackerel-dockerのプラグインは順次公開予定 | |
Q&A | |
監視対象 | |
1:1ならホスト側の負荷とコンテナがだいたい同じっぽいのでホストの監視でいい | |
1:nならホスト側からコンテナを見ないといけない | |
Dockerレジストリ | |
# ??? | |
systemd | |
[Dive into Dockerネットワーク] @mainyaa | |
Topgateの人 | |
コンテナ間通信の方法 | |
DockerのNetworking | |
ip a | |
ifconfigはおっさん | |
方法 | |
-link | |
別ネットワークが構築できて複数コンテナでネットワーク作れる | |
スケールできない | |
異なるホストにはlinkできない | |
ホストネットワークで実行 | |
$ docker run --net=host | |
仮想vethを作らない | |
1:1環境ならおすすめ | |
open vSwitch | |
OSSの仮想スイッチ | |
$ docker run -b=none | |
すべてのコンテナをdocker0経由にしてvswitchでネットワーク作る | |
# ambassador containerもあるってツイートが | |
<https://docs.docker.com/articles/ambassador_pattern_linking/> | |
安全 | |
IPがかぶるかも | |
docker-dhcpとか建てた方がいい | |
ロックインをさけるためにOrchestrationツールを使おう | |
Q&A | |
mac vlanってどう? | |
試したことない | |
[Age of Flynn] @deeet | |
楽天koboのアプリケーションエンジニア | |
rbdock | |
<https://github.com/tcnksm/rbdock> | |
Flynn | |
不倫 | |
Dockerを使ったOSSのPaasプロジェクト | |
たくさんの役割のDockerコンテナが協調している | |
Dockerの運用で困ったら参考にできる | |
Herokuの簡便さとEC2の自由さの溝を埋める | |
類似 | |
dokku | |
100行くらいのbashで実装 | |
マルチホストに対応 | |
Deis | |
CoreOSを利用したマルチホスト | |
Herokuやmesosの機能を持っている!! | |
Layer0 | |
Flynn/discovered | |
サービスディスカバリー | |
ホスト間でクラスタが構成 | |
リーダがいる | |
Flynn/flynn-host | |
Dockerのコンテナを管理 | |
ジョブの管理 | |
Xの処理をYというDockerイメージのコンテナで動かす | |
Layer1 | |
たくさんコンポーネントある | |
クラスタでそれぞれ一個ずつみたいな感じ | |
flynn/flynn-controller | |
HTTP APIサーバ | |
flynn/gitreceived | |
git pushを受け取ることに特化したsshサーバ | |
flynn/slugbuilder | |
Herokuのslugみたいな感じ | |
flynn/slugrunner | |
デプロイするやつ | |
herokuのdynoみたいな | |
今後 | |
production環境での安定した動作を最優先 | |
flynn/pinkerton | |
docker以外でもコンテナ使えるようにするプラグイン |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment