kubernetes代码阅读-apiserver基础篇
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> apiserver是整个kubernetes的核心模块,做的事情多,代码量也较大。市面上已经有不少apiserver代码解读的文章了,但问题在于,由于k8s的代码变化很快,想写一篇长久能用的未必能做到。所以,我参照了《Kubernetes权威指南》和浙大SEL实验室的一些文章,先把我看到的东西记下来,待后观是否有用。 kubernetes源代码版本1.2.0 代码阅读方法 先简单讲讲整个代码的目录结构 目录 说明 api 输出接口文档用 build 构建脚本 cluster 适配不同I层的云,例如亚马逊AWS,微软Azure,谷歌GCE的集群启动脚本 cmd 所有的二进制可执行文件入口代码,例如apiserver/scheduler/kubelet contrib 项目贡献者 docs 文档,包括了用户文档、管理员文档、设计、新功能提议 example 使用案例 Godeps 项目中依赖使用的Go第三方包,例如docker客户端SDK,rest等 hack 工具箱,各种编译、构建、测试、校验的脚本都在这里面 hooks git提交前后触发的脚本 pkg 项目代码主目录,cmd的只是个入口,这里是所有的具体实现 plugin 插件,k8s认为调度器是插件的一部分,所以调度器的代码在这里 release