温馨提示:此页面服务由第三方为您提供,交易前请仔细核对商家真实资质,勿信夸张宣传和承诺,勿轻易相信预付定金、汇款等交易方式; 此页面所发布文字及图片均由网民自行发布,如有侵权请联系发布者删除。
三菱机床到期解锁步骤Kubernetes 开始只提供了 Extender ,通过部署一个 Web 服务实现无侵入式扩展 scheduler插件,但其存在以下几个问题:
Extender 扩展点的数量是有限的:在调度期间只有“Filter”和“Prioritize”扩展点。 “Preempt”扩展点在运行默认抢占机制后被调用。“Bind”扩展点用于绑定Pod,且 Bind 扩展点只能绑定一个扩展*,扩展点会替换掉调度器的 bind 操作。Extender 不能在其他点被调用,例如,不能在运行 predicate 函数之前被调用。
性能问题:对扩展*的每次调用都涉及 JSON 的编解码。调用 webhook(HTTP 请求)也比调用原生函数慢。
调度器无法通知 Extender 已中止 Pod 的调度。例如,如果一个 Extender 提供了一个集群资源,而调度器联系了 Extender 并要求它为正在调度的 pod 提供资源的实例,然后调度器在调度 pod 时遇到错误并决定中止调度,那么将很难与扩展*沟通错误并要求它撤消资源的配置。
由于当前的Extender作为一个单独的进程运行,因此不能使用调度器的缓存。要么从 API Server构建自己的缓存,要么只处理他们从调度器接收到的信息。
Scheduling Framework 调度框架是一组新的“插件”API,通过这些 API 允许将许多调度功能使用插件实现,同时保持调度器“核心”简单和可维护。调度器插件必须用 Go 编写,并使用 Kubernetes 调度器代码编译,有一定学习成本。
虽然 Extender 简单,从长远考虑,尽量选择Scheduling Framework。下面是基于*设计文档对这 2 种扩展方式进行详细整理。
Extender
Scheduler Extender实际上是一个额外的Web服务,通过注册外部 webhook 来扩展默认调度器以调整不同阶段的调度决策。根据自己的需要实现的Filter方法、Prioritize方法、Bind方法。
优点:
可以扩展现有调度器的功能,而无需重新编译二进制文件。
扩展器可以用任何语言编写。
实现后,可用于扩展不同版本的 kube-scheduler。
设计
在调度 pod 时,Extender 允许外部进程过滤节点并确定节点优先级。向 Extender 发出两个单独的 http/https 调用,即“filter”和“prioritize”操作。如果 pod 无法被调度,调度器将尝试从节点抢占较低优先级的 pod,并将它们发送到Extender的“preempt”接口(如果已配置)。Extender可以将节点子集和新被驱逐者返回给调度器。此外,Extender可以选择通过实现“bind”操作将 pod 绑定到 apiserver。
苏ICP备09042555号-2 | 增值电信业务经营许可证:苏B2-20150120 | 公安部备案号:32020202000170 | Copyright © 无锡市新视点网络科技有限公司 版权所有
免费
报修
微信扫一扫
师傅
抢单
请先关注公众号
方便后期订单推送
图文
软件
138-6175-9787
关注
我们
公众号
顶部