当前使用的源码是v1.13.4,阅读源码使用的是Intellij集成了Go语言的插件,下载源码后,在GOPATH下新建src及k8s.io目录,如图, api
Kubernetes的代码都在kubernetes目录下,如图,根据功能主要分红如下几类:
一、文档类
(api、docs、logo)
二、工具类
(build、cluster、Godeps、hack、staging、translations)
三、代码类
(cmd、pkg、plugin、test、third_party)
工具类主要用到的build目录下的文件,本身动手编译的时候会用到;核心代码集中在cmd和pkg中。
cmd内部包含各个组件的入口,具体核心的实现部分在pkg目录下,分别如图: 工具
认证
与
鉴权
部分的代码。