Submit Search
Upload
Kvwatcher
•
1 like
•
2,235 views
ke-m kamekoopa
Follow
V社LT大会用
Read less
Read more
Report
Share
Report
Share
1 of 23
Download now
Download to read offline
Recommended
rsyncのちょっとイイ話
rsyncのちょっとイイ話
Kazuhiro Oinuma
Using rump on NetBSD 7.0
Using rump on NetBSD 7.0
Masaru Oki
Rumpを使ってみる
Rumpを使ってみる
Masaru Oki
Couch DB in 15minutes
Couch DB in 15minutes
Yohei Sasaki
Dockerの改修を一緒にやりませんか
Dockerの改修を一緒にやりませんか
axsh co., LTD.
Rancher.ioを試してみる
Rancher.ioを試してみる
Takaaki Fukai
Jenkins with Docker
Jenkins with Docker
Yahoo!デベロッパーネットワーク
Dockerstart
Dockerstart
chanwoopark29
Recommended
rsyncのちょっとイイ話
rsyncのちょっとイイ話
Kazuhiro Oinuma
Using rump on NetBSD 7.0
Using rump on NetBSD 7.0
Masaru Oki
Rumpを使ってみる
Rumpを使ってみる
Masaru Oki
Couch DB in 15minutes
Couch DB in 15minutes
Yohei Sasaki
Dockerの改修を一緒にやりませんか
Dockerの改修を一緒にやりませんか
axsh co., LTD.
Rancher.ioを試してみる
Rancher.ioを試してみる
Takaaki Fukai
Jenkins with Docker
Jenkins with Docker
Yahoo!デベロッパーネットワーク
Dockerstart
Dockerstart
chanwoopark29
Dockerハンズオン
Dockerハンズオン
Kazuyuki Mori
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
Takashi Takizawa
Railsの開発環境作るぞ
Railsの開発環境作るぞ
Yoichi Toyota
Apache Auroraの始めかた
Apache Auroraの始めかた
Masahito Zembutsu
Linux Namespaces
Linux Namespaces
Masami Ichikawa
Web Service on SSD
Web Service on SSD
Kazuho Oku
Lxc cf201207-presen
Lxc cf201207-presen
Kouhei Maeda
どっかのしたのほう
どっかのしたのほう
_norin_
Bossan dentoo
Bossan dentoo
kubo39
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
Nobuto Murata
Awsで構築したのだよ 04 ec2インスタンス起動時にホスト名を変更
Awsで構築したのだよ 04 ec2インスタンス起動時にホスト名を変更
聡 大久保
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Nobuto Murata
エンジニアのための痔の話
エンジニアのための痔の話
Kouhei Maeda
Awsで構築したのだよ 03 ec2インスタンスに設定したタグをサーバから取得
Awsで構築したのだよ 03 ec2インスタンスに設定したタグをサーバから取得
聡 大久保
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよ
npsg
S2s websrv201011-presen
S2s websrv201011-presen
Kouhei Maeda
Awsで構築したのだよ 01 ユーザのコンソール操作をログに残す
Awsで構築したのだよ 01 ユーザのコンソール操作をログに残す
聡 大久保
Newcomer2020 Docker研修
Newcomer2020 Docker研修
Suguru Yazawa
Dockerと継続的インテグレーション
Dockerと継続的インテグレーション
Yahoo!デベロッパーネットワーク
DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所
hdais
設計してますか?
設計してますか?
ke-m kamekoopa
関数型もモナドも分からなくてもScalaと言う言語は便利らしい
関数型もモナドも分からなくてもScalaと言う言語は便利らしい
ke-m kamekoopa
More Related Content
What's hot
Dockerハンズオン
Dockerハンズオン
Kazuyuki Mori
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
Takashi Takizawa
Railsの開発環境作るぞ
Railsの開発環境作るぞ
Yoichi Toyota
Apache Auroraの始めかた
Apache Auroraの始めかた
Masahito Zembutsu
Linux Namespaces
Linux Namespaces
Masami Ichikawa
Web Service on SSD
Web Service on SSD
Kazuho Oku
Lxc cf201207-presen
Lxc cf201207-presen
Kouhei Maeda
どっかのしたのほう
どっかのしたのほう
_norin_
Bossan dentoo
Bossan dentoo
kubo39
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
Nobuto Murata
Awsで構築したのだよ 04 ec2インスタンス起動時にホスト名を変更
Awsで構築したのだよ 04 ec2インスタンス起動時にホスト名を変更
聡 大久保
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Nobuto Murata
エンジニアのための痔の話
エンジニアのための痔の話
Kouhei Maeda
Awsで構築したのだよ 03 ec2インスタンスに設定したタグをサーバから取得
Awsで構築したのだよ 03 ec2インスタンスに設定したタグをサーバから取得
聡 大久保
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよ
npsg
S2s websrv201011-presen
S2s websrv201011-presen
Kouhei Maeda
Awsで構築したのだよ 01 ユーザのコンソール操作をログに残す
Awsで構築したのだよ 01 ユーザのコンソール操作をログに残す
聡 大久保
Newcomer2020 Docker研修
Newcomer2020 Docker研修
Suguru Yazawa
Dockerと継続的インテグレーション
Dockerと継続的インテグレーション
Yahoo!デベロッパーネットワーク
DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所
hdais
What's hot
(20)
Dockerハンズオン
Dockerハンズオン
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
Railsの開発環境作るぞ
Railsの開発環境作るぞ
Apache Auroraの始めかた
Apache Auroraの始めかた
Linux Namespaces
Linux Namespaces
Web Service on SSD
Web Service on SSD
Lxc cf201207-presen
Lxc cf201207-presen
どっかのしたのほう
どっかのしたのほう
Bossan dentoo
Bossan dentoo
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
Awsで構築したのだよ 04 ec2インスタンス起動時にホスト名を変更
Awsで構築したのだよ 04 ec2インスタンス起動時にホスト名を変更
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
エンジニアのための痔の話
エンジニアのための痔の話
Awsで構築したのだよ 03 ec2インスタンスに設定したタグをサーバから取得
Awsで構築したのだよ 03 ec2インスタンスに設定したタグをサーバから取得
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよ
S2s websrv201011-presen
S2s websrv201011-presen
Awsで構築したのだよ 01 ユーザのコンソール操作をログに残す
Awsで構築したのだよ 01 ユーザのコンソール操作をログに残す
Newcomer2020 Docker研修
Newcomer2020 Docker研修
Dockerと継続的インテグレーション
Dockerと継続的インテグレーション
DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所
Viewers also liked
設計してますか?
設計してますか?
ke-m kamekoopa
関数型もモナドも分からなくてもScalaと言う言語は便利らしい
関数型もモナドも分からなくてもScalaと言う言語は便利らしい
ke-m kamekoopa
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
SQLアンチパターン - ジェイウォーク
SQLアンチパターン - ジェイウォーク
ke-m kamekoopa
SQLアンチパターン - ナイーブツリー
SQLアンチパターン - ナイーブツリー
ke-m kamekoopa
Interlli jとplayとjavaとscala
Interlli jとplayとjavaとscala
ke-m kamekoopa
Playで作るwebsocketサーバ
Playで作るwebsocketサーバ
ke-m kamekoopa
デプロイツールFabric
デプロイツールFabric
ke-m kamekoopa
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
Yuji Nojima
SQLアンチパターンNight
SQLアンチパターンNight
Hironori Miura
Viewers also liked
(10)
設計してますか?
設計してますか?
関数型もモナドも分からなくてもScalaと言う言語は便利らしい
関数型もモナドも分からなくてもScalaと言う言語は便利らしい
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン - ジェイウォーク
SQLアンチパターン - ジェイウォーク
SQLアンチパターン - ナイーブツリー
SQLアンチパターン - ナイーブツリー
Interlli jとplayとjavaとscala
Interlli jとplayとjavaとscala
Playで作るwebsocketサーバ
Playで作るwebsocketサーバ
デプロイツールFabric
デプロイツールFabric
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
SQLアンチパターンNight
SQLアンチパターンNight
Similar to Kvwatcher
LAMP環境にDocker環境を追加してみた
LAMP環境にDocker環境を追加してみた
Hiroshi Hatta
Docker friendlyPHP / Laravel
Docker friendlyPHP / Laravel
Kentarou Takeda
Dockerで開発環境をデリバる
Dockerで開発環境をデリバる
Daigou Harada
明日からはじめられる Docker + さくらvpsを使った開発環境構築
明日からはじめられる Docker + さくらvpsを使った開発環境構築
MILI-LLC
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Yosuke INOUE
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Masahito Zembutsu
Dockerを使ってみよう
Dockerを使ってみよう
Ryo Adachi
Docker lifecycle event hooks
Docker lifecycle event hooks
Ryo Nakamaru
インフラエンジニアのためのRancherを使ったDocker運用入門
インフラエンジニアのためのRancherを使ったDocker運用入門
Masahito Zembutsu
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもん
Masahito Zembutsu
Vagrant & Dockerによるイマドキの開発環境構築
Vagrant & Dockerによるイマドキの開発環境構築
Nakazawa Yuichi
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Masahiro Nagano
初心者が伝えるDocker超入門
初心者が伝えるDocker超入門
chichi1091
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Ryo Nakamaru
2014.11.01 Dockerことはじめ
2014.11.01 Dockerことはじめ
xyzplus_net
捕鯨!詳解docker
捕鯨!詳解docker
雄哉 吉田
鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解
Masahito Zembutsu
Dockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しよう
Takashi Makino
Docker基礎+docker0.9, 0.10概要
Docker基礎+docker0.9, 0.10概要
Kazuyuki Mori
Hotoの奇妙な挑戦 〜 Swiftクルセイダーズ 〜
Hotoの奇妙な挑戦 〜 Swiftクルセイダーズ 〜
Yuki Ishikawa
Similar to Kvwatcher
(20)
LAMP環境にDocker環境を追加してみた
LAMP環境にDocker環境を追加してみた
Docker friendlyPHP / Laravel
Docker friendlyPHP / Laravel
Dockerで開発環境をデリバる
Dockerで開発環境をデリバる
明日からはじめられる Docker + さくらvpsを使った開発環境構築
明日からはじめられる Docker + さくらvpsを使った開発環境構築
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerを使ってみよう
Dockerを使ってみよう
Docker lifecycle event hooks
Docker lifecycle event hooks
インフラエンジニアのためのRancherを使ったDocker運用入門
インフラエンジニアのためのRancherを使ったDocker運用入門
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもん
Vagrant & Dockerによるイマドキの開発環境構築
Vagrant & Dockerによるイマドキの開発環境構築
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
初心者が伝えるDocker超入門
初心者が伝えるDocker超入門
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
2014.11.01 Dockerことはじめ
2014.11.01 Dockerことはじめ
捕鯨!詳解docker
捕鯨!詳解docker
鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解
Dockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しよう
Docker基礎+docker0.9, 0.10概要
Docker基礎+docker0.9, 0.10概要
Hotoの奇妙な挑戦 〜 Swiftクルセイダーズ 〜
Hotoの奇妙な挑戦 〜 Swiftクルセイダーズ 〜
More from ke-m kamekoopa
PyKon JP 2014
PyKon JP 2014
ke-m kamekoopa
Scala.js
Scala.js
ke-m kamekoopa
ぎっとの「ぎ」
ぎっとの「ぎ」
ke-m kamekoopa
# Rabbitサンプル
# Rabbitサンプル
ke-m kamekoopa
デプロイメントパイプラインって何?
デプロイメントパイプラインって何?
ke-m kamekoopa
継続的にデリバリーって何?
継続的にデリバリーって何?
ke-m kamekoopa
Play frameworkをエヴァンジェる
Play frameworkをエヴァンジェる
ke-m kamekoopa
Php5.4
Php5.4
ke-m kamekoopa
Test
Test
ke-m kamekoopa
More from ke-m kamekoopa
(9)
PyKon JP 2014
PyKon JP 2014
Scala.js
Scala.js
ぎっとの「ぎ」
ぎっとの「ぎ」
# Rabbitサンプル
# Rabbitサンプル
デプロイメントパイプラインって何?
デプロイメントパイプラインって何?
継続的にデリバリーって何?
継続的にデリバリーって何?
Play frameworkをエヴァンジェる
Play frameworkをエヴァンジェる
Php5.4
Php5.4
Test
Test
Kvwatcher
1.
etcd見張るやつ Dockerで動的ロードバランサについ て考えた
@kamekoopa
2.
お前 is 誰
けーえむ / @kamekoopa ただのプログラマ Java, PHP, Scala, Python Play2とかが好き 最近触れてない ボルダリングが上達しない ミニ四駆
3.
Docker使ってますか? いろいろ便利 プロセスの稼働環境を常にクリーンに
構築できる 環境をバージョン管理可能 冪等がなんちゃらとか完全に気にしな くて良い ※ 詳しい説明は省きます
4.
マルチホストでDocker webアプリとか乗っけるならやっぱ りリバースプロキシとかで負荷分
散したい Dockerでマルチホスト 一気に難易度上がる感 スケジューリング サービスディスカバリ
5.
マルチホストでDocker どのホストへ配置するか どのホストに配置されるかは分からな
い 配置するホスト固定する? スケールアウトしづらい デプロイ方法はどうするのとか にも絡む
6.
マルチホストでDocker あるコンテナがどのホストで動 いているか
ホストとポート固定する? 前述のスケールアウトの問題 ポートが衝突するので同一ホストで2インスタ ンス以上立ちあげられない
7.
マルチホストでDocker あるコンテナがどこのホストの どのポートで立ち上がるかを静
的に決めるのは難しい 立ち上がったコンテナの状況に 応じて動的に設定されるリバー スプロキシの欲しさが高まる
8.
マルチホストでDocker インターネットを探してみてもあ まり知見が見当たらない
色々ググってたら以下のツール が見つかった Registrator etcd
9.
Registrator Dockerコンテナが立ち上がったり 死んだりするのを監視して、変化
があったらetcdに書き込む 各コンテナホストで立ち上げる これ自体もDockerコンテナで実 行するのでセットアップが楽
10.
etcd 分散KeyValueStore 各コンテナホストの状況を集約
する所 耐障害性がある 割と早いらしい
11.
動的リバースプロキシ コンテナを適当にデプロイする Registratorがetcdに書き込む
あとはetcdの内容を適当なリバー スプロキシの設定へ反映できれば 良さそう?
12.
なら作ろう! と思ったけどconfdというものが既 にあった。
13.
confd etcdとかを見張って、その内容に 応じて設定ファイルを書き換える
書き換える設定ファイルはgoの templateの書式で記述する インターバルで見張るモード etcdをwatchして変更があった瞬 間に駆動するモード
14.
ということで コンテナを適当にデプロイする Registratorがetcdに書き込む
confdにetcdの内容を元にnginx の設定ファイルを生成させる で出来そう!
15.
と思ったら(2回目) confdの挙動がちょっとアレっぽい 保持してるキャッシュが適切に
クリアされてない etcdのキーが削除された時に適切にフ ァイルが生成されない チェックコマンドが実質的に意 味をなしてなさげ 詳しく書くには紙面が足りない
16.
仕方ないので 簡易版confdみたいなの作ってみた https://github.com/kamekoopa/
kvwatcher pythonなのでjinja2テンプレート使っ てます docker hubにあげてあるので
17.
でpullできます
18.
試し方 どっかにetcd構築する コンテナホストでRegistratorを
立ち上げて、さっき作ったetcd を見るようにする
19.
試し方 kvwatcherをpullしてrun
20.
とそれに従ったテンプレー トファイルが必要 ギッハブのプロジェクトの デ
ィレクトリ配下見てもらえれば何となくわかる と思います
21.
デモ 作る余力がなかった(´・ω・`)
22.
まとめ nginxを利用した動的リバースプ ロキシ
サービス登録をRegistrator バックエンドをetcd 設定への反映をconfd
23.
まとめ 実際に稼働中サービスで試した わけじゃないので問題は出てく
るかもしれない あくまで実験 nginxの設定ドンドコ書き換えて reloadしまくるし confdはまだちょっと動きが怪し そう(2014-12-03時点)
24.
まとめ ConsulやSkydns2とかもあるらし い
dnsとしてサービスディスカバリをや る dnsクライアントがSRVレコードを解釈 できる必要がある
25.
おわり ありがとうございました
Download now