Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Docker 1.12 の衝撃
M3 Tech Talk 2016/6/28 (@yteraoka)
Docker 1.11 の Swarm クラスタ
を Production 環境に投入すべく、
ほぼほぼ構成が出来上がったとこ
ろでそれはやって来ました
導入予定の構成
● 各サーバーがTLS通信(サーバー、クライアントの証明書も確認)
するための証明書発行機能
● Swarm Cluster を構成するための Swarm Manager(3台 or 5台)
+ Key / Value ストア(Consul)
...
これがなんと!
たったのこれだけ
● 分散Key-Valueストア
● それを必要としていたOverlay Network
● TLS証明書発行機能
● 外部からのアクセス用Proxy
全部取り込まれました!!
# 1台目
$ docker swarm init --listen-addr 192.168.99.121:2377
# 2台目
$ docker swarm join --manager ¥
--listen-addr 192.168.99...
マネージャは3台あれば冗長構成となるので、Docker の実行ノードがもっと
欲しい場合は
$ docker swarm join ¥
--listen-addr 192.168.99.124:2377 192.168.99.121:2377
...
コマンドもたったのこれだけ
あの構成にどれだけの...
が
これだけではない!
さらに、これまでの Swarm には無かった
Service という概念、機能が加わりました
これは Kubernetes などに存在し、これまで
の Swarm には無い辛いところでした
$ docker service create ¥
--replicas 3 -p 3000 ¥
--name myapp myapp:1.0
$ docker service create ¥
--replicas 3 -p 3000 ¥
--name myapp myapp:1.0
これで myapp コンテナを3つ起動してくれます、不意に落ちて
も3つをキープするように起動してく...
$ docker service scale myapp=5
$ docker service scale myapp=5
これでさらに2つのコンテナを追加して5つのコンテナの実行を
維持してくれます
ピークを過ぎたら減らせばOK
https://docs.docker.com/engine/swarm/...
Rolling update
$ docker service update ¥
--image myapp:1.1 myapp
$ docker service update ¥
--image myapp:1.1 myapp
これで myapp の実行イメージを順番に切り替えてくれます
同時にいくつ切り替えるのか、間隔をどれだけ開けるのかは
create / upda...
Load Balancing
3000/tcp
myapp
3000/tcp
myapp
3000/tcp
myapp
32767/tcp 32767/tcp 32767/tcp
Docker外
サービスのポートはどの node でも同
じ番号に map され、各 node...
bundle / stack
https://github.com/docker/docker/blob/master/experimental/docker-stacks-and-bundles.md
bundle は複数のコンテナをまとめた定義
ファイル(アプリとRedisのセットなど)
(Kubernetes の Pod とは違いそう)
stack は bundle から起動されたコンテナ
の集合
Docker 1.12
正式リリースが待ち遠しい
Docker 1.12 の衝撃
Prochain SlideShare
Chargement dans…5
×

Docker 1.12 の衝撃

19 872 vues

Publié le

new features of docker 1.12

Publié dans : Internet
  • Do you need a Loan? Are you looking for Finance? Are you looking for a Loan to enlarge your business? I think you have come to the right place. We offer Loans at low interest rate. Interested people should please contact us on For immediate response to your application, Kindly reply to this emails below only: muslimgroupofcompany@gmail.com call or add us on what's app +1 647-489-4414
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici

