11 2018 档案
摘要:scheduler的主要逻辑是predicate和priority,前者回答哪些节点可以运行pod的问题,后者回答哪个节点更合适运行pod的问题。今天我们的任务是:从主函数出发,寻找predicates和priorities的入口! 前面我们提到过Execute()其实是运行了这个Run方法,在cm
阅读全文
摘要:ps:本来应该先发这一篇,再开始讲cobra的,昨天不小心先把 cobra发出去了,今天补上源码概览~ 如上,我们下载好后切换到1.10版本的分支,项目目录结构是这样的(目录部分)。有很多,我们先不纠结每一个目录的作用,看关键的几个先: 1、入口 可以看到我们最熟悉的几个组件都在,每一个目录打开都有
阅读全文
摘要:main函数在哪里? 看到这个go文件时大家是不是有一种找到入口的欣喜,同时有一种难以言表的郁闷,为什么那么短?获取一个command,然后执行一个Execute()就运行了?好像是这么回事,然后点开了Execute()方法: 越往下看越郁闷,咋那么难。。。 这时候看一下我们在哪里,可以发现当前路径
阅读全文
摘要:今天我们开始讲kubernetes的源码! 之前的其他开源项目还没有说完,后续会陆陆续续更新,我们把主线先放到k8s的源码上。 之前我想详细讲解每一行k8s源码,但是越看越发现一个大型开源项目如果拘泥于每一行的逻辑,很容易把战线拉得太长,最后失去兴趣。所以今天我们先聊聊源码该怎么看。 1、目标 我们
阅读全文