当前位置: 首页 > article >正文

k8s scheduler几种扩展方式的关系及区别

网上关于scheduler扩展介绍的文章很多,但都是东说一句西说一嘴,完全没有逻辑性,对于逻辑建构者看着很痛苦,这篇文章不会深入教你怎么扩展,而是教你几种扩展方式的关系和逻辑结构:

目前Kubernetes支持五种方式实现客户自定义的调度算法,如下:

  • default-scheduler recoding: 直接在Kubernetes默认scheduler基础上进行添加,然后重新编译kube-scheduler,修改地方在scheduler-core核心代码,需要遵守扩展规则;

  • standalone: 实现一个与kube-scheduler平行的custom scheduler,相当于你自己fork了一份,深度定制,不遵守扩展点什么的规矩,自己魔改

  • scheduler extender: webhook的方式,kube-scheduler会调用它(http/https)作为默认调度算法的补充,在调度的每个可以hook的阶段调用对应的extender,本质上就是一个http服务,用python或者java写都可以,但是需要自己去拿各种cache并维护,且http方式io时间代价很高

  • scheduler framework: scheduler暴露出标准化的interface规范,你只需要按照interface写你自己的实现,重新编译kube-scheduler,类似于第一种方案,但是更加标准化,不会修改scheduler-core核心代码(说人话就是一个是实现接口即可修改无侵入,一个需要修改人家代码有侵入)

  • scheduler-plugins:社区维护的一套基于scheduler framework的封装层次更高的一个项目,你只需要实现自己的判断逻辑,其他的(node信息,pod信息,处理返回结果)你都不用关心,只要关心自己打分逻辑即可

一般不需要深度定制的,选择scheduler extender(性能要求不高且愿意自己维护cache的)和scheduler-plugins(性能要求高,只想实现自己判断逻辑其他都不想做的)方式即可


http://www.kler.cn/a/613932.html

相关文章:

  • ubuntu服务器进程启动失败的原因分析
  • 从vue2过渡到vue3
  • SQL server中的事务与锁
  • 【HCIA-网工探长】07:IP基础与ARP拓展笔记
  • Flutter环境搭建
  • MYTOOL-笔记
  • HTML应用指南:利用POST请求获取全国小鹏汽车的充电桩位置信息
  • 深度学习框架PyTorch——从入门到精通(9)PyTorch简介
  • 揭秘大数据 | 13、大数据的五大问题 之 数据科学
  • Python实现图片文字识别-OCR
  • cJSON- API 深度解析:设计理念与实现原理(二)
  • 前端 Overflow hidden与auto切换时页面右移的问题解决 Antd Drawer打开关闭时位置偏移的问题的解决
  • 【微服务架构】本地负载均衡的实现(基于权重算法)
  • Css环形旋转立体感动画
  • iOS自定义collection view的page size(width/height)分页效果
  • 软件需求未明确非功能性指标(如并发量)的后果
  • Docker 部署 Redis 集群学习记录
  • 26考研——树与二叉树_树、森林(5)
  • 怎么解决父元素高度塌陷
  • 从零到一:ESP32与豆包大模型的RTC连续对话实现指南