101 - kube-scheduler源码分析 - k8s源码组织结构概览
2023-03-20 14:45:34 时间
ps:本来应该先发这一篇,再开始讲cobra的,昨天不小心先把 cobra发出去了,今天补上源码概览~
如上,我们下载好后切换到1.10版本的分支,项目目录结构是这样的(目录部分)。有很多,我们先不纠结每一个目录的作用,看关键的几个先:
1、入口
可以看到我们最熟悉的几个组件都在,每一个目录打开都有一个go文件,里面是对应的main函数。
2、主要功能实现
可以很容易发现,pkg目录下对应各个组件的实现逻辑。
3、依赖
随便打开几个源码文件可以看到import了k8s.io中的很多项目,这些项目在github上的README.md中都会提到代码其实在k8s项目的:
可以理解成后续这些项目可能会独立出去,但是暂时还是由kubernetes项目来维护。但是其他组件依赖这些项目中的代码时,import路径已经是外部的项目路径了。另外一个需要留意的是vendor:
任何一个合格的gopher都应该知道vendor的作用,这里我不再赘述了。总之需要有这样一个意识,后面读源码时所有的依赖问题,都在staging和vendor中!不清楚vendor用法的gopher们需要自己私下补补课了,加油!
ok,下一讲就开始看scheduler源码了,入口在哪里呢?自然是:
$GOPATHsrck8s.iokubernetescmdkube-schedulerscheduler.go
相关文章
- 印度电子商务新规遏制亚马逊、谷歌等本土称霸,72小时提交用户数据
- 大公司为什么要开源其技术?
- 我一个普通程序员,光靠GitHub打赏就年入70万,要不你也试试
- 要成为一名成功的开发人员,您应该放弃的22件事
- 那些知名的软件开发技术堆栈,看到缩写别懵
- 代码工作中的关键一环:结构化代码该怎样做?
- 写了这么多年代码,这样的登录方式还是头一回见!
- 厉害了!Github标星113K的前端学习路线图有中文版了
- 聊聊 Spring 异步任务教程
- Kubernetes 存储的设计与基本架构
- 九个超级实用的 ES6 特性
- 11种最佳CSS框架
- Github又放大招了!自动化审查代码神器,省时又省事!
- 漫话:为什么程序员喜欢使用0 ≤ i < 10这种左闭右开的形式写for循环?
- 火爆Github!这份LeetCode刷题模板太实用了吧
- 扩展Kubernetes插件,从这6个方向开始
- 2020毕业生报告发布:IT行业最受欢迎,「求稳」是求职趋势
- 前端开发与架构师
- Go 语言 map 解析之 key 的定位核心流程
- 用 20 行代码写出清晰易用的 Go 中间件 API