概述
Swarm集群由管理节点和工作节点组成。我将用一个管理节点和俩个工作节点来讲解。
初始化集群 (该节点自动成为管理节点)
# docker swarm init --advertise-addr ip地址
新开俩个虚拟机(推荐使用vmware,有克隆的功能,测试完可以删掉。),俩个虚拟机都输入上图 docker swarm join
那一行,加入集群。
# docker swarm join --token SWMTKN-1-40m9z7lf0b5oq7remw9foss359jid7y8vdrcu5equzifj8npc6-6su7ggk7e3z8wbh27m119dm1l 192.168.247.130:2377
你不能跟着我复制,你需要复制你初始化完的令牌。
每增加一个worker节点我就 docker node ls
查询一次。上面的“ * ” 指的是当前机器所属的节点。
已经创建成功了,最下面有增加管理节点的内容,如果不需要给其它节点改名就跳过俩条横线之间的内容。
---------------------------------不需要改名跳过横线内内容----------------------------------------------------------------
但是,因为我的虚拟机是克隆的,所以HOSTNAME
全部都一个名了,需要对它们进行修改,不然不便管理(可读性)。
让切换到fom714b08yxo1tdu4v26o6xmw
虚拟机终端,让它离开集群
# docker swarm leave
切换到管理节点终端
管理节点就显示为Down了,如果不为Down,就等一会。因为不为Down无法执行下面的删除操作。那为啥要删?因为worker节点退出后,管理节点还是存在,只是状态为Down了,而worker节点重连后是新增了一条信息,为Down的那一条就没有用了。
删除
# docker node rm fom714b08yxo1tdu4v26o6xmw
切换到刚才删除的那台机器,设置名称
# hostnamectl set-hostname worker1
加入集群
# docker swarm join --token SWMTKN-1-40m9z7lf0b5oq7remw9foss359jid7y8vdrcu5equzifj8npc6-6su7ggk7e3z8wbh27m119dm1l 192.168.247.130:2377
切换管理节点终端
第二个worker节点也改了,改成manager2
---------------------------------不需要改名跳过横线内内容----------------------------------------------------------------
宕机止损
此时,我有三台主机:
bogen(管理节点)
worker1(工作节点)
manager2(工作节点)
这个manager2呢,咱把它升一下级,升为管理节点。
切换到管理节点终端
# docker node promote manager2
# docker node ls
这个老大呢,就是为首的管理节点。这个老二就是当老大挂了的时候老二接替上。
现在就去把老大弄死(关机),去看看老二有多开心。
说需要有一半以上的管理节点存活才行。那我们先复活老大,让老二哭去。再去克隆一个虚拟机,命名为manager3升级为管理节点。
好了,看在老大有功的份上,这次不弄死它了,让它退休(关机)吧。
切换到管理节点老二那
# docker node ls
可以见得,老二已经接管了。
那么,总结就是,你起码需要有三个管理节点。
在我临走前,第二代老二恭敬的问:您老何时再来?我好去接您。
最后
以上就是含糊电灯胆为你收集整理的Docker(五) - 创建 Swarm mode集群的全部内容,希望文章能够帮你解决Docker(五) - 创建 Swarm mode集群所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复