kubernetes调度器
目录
文章目录
- 目录
- 实验环境
- 实验软件
- 本节实践
- 前置知识
- 调度器
- 1、调度流程
- 1.默认调度器
- 2.扩展调度器(extender)
- 3.调度框架
- 1.扩展点(Extension Points)
- 2.示例(代码部分)
- 2、调度器调优
- 3、创建一个Pod的工作流程
- 1.架构图
- 2.剖析过程
- 3.Pod中影响调度的主要属性
- 4.调度器需要充分考虑诸多的因素
- 5.Kubernetes中的资源分配
- 6.Init container的资源需求
- 1、nodeSelector
- 2、亲和性和反亲和性调度
- 1.节点亲和性
- 2.pod 亲和性和pod 反亲和性
- 3、污点与容忍
- 4、nodeName
- 5、优先级调度
- 6、QOS
- 1.服务质量
- 2.资源限制
- 3.QoS 分类
- 1、Guaranteed(有保证的)
- 2、Burstable(不稳定的)
- 3、Best-Effort(尽最大努力)
- 资源限制对Pod调度的影响
- 4.QoS 解析
- 7、拓扑分布约束
- 1.概念
- 2.使用规范
- 3.单个拓扑约束
- 4.多个拓扑约束
- 5.与NodeSelector /NodeAffinity一起使用
- 6.集群默认约束
- 思考1:不用 DaemonSet,如何使用 Deployment 是否实现同样的功能?
- 思考2:如果想在每个节点(或指定的一些节点)上运行2个(或多个)Pod 副本呢?
- 8、Descheduler(重调度器)
- 1、Descheduler
- 2、安装
- 3、PDB
- 4、策略
- 1.PodLifeTime
- 2.RemoveDuplicates
- 3.LowNodeUtilization
- 4.RemovePodsViolatingInterPodAntiAffinity
- 5.RemovePodsViolatingNodeTaints
- 6.RemovePodsViolatingNodeAffinity
- 7.RemovePodsViolatingTopologySpreadConstraint
- 8.RemovePodsHavingTooManyRestarts
- 5、Filter Pods
- 1.命名空间过滤
- 2.优先级过滤
- 6、注意事项
- 问题:node节点资源负载不均衡问题-2022.3.11
- 9、多调度器
- 10、动态调度器
- 11、自定义调度器
- 1.自定义方式
- 2.扩展配置
- 3.初始化plugin
- 4.核心逻辑
- 关于我
- 最后
实验环境
实验环境:
1、win10,vmwrokstation虚机;
2、k8s集群:3台centos7.6 1810虚机,1个master节点,2个node节点k8s version:v1.22.2containerd://1.5.5
实验软件
链接:https://pan.baidu.com/s/1P3Z_ujk22dYDXzM37WI5FA?pwd=v01w
提取码:v01w
2022.2.18-39.亲合性调度-实验代码.zip
链接:https://pan.baidu.com/s/1Nbkwz0rvDris8F6qFegJtw?pwd=4dx5
提取码:4dx5
2022.2.20-42.服务质量-实验代码
链接:https://pan.baidu.com/s/1CAC9j5yU-sg-aDfLPYVflg?pwd=b3jp
提取码:b3jp
2022.2.19-40.拓扑分布约束-实验代码
链接:https://pan.baidu.com/s/19x43qNOI2oogXTcgEDCwgQ?pwd=0min
提取码:0min
2022.2.19-41.Descheduler-s实验代码
本节实践
- 实践:nodeSelector测试(测试成功)-2022.5.16
- 实践:节点亲和性测试(测试成功)-2022.5.16
- 实践:pod亲和性(测试成功)-2022.5.16
- 实践:pod反亲和性(测试成功)-2022.5.16
- 实践:污点与容忍(测试成功)-2022.5.16
- 实践:nodeName测试(测试成功)-2022.5.16
- 实践:resources.requests测试(测试成功)-2022.5.17
- 实践:resources.limits测试(测试成功)-2022.5.17
- 实践:Qos解析(测试成功)-2022.5.17
- 实践:用拓扑分布约束来扩展daemonset功能(测试成功)-2022.5.17
- 实践:descheduler安装(测试成功)-2022.5.17
前置知识
存储:(容器:可写层 & 挂载外部存储)
扩展资源:gpu等;
调度器
kube-scheduler
是 kubernetes 的核心组件之一,主要负责整个集群资源的调度功能,根据特定的调度算法和策略,将 Pod 调度到最优的工作节点上面去,从而更加合理、更加充分的利用集群的资源,这也是我们选择使用 kubernetes 一个非常重要的理由。如果一门新的技术不能帮助企业节约成本、提供效率,我相信是很难推进的。
kubernetes调度器相关推荐
- Kubernetes 调度器实现初探
戳蓝字"CSDN云计算"关注我们哦! 作者:阿里云智能事业群高级开发工程师 萧元 转自:阿里系统软件技术 Kubernetes作为一个分布式容器编排调度引擎,资源调度是它的最重要的 ...
- 【博客507】学习阿里巴巴如何扩展Kubernetes 调度器支持 AI 和大数据作业
学习阿里巴巴如何扩展Kubernetes 调度器支持 AI 和大数据作业
- Kubernetes调度器-Pod分配给节点(node-pod亲和性、固定节点)
1.需求 约束一个Pod只能在特定的 Node(s)上运行,或者优先运行在特定的节点上.有几种方法可以实现这点,推荐的方法都是用标签选择器来进行选择.通常这样的约束不是必须的,因为调度器将自动进行合理 ...
- Kubernetes调度器源码学习(三):Preempt抢占机制、调度失败与重试处理
本文基于Kubernetes v1.22.4版本进行源码学习 5.Preempt抢占机制 当高优先级的Pod没有找到合适的节点时,调度器会尝试抢占低优先级的Pod的节点.抢占过程是将低优先级的Pod从 ...
- Kubernetes 调度器nodeSelector,nodeName 固定节点
前面已经说了调度的亲和性,其实都比较含蓄,比如软硬亲和性,污点和容忍. 固定节点就比较粗暴了,可以通过节点名称去选择,也可以通过节点的标签去选择,固定在某个节点上运行.这就是所谓固定节点的调度. 固定 ...
- Kubernetes调度器-Pod分配给节点(Taint污点和Toleration容忍)
Taint和Toleration 节点亲和性是pod的一种属性(偏好或硬性要求),它使pod被吸引到一类特定的节点.Taint则相反,它使节点能够排斥一类特定的pod. Taint和toleratio ...
- Kubernetes — 调度系统
目录 文章目录 目录 调度系统 Kubernetes 调度器的设计 Kubernetes 调度器的工作流 Kubernetes 调度系统的未来 Scheduler Extender(调度器扩展) Mu ...
- 进击的 Kubernetes 调度系统(二):支持批任务的 Coscheduling/Gang scheduling
作者 | 王庆璨(阿里云技术专家).张凯(阿里云高级技术专家) **导读:**阿里云容器服务团队结合多年 Kubernetes 产品与客户支持经验,对 Kube-scheduler 进行了大量优化和扩 ...
- Kubernetes调度之亲和性和反亲和性
背景 Kubernetes中的调度策略可以大致分为两种,一种是全局的调度策略,要在启动调度器时配置,包括kubernetes调度器自带的各种predicates和priorities算法:另一种是运行 ...
最新文章
- “史上最强”BigGAN公开TensorFlow Hub demo!
- linux svn自动提交,svn 定时自动提交
- 无监督学习和监督学习的区别
- python另一个程序正在使用此文件_另一个程序正在使用此文件,进程无法访问
- 使用screen的时候出现了如下错误: Cannot open your terminal '/dev/pts/0' - please check.
- 图像特征计算与表示——基于内容的图像检索
- python怎么设置notebook_JupyterNotebook设置Python环境的方法步骤
- 深入理解SYN***.+防范思想及ROS设置
- python 导出依赖包
- grub4dos初级教程
- 股市潜规则 你经历过几个?(转)
- Git amend:修改最近一次提交
- pppo服务器光信号亮红灯,光纤猫光信号闪红灯不能上网怎么办
- 计算机编程导论python程序设计答案-计算机科学与Python编程导论_学堂云答案
- Outlook2019关联163邮箱
- Python-练习 5 更多变量和打印
- 288.软件开发过程与软件测试
- python termios
- 无线学习:srsRAN环境搭建【无线学习笔记二】
- 热插拔技术--以ADM1177为例说明