Docker 1.12 の衝撃

  1. 1. Docker 1.12 の衝撃 M3 Tech Talk 2016/6/28 (@yteraoka)
  2. 2. Docker 1.11 の Swarm クラスタ を Production 環境に投入すべく、 ほぼほぼ構成が出来上がったとこ ろでそれはやって来ました
  3. 3. 導入予定の構成
  4. 4. ● 各サーバーがTLS通信(サーバー、クライアントの証明書も確認) するための証明書発行機能 ● Swarm Cluster を構成するための Swarm Manager(3台 or 5台) + Key / Value ストア(Consul) ● コンテナを実行する Docker サーバーとその各サーバー上の Swarm Agent ● Docker の Overlay network を構成するための Key-Value ストア (Consul) (別々のDockerサーバー上のコンテナが同一ネットワークとして稼働) ● 外部からコンテナにアクセスするための Reverse Proxy / Load Balancer としての nginx または HAProxy ● nginx / HAProxy の設定をコンテナの起動停止に合わせて更新するための Consul-Template(Consul も必要) ● Consul-Template のために Docker Engine のイベントを監視してサービ スを登録、削除する Registrator ● 様々な用途で使われる Consul は単一のクラスタ
  5. 5. これがなんと!
  6. 6. たったのこれだけ
  7. 7. ● 分散Key-Valueストア ● それを必要としていたOverlay Network ● TLS証明書発行機能 ● 外部からのアクセス用Proxy 全部取り込まれました!!
  8. 8. # 1台目 $ docker swarm init --listen-addr 192.168.99.121:2377 # 2台目 $ docker swarm join --manager ¥ --listen-addr 192.168.99.122:2377 192.168.99.121:2377 # 3台目 $ docker swarm join --manager ¥ --listen-addr 192.168.99.123:2377 192.168.99.121:2377 # 知らない node が join してくると困るので leader node で # accept する $ docker node accept <node name>
  9. 9. マネージャは3台あれば冗長構成となるので、Docker の実行ノードがもっと 欲しい場合は $ docker swarm join ¥ --listen-addr 192.168.99.124:2377 192.168.99.121:2377 $ docker swarm join ¥ --listen-addr 192.168.99.125:2377 192.168.99.121:2377 と、どんどん追加ですればOK 減らすのも簡単、稼働中のコンテナは別 node に移してくれる
  10. 10. コマンドもたったのこれだけ あの構成にどれだけの...
  11. 11.
  12. 12. これだけではない!
  13. 13. さらに、これまでの Swarm には無かった Service という概念、機能が加わりました これは Kubernetes などに存在し、これまで の Swarm には無い辛いところでした
  14. 14. $ docker service create ¥ --replicas 3 -p 3000 ¥ --name myapp myapp:1.0
  15. 15. $ docker service create ¥ --replicas 3 -p 3000 ¥ --name myapp myapp:1.0 これで myapp コンテナを3つ起動してくれます、不意に落ちて も3つをキープするように起動してくれます。実行していた Docker node が H/W 障害などで停止しても別の node で実行 してくれます https://docs.docker.com/engine/swarm/swarm-tutorial/deploy-service/
  16. 16. $ docker service scale myapp=5
  17. 17. $ docker service scale myapp=5 これでさらに2つのコンテナを追加して5つのコンテナの実行を 維持してくれます ピークを過ぎたら減らせばOK https://docs.docker.com/engine/swarm/swarm-tutorial/scale-service/
  18. 18. Rolling update
  19. 19. $ docker service update ¥ --image myapp:1.1 myapp
  20. 20. $ docker service update ¥ --image myapp:1.1 myapp これで myapp の実行イメージを順番に切り替えてくれます 同時にいくつ切り替えるのか、間隔をどれだけ開けるのかは create / update で指定する --update-parallelism, --update- delay で調整可能 https://docs.docker.com/engine/swarm/swarm-tutorial/rolling-update/
  21. 21. Load Balancing
  22. 22. 3000/tcp myapp 3000/tcp myapp 3000/tcp myapp 32767/tcp 32767/tcp 32767/tcp Docker外 サービスのポートはどの node でも同 じ番号に map され、各 node に振り 分けられる(ラウンドロビン) この図ではおまかせ設定のポート番号 だが、任意の番号を指定可能 こういうわけなので Consul- Template と組み合わせた nginx / HAProxy というものは必須ではなく なります Consul いなくなっちゃったし
  23. 23. bundle / stack https://github.com/docker/docker/blob/master/experimental/docker-stacks-and-bundles.md
  24. 24. bundle は複数のコンテナをまとめた定義 ファイル(アプリとRedisのセットなど) (Kubernetes の Pod とは違いそう) stack は bundle から起動されたコンテナ の集合
  25. 25. Docker 1.12 正式リリースが待ち遠しい

×