基于Docker Swarm的集群部署

1、配置3台虚拟机

在这里插入图片描述
机器环境(三台机器,centos系统)

IP:192.168.31.44 主机名:Manager 担任角色:swarm manager

IP:192.168.31.109 主机名:Work1 担任角色:swarm node

IP:192.168.31.230 主机名:Work2 担任角色:swarm node

1.1准备工作

1.1.1修改主机名

########修改主机名
#########192.168.31.44  主机上执行
[root@manager43 ~]# hostnamectl set-hostname Manager
 
 #########192.168.31.109 主机上执行
[root@node188 ~]# hostnamectl set-hostname work1
 
#########192.168.31.230 主机上执行
[root@node139 ~]# hostnamectl set-hostname work2

1.1.2关闭防火墙 && 重启docker服务

这里3台机器都要做

[root@work2 ~]# systemctl stop firewalld.service
[root@work2 ~]#  systemctl restart docker

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2、安装docker

因为我已经安装了,所以我不做过多累赘,如果不清楚如何安装,可以看我的另一篇文章
这里简单粘贴下代码

yum -y install docker

3、创建swarm并且添加节点

3.1初始化mannger

格式为docker swarm init --advertise-addr IP(你的 mannger 主机的 ip地址)

[root@Mannger /]# docker swarm init --advertise-addr 192.168.31.44
Swarm initialized: current node (cqhipbj779gnh5bfrp9wxbeod) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-35tf81ly8fg36wxqlvrtq25g0j36677f7u55qkmczrge2cpn69-di6ogpppo8xm92vf7p8d28yjs 192.168.31.44:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

在这里插入图片描述
顺利的话你会看见这个界面,其中在这里插入图片描述
需要复制下来,这就是其他的蜂群连接过来的密钥,有了他才能添加节点

3.1.1初始化可能的错误

如果你之前创建过,可能会有以下的报错提醒
在这里插入图片描述
我们按报错信息输入

[root@Mannger /]# docker swarm leave

然而持续报错在这里插入图片描述
我们继续按报错信息输入

[root@Mannger /]# docker swarm leave -- force

在这里插入图片描述
这个时候node就成功移除了,然后再重复上面的过程来初始化mannger

3.2 添加节点

在这里插入图片描述
直接将之前复制的密钥粘贴即可
如果报错提示已经存在节点,重复上面的错误1方法移除节点重新添加即可
如果顺利的话会是这样的提示在这里插入图片描述

3.2.1可能遇到的错误2

如果你在粘贴后报错以下信息
在这里插入图片描述
我们需要检查机器的时钟设置

[root@work2 ~]# date
2021年 08月 31日 星期二 11:48:20 CST

我们需要确保3台主机的时钟一致(偏差几十秒问题不大没有影响)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们可以看见 我的Mannger主机的date和节点机的时钟相差较大
我们下面进行修改时钟

[root@Mannger /]# date 083111492021.30
2021年 08月 31日 星期二 11:49:30 CST

//设置系统时间的操作:格式:date 月日时分年.秒

修改完成后我们继续添加
这个时候虽然之前报错了,但是其实节点已经添加了进去,通常需要重复移除操作

4、检查连接情况

我们需要再Mannger主机上运行下面的命令

[root@Mannger /]# docker node ls

在这里插入图片描述
检查后发现其他节点正常,连接,这个时候我们的集群基本部署就做好了,接下来我们就可以来部署服务了

5、启动alpine

[root@docker-manager ~]# docker service create --replicas 10 --name helloworld alpine ping docker.com
 
l65e19mrz1ywhu8sl3zim4bet
 
overall progress: 10 out of 10 tasks
 
1/10: running   [==================================================>]
 
2/10: running   [==================================================>]
 
3/10: running   [==================================================>]
 
4/10: running   [==================================================>]
 
5/10: running   [==================================================>]
 
6/10: running   [==================================================>]
 
7/10: running   [==================================================>]
 
8/10: running   [==================================================>]
 
9/10: running   [==================================================>]
 
10/10: running   [==================================================>]
 
verify: Service converged
 

5.1 查看swarm服务

我们使用docker service ls 来查看部署的服务情况


[root@docker-manager-1 ~]# docker service ls
 
ID             NAME         MODE         REPLICAS   IMAGE           PORTS
 
l65e19mrz1yw   helloworld   replicated   10/10      alpine:latest 
————————————————

可以发件我们的helloworld已经部署成功了

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值