目录

文章目录

  • 目录
  • 实验环境
  • 实验软件
  • 本节实践
  • 前置知识
  • 调度器
    • 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实验代码

本节实践

  1. 实践:nodeSelector测试(测试成功)-2022.5.16
  2. 实践:节点亲和性测试(测试成功)-2022.5.16
  3. 实践:pod亲和性(测试成功)-2022.5.16
  4. 实践:pod反亲和性(测试成功)-2022.5.16
  5. 实践:污点与容忍(测试成功)-2022.5.16
  6. 实践:nodeName测试(测试成功)-2022.5.16
  7. 实践:resources.requests测试(测试成功)-2022.5.17
  8. 实践:resources.limits测试(测试成功)-2022.5.17
  9. 实践:Qos解析(测试成功)-2022.5.17
  10. 实践:用拓扑分布约束来扩展daemonset功能(测试成功)-2022.5.17
  11. 实践:descheduler安装(测试成功)-2022.5.17

前置知识


存储:(容器:可写层 & 挂载外部存储)
扩展资源:gpu等;

调度器

kube-scheduler 是 kubernetes 的核心组件之一,主要负责整个集群资源的调度功能,根据特定的调度算法和策略,将 Pod 调度到最优的工作节点上面去,从而更加合理、更加充分的利用集群的资源,这也是我们选择使用 kubernetes 一个非常重要的理由。如果一门新的技术不能帮助企业节约成本、提供效率,我相信是很难推进的。

kubernetes调度器相关推荐

  1. Kubernetes 调度器实现初探

    戳蓝字"CSDN云计算"关注我们哦! 作者:阿里云智能事业群高级开发工程师 萧元 转自:阿里系统软件技术 Kubernetes作为一个分布式容器编排调度引擎,资源调度是它的最重要的 ...

  2. 【博客507】学习阿里巴巴如何扩展Kubernetes 调度器支持 AI 和大数据作业

    学习阿里巴巴如何扩展Kubernetes 调度器支持 AI 和大数据作业

  3. Kubernetes调度器-Pod分配给节点(node-pod亲和性、固定节点)

    1.需求 约束一个Pod只能在特定的 Node(s)上运行,或者优先运行在特定的节点上.有几种方法可以实现这点,推荐的方法都是用标签选择器来进行选择.通常这样的约束不是必须的,因为调度器将自动进行合理 ...

  4. Kubernetes调度器源码学习(三):Preempt抢占机制、调度失败与重试处理

    本文基于Kubernetes v1.22.4版本进行源码学习 5.Preempt抢占机制 当高优先级的Pod没有找到合适的节点时,调度器会尝试抢占低优先级的Pod的节点.抢占过程是将低优先级的Pod从 ...

  5. Kubernetes 调度器nodeSelector,nodeName 固定节点

    前面已经说了调度的亲和性,其实都比较含蓄,比如软硬亲和性,污点和容忍. 固定节点就比较粗暴了,可以通过节点名称去选择,也可以通过节点的标签去选择,固定在某个节点上运行.这就是所谓固定节点的调度. 固定 ...

  6. Kubernetes调度器-Pod分配给节点(Taint污点和Toleration容忍)

    Taint和Toleration 节点亲和性是pod的一种属性(偏好或硬性要求),它使pod被吸引到一类特定的节点.Taint则相反,它使节点能够排斥一类特定的pod. Taint和toleratio ...

  7. Kubernetes — 调度系统

    目录 文章目录 目录 调度系统 Kubernetes 调度器的设计 Kubernetes 调度器的工作流 Kubernetes 调度系统的未来 Scheduler Extender(调度器扩展) Mu ...

  8. 进击的 Kubernetes 调度系统(二):支持批任务的 Coscheduling/Gang scheduling

    作者 | 王庆璨(阿里云技术专家).张凯(阿里云高级技术专家) **导读:**阿里云容器服务团队结合多年 Kubernetes 产品与客户支持经验,对 Kube-scheduler 进行了大量优化和扩 ...

  9. Kubernetes调度之亲和性和反亲和性

    背景 Kubernetes中的调度策略可以大致分为两种,一种是全局的调度策略,要在启动调度器时配置,包括kubernetes调度器自带的各种predicates和priorities算法:另一种是运行 ...

最新文章

  1. “史上最强”BigGAN公开TensorFlow Hub demo!
  2. linux svn自动提交,svn 定时自动提交
  3. 无监督学习和监督学习的区别
  4. python另一个程序正在使用此文件_另一个程序正在使用此文件,进程无法访问
  5. 使用screen的时候出现了如下错误: Cannot open your terminal '/dev/pts/0' - please check.
  6. 图像特征计算与表示——基于内容的图像检索
  7. python怎么设置notebook_JupyterNotebook设置Python环境的方法步骤
  8. 深入理解SYN***.+防范思想及ROS设置
  9. python 导出依赖包
  10. grub4dos初级教程
  11. 股市潜规则 你经历过几个?(转)
  12. Git amend:修改最近一次提交
  13. pppo服务器光信号亮红灯,光纤猫光信号闪红灯不能上网怎么办
  14. 计算机编程导论python程序设计答案-计算机科学与Python编程导论_学堂云答案
  15. Outlook2019关联163邮箱
  16. Python-练习 5 更多变量和打印
  17. 288.软件开发过程与软件测试
  18. python termios
  19. 无线学习:srsRAN环境搭建【无线学习笔记二】
  20. 热插拔技术--以ADM1177为例说明

热门文章

  1. ctfshow 网络迷踪-狗哥去哪
  2. 怎样使用nat和桥接方式解决虚拟机联网问题
  3. app推广“惊天地”的一件大事件
  4. C# 深入单例(回笼)
  5. SQL语言的基本用法——学习笔记
  6. 宜宾地震,物联网发挥了怎样的作用?
  7. 支持幻灯片演示的思维导图软件NovaMind_我是亲民_新浪博客
  8. 关于更新pip后pycharm工程中设置还是显示老版本的解决办法
  9. 线上打假遭遇多重困境 专家建言依靠“大数据”打假
  10. 随机画五角星,空心五角星