【原创】k8s源码分析-----kube-scheduler

本文详细分析了k8s的kube-scheduler源码,包括主要流程、modeler的三个关键队列(queuedPods、scheduledPods、assumedPods)的管理,以及genericScheduler的工作原理。调度算法在algorithmprovider中定义,整个调度系统分为模型管理、调度计算和调度组织三个部分,各自负责pod信息管理、计算host和协调调度。
摘要由CSDN通过智能技术生成

 

本文转自本人空间:http://user.qzone.qq.com/29185807/blog/1459831332

源码为k8s v1.1.1稳定版本

一、主要流程

1、main入口

源码在k8s.io/kubernetes/plugin/cmd/kube-scheduler

这种封装是k8s里面一贯的封装风格,就不再多说了

源码在k8s.io/kubernetes/plugin/cmd/kube-scheduler/app

继续往下

真正的入口

下面有个ratelimiter

在factory.NewConfigFactory之后调用了func (s *SchedulerServer) createConfig

2、configFactory

源码k8s.io/kubernetes/plugin/pkg/scheduler/factory

先看下结构体

1、client 与apiserver的接口

2、podqueue,ScheduledPodLister,scheduledPodPopulator 这个是关键数据,稍后分析

3、PodLister ,NodeLister,ServiceLister,ControllerLister 调度的时候需要用到的数据

4、BindPodsRateLimiter,在入口初始化的ratelimiter

5、modeler,pod信息处理部分

 

我们继续

以下代码,做了简单的初始化。其中重要的初始化有modeler

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值