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 暂时到这里,后续不断的补充大量例子。

原文地址:https://www.cnblogs.com/aoximin/p/15116904.html