欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

docker学习(九) 搭建swarm集群

程序员文章站 2024-03-12 11:48:02
...

搭建swarm集群

swarm集群参考链接如下:
链接地址
链接地址2
下面是我自己搭建的过程作一个记录

1 首先准备两个机器,这里我使用两个centos虚拟机,IP分别为192.168.72.128172.16.72.129128作为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-compose 启动一个springboot 连接mysql

下一篇 docker可视化工具dockerui