docker 应用篇————swarm[二十]
前言
简单介绍一下swarm。
正文
前提,docker 安装。
有3台机器,全部按照了docker。
现在开始搭建集群。
首先需要初始化:
然后需要注入:
注入之后,那么需要就是启动节点加入进来,那么怎么加入进来呢?
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-3rgcg67nzzv3gvf45uwqgzl0spezh6ko91fm3qh1slpcijfp0z-5y0rj2u4xu1ldy2pwn3yp7ni1 192.168.0.104:2377
上面已经告诉我们如何加入了。
然后再另外两台机器上加入。
然后用docker node ls 看一眼:
这样子加入的都是worker节点,那么如何加入manager节点呢?
生成manager 节点的秘钥:
然后别的机器使用这个就可以加入了。
这样就是一个管理节点了。
可能对上面这些行为有点迷惑,那么看下面这两张图吧。
加入为manager 节点,那么就可以管理其他work节点了。
这样就形成了双主双从。
那么如果有一个worker节点挂了,其他节点是否可用呢?
这台机器宕机了,然后使用docker node ls依然可用。
那么如果是一个manager节点挂了呢?
然后就发现不可用了,这是因为要超过一半manager的节点要为存活。
那么现在我们知道起码3才作为manager节点。
那么现在我得弄成3台manager。
那么看下如何leader节点挂了会怎么样。
会发现另外一台变成了leader了。
那么就可以创建我们的容器了。
这里用一个nginx举例子。
然后使用docker service ps my-nginx 查看一下。
我们可以到那台机器上去看一下,发现是ok的。
那么如何我们要动态扩容呢?
使用docker service update --replicas 3 my-nginx 扩容到3个。
当然docker service scale my-nginx=3 也是可以扩容的。
结
docker 暂时到这里,后续不断的补充大量例子。