CICD系列(二):docker swarm集群搭建
为什么选择swarm,而没有选择更加成熟的k8s,主要是自己对k8s并没有了解太多,而我的需求只是实现不同主机之间的容器能够正常通信。看过docker官方文档之后,感觉用swarm结合overlay网络可以实现。故选择了swarm一、环境准备准备两台机器主机名称主机IP主机用途server1140.143.112.111运行swarm manage节点s...
·
为什么选择swarm,而没有选择更加成熟的k8s,主要是自己对k8s并没有了解太多,而我的需求只是实现不同主机之间的容器能够正常通信。看过docker官方文档之后,感觉用swarm结合overlay网络可以实
现。故选择了swarm
一、环境准备
准备两台机器
主机名称 | 主机IP | 主机用途 |
---|---|---|
server1 | 140.143.112.111 | 运行swarm manage节点 |
server2 | 140.143.112.112 | 运行swarm worker节点 |
二、配置
2.1 开放相关端口 2377/tcp 7946/tcp 7946/udp 4789/udp
在server1和server2上分别执行如下命令
$ firewall-cmd --add-port={2377/tcp,7946/tcp,7946/udp,4789/udp} --permanent
$ firewall-cmd --reload
$ firewall-cmd --list-port
若提示“FirewallD is not running”,请先开启firewall防火墙
2.2 swarm配置
2.2.1 在server1上对swarm进行初始化,分两种情况:
- 所有主机在同一局域网
# 直接执行下面命令
docker swarm init
- 若不在一个局域网内,则指定连接当前服务器地址
# docker swarm init --advertise-addr [server1的公网IP]
docker swarm init --advertise-addr 140.143.112.111
3. swarm初始化成功之后,控制台会打印出其他主机想加入此swarm所需要执行的命令(如上图所示),也可通过以下命令查看
# 添加一台主机作为worker时要执行的命令,可在manager节点上通过下面命令查看
docker swarm join-token worker
# 添加一台主机作为manager时要执行的命令,可在manager节点上通过下面命令查看
docker swarm join-token manager
执行之后,控制台会打印出相应的命令,如下图所示
2.2.1 将server2加入到server1的swarm集群中
分两种情况:
- 将server2作为worker节点加入到swarm集群中,执行如下命令
# 直接将manager控制台中的命令在server2上执行即可
docker swarm join --token SWMTKN-1-*******-******* 140.143.112.111:2377
2. 将server2作为manager节点加入到swarm集群中,执行如下命令
# 直接将manager控制台中的命令在server2上执行即可
docker swarm join --token SWMTKN-1-*******-******* 140.143.112.111:2377
2.3 overlay网络配置
创建网络并指定ip段
- 在manager节点(server1)上,执行如下命令,创建overlay网络
# 其中的 subnet指定子网配置
# 其中gateway指定网关配置
docker network create \
--driver overlay \
--subnet=10.11.0.0/16 \
--gateway=10.11.0.2 \
--attachable overlay-network
2. 查看overlay网络是否创建成功
docker network ls
3. 查看swarm集群是否创建成功
docker node ls
所有配置全部来源于官网:
overlay网络配置
至此,swarm集群搭建完成!
相关阅读:
CICD系列(一):docker环境配置
CICD系列(三):git搭建及配置
CICD系列(四):maven私服仓库(nexus)搭建及配置
更多推荐
已为社区贡献1条内容
所有评论(0)