replicated vs global mode - 每天5分钟玩转 Docker 容器(105)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了replicated vs global mode - 每天5分钟玩转 Docker 容器(105)相关的知识,希望对你有一定的参考价值。

Swarm 可以在 service 创建或运行过程中灵活地通过 --replicas 调整容器副本的数量,内部调度器则会根据当前集群的资源使用状况在不同 node 上启停容器,这就是 service 默认的 replicated mode。在此模式下,node 上运行的副本数有多有少,一般情况下,资源更丰富的 node 运行的副本数更多,反之亦然。

除了 replicated mode,service 还提供了一个 globalmode,其作用是强制在每个 node 上都运行一个且最多一个副本。

此模式特别适合需要运行 daemon 的集群环境。比如要收集所有容器的日志,就可以 global mode 创建 service,在所有 node 上都运行 gliderlabs/logspout 容器,即使之后有新的 node 加入,swarm 也会自动在新 node 上启动一个 gliderlabs/logspout 副本。

 

docker service create \

       --mode global \

       --name logspout \

       --mount type=bind,source=/var/run/docker.sock,destination=/var/run/docker.sock \

       gliderlabs/logspout

 

技术分享图片

 

可以通过 docker service inspect 查看 service 的 mode。

技术分享图片

这里是 Global,如果创建 service 时不指定,默认是 Replicated

无论采用 global mode 还是 replicated mode,副本运行在哪些节点都是由 Swarm 决定的,作为用户我们有没有可能精细控制 service 的运行位置呢?

下一节我们来解答这个问题。

技术分享图片书籍:

1.《每天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html

2.《每天5分钟玩转OpenStack》
https://item.jd.com/12086376.html

技术分享图片

以上是关于replicated vs global mode - 每天5分钟玩转 Docker 容器(105)的主要内容,如果未能解决你的问题,请参考以下文章

Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication

Symbol的函数定义为void:global-auto-complete-mode

解决mysql二进制日志恢复数据报错:@@GLOBAL.GTID_MODE = OFF.

MySQL GROUP_replication????????????

global vs $GLOBALS

基于云服务器的mysql自建从库