Docker之Swarm

该笔记大部分搬运B站狂神说Java的Docker进阶,顺便把图文合并记录,便于回顾,仅用于学习!
视频地址:https://www.bilibili.com/video/BV1kv411q7Qc 作者真的非常好,别白嫖,记得三连
如有侵权,请联系删除!

1.环境准备

在这里插入图片描述
利用VW克隆的技术!!!

2. Swarm集群搭建

在docker-1中操作:
初始化节点

[root@localhost ~]# docker swarm init --advertise-addr 自己的私网ip

在这里插入图片描述
获取令牌

docker swarm join-token manager
docker swarm join-token worker

在docker-2/3/4操作
加入其他节点

加入节点出现错误:
在这里插入图片描述
解决方案:https://www.cnblogs.com/shenjianping/p/12264103.html

成功加入节点

docker swarm join --token XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  ip:2377

在这里插入图片描述
查看swarm集群节点
在这里插入图片描述

任务与调度

swarm manager:
		-- 1、API:这个请求直接由swarm manager的API进行接收,接收命令并创建服务对象。
		-- 2、orchestrator: 为服务创建-一个任务。
		-- 3、allocater: 为这个任务分配IP地址。
		-- 4、dispatcher: 将任务分配到指定的节点。
		-- 5、scheduler: 在该节点中下发指定命令。
worker node: 接收manager任务后去运行这个任务。
		-- 1、container: 创建相应的容器。
		-- 2、worker: 连接到调度程序以检查分配的任务
		--3、executor: 执行分配给工作节点的任务
3、executor: 执行分配给工作节点的任务

在这里插入图片描述

3. 工作模式

官网网址:https://docs.docker.com/engine/swarm/how-swarm-mode-works/nodes/
节点是如何工作的?
在这里插入图片描述

service
在这里插入图片描述
服务副本与全局服务
在这里插入图片描述
在这里插入图片描述

4. 命令

在这里插入图片描述
在这里插入图片描述
命令使用可参考:https://www.cnblogs.com/qiuhom-1874/p/13169070.html

5. Raft协议

双主双从:假设一个节点挂了!其他节点是否可以用!
Raft协议:保证大多数节点存活才可以用。至少是大于1台 ,集群至少大于3台!

实验:
1、将docker1机器停止。宕机!双主,另外一个主节点也不能使用了!
在这里插入图片描述
2、将其他节点断开!

docker-3宕机!
在这里插入图片描述
在这里插入图片描述
3、work就是工作点、管理节点的操作!3台机器为了设置管理节点。

十分简单:集群,可用! 3个主节点。> 1台管理节点存活!
Raft协议:保证大多数节点存活,可以使用,高可用!

6. 部署服务

使用 docker service 命令来管理 Swarm 集群中的服务,该命令只能在管理节点运行。
在这里插入图片描述

6.1 创建服务

[root@localhost ~]# docker service create -p 8888:80 --name my_nginx nginx

在这里插入图片描述

docker run:容器启动!不具有扩缩容器
docker service:服务!具有扩缩容器,滚动更新!

6.2 查看服务

# 使用 docker service ls 来查看当前 Swarm 集群运行的服务。
[root@localhost ~]# docker service ps my_nginx
# 使用 docker service ps 来查看某个服务的详情。
[root@localhost ~]# docker service ls

在这里插入图片描述
在这里插入图片描述
虽然是在docker-1机器上创建的,但1、3、4上都没有这个docker进程
在这里插入图片描述

6.3 更新服务

[root@localhost ~]# docker service update --replicas 3 my_nginx

在这里插入图片描述
随机分配
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.4 动态扩缩容

  • 当业务处于高峰期时,我们需要扩展服务运行的容器数量。
  • 当业务平稳时,我们需要减少服务运行的容器数量。

也可以用 --replicas

[root@localhost ~]# docker service scale my_nginx=5

在这里插入图片描述

6.4 移除服务

[root@localhost ~]# docker service rm my_nginx

在这里插入图片描述

7. 概念总结

swarm
集群的管理和编号。docker可以初始化一 个swarm集群,其他节点可以加入。(管理、 工作者)

Node
就是一个docker节点。多个节点就组成了一个网络集群。(管理、 工作者)

Service
任务,可以在管理节点或者工作节点来运行。核心。!用户访问!

Task
容器内的命令,细节任务!

在这里插入图片描述

8. Docker Stack(了解)

在这里插入图片描述
在这里插入图片描述

9. Docker Secret(了解)

安全!配置密码!证书!
在这里插入图片描述

10. Docker Config(了解)

配置!在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值