docker学习(九) 搭建swarm集群
程序员文章站
2024-03-12 11:48:02
...
搭建swarm集群
1 首先准备两个机器,这里我使用两个centos虚拟机,IP分别为192.168.72.128
,172.16.72.129
。128
作为manager
,129
作为worker
2 安装docker,安装过程不赘述,可参考 docker 安装。
3 拉取swarm镜像 docker pull swarm
4 安装manager。
在128上执行docker swarm init --advertise-addr 192.168.72.128
,执行docker node ls,会发现,有了manager节点
[root@localhost ~]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
s5f2z1yt9r4lnb0sn85ffdcby * localhost.localdomain Ready Active Leader
manager 将在端口 192.168.72.128:2377 侦听集群节点请求。
5 安装worker。
在manager的机器(128)上执行docker swarm join-token worker
,查看worker接入manager的命令。(另外查询接入manager的命令是docker swarm join-token manager
)
[[email protected] ~]# docker swarm join-token worker
To add a worker to this swarm, run the following command:
docker swarm join \
--token SWMTKN-1-3jaypc6gb11yoqix95fork2154yuligovz84yh78eue2f5qgfu-9s5becc76v4gwm3xlzpq0hy31 \
192.168.72.128:2377
在worker机器(129)执行查到的命令。这是在manager(128)上运行 docker node ls
,会发现有了worker节点.
[[email protected] ~]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
s5f2z1yt9r4lnb0sn85ffdcby * localhost.localdomain Ready Active Leader
szknwxpivyhiuam4feev9aipd localhost.localdomain Ready Ac
6 注意错误,worker执行接入时可以会报 xxxxxxx no route to host
,可能因为防火墙没开放2377端口,将防火墙端口开放,我直接把防火墙关了sudo iptables -F
,如果想开放特定端口,使用iptables可参考下面
Linux 防火墙开放特定端口 (iptables)
查看状态:
iptables -L -n
下面添加对特定端口开放的方法:
使用iptables开放如下端口
/sbin/iptables -I INPUT -p tcp --dport 8000 -j ACCEPT
保存
/etc/rc.d/init.d/iptables save
重启服务
service iptables restart
查看需要打开的端口是否生效?
/etc/init.d/iptables status
法2:
或直接编辑/etc/sysconfig/iptables
-A INPUT -p tcp -m tcp --dport 4000 -j ACCEPT
保存在前面部分
再重启:
service iptables restart
上一篇: Docker 基本的 image 操作