摘要: 个人博客首页 博客简介 不知道你是通过何种途径访问到这里,总之欢迎来到linyx的博客! 本博客主要用于分享和记录工作种学习到的一些关键技术和知识,方便自己温故知新,博客将大致分为三部分内容: 难度适中但具备一定工作量的工程类技术分享:包括但不限于一些繁冗复杂的项目搭建、采坑、工具使用分享(如har 阅读全文
posted @ 2020-10-28 14:17 backTraced 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 专题-亲和性调度(Author - XiaoYang) 简介 在未分析和深入理解scheduler源码逻辑之前,本人在操作配置亲和性上,由于官方和第三方文档者说明不清楚等原因,在亲和性理解上有遇到过一些困惑,如: 亲和性的operator的 “In”底层是什么匹配操作?正则匹配吗?“Gt/Lt”底层 阅读全文
posted @ 2021-10-05 20:38 backTraced 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 调度器初始化 概述 今天我们要做一些琐碎的知识点分析,比如调度器启动的时候默认配置是怎么来的?默认生效了哪些调度算法?自定义的算法是如何注入的?诸如这些问题,我们顺带会看一下调度器相关的一些数据结构的含义。看完前面这些节的分析后再看完本篇文章你可能会有一种醍醐灌顶的感觉哦~ 从 --config 开 阅读全文
posted @ 2021-10-05 20:37 backTraced 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 抢占调度 Pod priority Pod 有了 priority(优先级) 后才有优先级调度、抢占调度的说法,高优先级的 pod 可以在调度队列中排到前面,优先选择 node;另外当高优先级的 pod 找不到合适的 node 时,就会看 node 上低优先级的 pod 驱逐之后是否能够 run 起 阅读全文
posted @ 2021-10-05 20:36 backTraced 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 优选过程 走近priority过程 !FILENAME pkg/scheduler/core/generic_scheduler.go:186 priorityList, err := PrioritizeNodes(pod, g.cachedNodeInfoMap, metaPrioritiesI 阅读全文
posted @ 2021-10-05 20:35 backTraced 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 预选过程 预选流程 predicate过程从pkg/scheduler/core/generic_scheduler.go:389 findNodesThatFit()方法就算正式开始了,这个方法根据给定的predicate functions过滤所有的nodes来寻找一堆可以跑pod的node集。 阅读全文
posted @ 2021-10-05 20:32 backTraced 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 一般调度过程 进入Scheduler的第三层逻辑 今天分析的代码,就已经算kube-scheduler的第三层逻辑了,我们要找到预选和优选的入口,讲完太长,干脆后面单独分2节讲预选和优选过程。所以本小节会比较简短哦~ 今天我们从pkg/scheduler/core/generic_scheduler 阅读全文
posted @ 2021-10-05 20:30 backTraced 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 调度器框架 写在前面 今天我们从pkg/scheduler/scheduler.go出发,分析Scheduler的整体框架。前面讲Scheduler设计的时候有提到过源码的3层结构,pkg/scheduler/scheduler.go也就是中间这一层,负责Scheduler除了具体node过滤算法外 阅读全文
posted @ 2021-10-05 20:23 backTraced 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 调度器设计 概述 我们先整体了解一下Scheduler的设计原理,然后再看这些过程是如何用代码实现的。关于调度器的设计在官网有介绍,我下面结合官网给的说明,简化掉不影响理解的复杂部分,和大家介绍一下Scheduler的工作过程。 官方描述如下: The Kubernetes scheduler ru 阅读全文
posted @ 2021-10-05 19:47 backTraced 阅读(13) 评论(0) 推荐(0) 编辑
摘要: scheduler调度器源码解析 kube-scheduler是K8s集群的三大重要组件之一,负责集群运行的所有容器的调度工作,深入理解该组件可以说是入门k8s源码的灵魂所在;本文基于hutao大神的文章加入自己的理解对该组件进行深入的源码解析: 0. scheduler是一个多实例高可用选主的组件 阅读全文
posted @ 2021-10-05 19:44 backTraced 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 部署 Flannel 网络 kubernetes 要求集群内各节点能通过 Pod 网段互联互通,本文档介绍使用 Flannel上创建互联互通的 Pod 网段的步骤。 使用的变量 本文档用到的变量定义如下: NODE_IP=100.69.218.95 # 当前部署节点的 IP ETCD_ENDPOIN 阅读全文
posted @ 2021-10-04 16:58 backTraced 阅读(18) 评论(0) 推荐(0) 编辑