docker Swarm集群

本文详细介绍如何搭建 Docker Swarm 集群,并通过 Nginx 实现负载均衡。包括 Swarm 集群的搭建过程、NFS 服务器配置、Nginx 的安装及配置等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

搭建docker swarm集群

机器环境

Swarm集群
IP:192.168.174.147   主机名:  manager147  担任角色: swarm manager
IP:192.168.174.163   主机名:  node163  担任角色: swarm node
IP:192.168.174.164   主机名:  node164  担任角色: swarm node
NFS服务器
IP:192.168.174.167
LB -> Nginx
IP:192.168.174.168

在这里插入图片描述

搭建NFS服务器

1.1安装nfs服务

yum install -y nfs-utils
systemctl start nfs-server
mkdir /web
chmod 777 /web
#将web页面存放到此目录下
[root@localhost ~]# cat /etc/exports
		/web 192.168.174.0/24(rw,all_squash,sync)
exportfs -rv

搭建swarm集群

1.0 在所有docker机器上安装nfs

yum install -y nfs-utils

1.1 在manager上执行

[root@manager147 ~]# docker swarm init --advertise-addr 192.168.174.147
docker swarm join --token SWMTKN-1-3aq5b1fh3omiq6uu1whu9byqwfmtkthkesvs8oukvqfqh7pp1g-erqtwgfawibiwgf4tgj0782wa 192.168.174.147:2377

[root@manager147 ~]# docker node ls
ID                            HOSTNAME     STATUS    AVAILABILITY   MANAGER STATUS   ENGINE VERSION
gvdkfwr1zavp1r4y8pgyrklv0 *   manager147   Ready     Active         Leader           20.10.3

1.2 在work上执行

docker swarm join --token SWMTKN-1-3aq5b1fh3omiq6uu1whu9byqwfmtkthkesvs8oukvqfqh7pp1g-erqtwgfawibiwgf4tgj0782wa 192.168.174.147:2377

1.3 在manager上执行

[root@manager147 ~]# docker node ls
ID                            HOSTNAME     STATUS    AVAILABILITY   MANAGER STATUS   ENGINE VERSION
gvdkfwr1zavp1r4y8pgyrklv0 *   manager147   Ready     Active         Leader           20.10.3
rcfmq933rwammtgfuucc591al     node163      Ready     Active                          20.10.3
2fghot8id4nlo80gruido5xao     node164      Ready     Active                          20.10.3

[root@manager147 ~]# docker service create -d     --name nfs-service \
    --mount 'type=volume,source=nfsvolume,target=/usr/share/nginx/html,volume-driver=local,volume-opt=type=nfs,volume-opt=device=:/web,"volume-opt=o=addr=192.168.174.167,rw,nfsvers=4,sync"'  \
    --replicas 6      -p 80:80     nginx:1.18
yvcdi2z6jqmfvbo5jx1qc8mcx

搭建Nginx负载均衡器

yum install -y nginx
systemctl start nginx
# 修改nginx配置文件
upstream swarm_pools { 
    server 192.168.174.163      weight=10;		#权重
    server 192.168.174.164      weight=10;
    server 192.168.174.147      weight=5;	
}
server  {
..........
	location / {
                proxy_pass http://swarm_pools;
        }
}

#刷新nginx配置
nginx -s reload

访问负载均衡器的外网卡IP
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值