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(了解)

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值