Swarm : 调度模式浅析

背景:
我们有一套swarm的集群,经常会发生 docker 漂移,为了了解docker为什么会漂移,具体的调度机制,走了一遍源码
分析如下:
我们创建服务的时候create service ,到了环境上实际执行任务的是具体的task
在这里插入图片描述
为什么会漂移?
刚开始service能创建成功,能调度到现有节点上,那该节点调度前的资源是满足条件的 ,swarm在调度的时候会创建一个slice ,而且会对所有的node节点 排序(按照栈的数据结构理解),每次调度都会将栈顶数据出栈,肯定是最优的。
在这里插入图片描述
在这里插入图片描述
当出现容器漂移,肯定是容器死掉了,容器死掉是由于resource检查不通过了,resource检查不通过是由于 已部署的节点有容器可能瞬间占用宿主机资源太高引起,而这一切可能是没有限制 容器 资源的原因。
当前节点有容器死掉 ,重新引发调度, 该node 不再满足 参与调度的条件,重新出栈 新node这会儿执行两个步骤 ,删除 原有node上的task。 新出栈node 创建 task 调度到新节点。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值