當前使用的源碼是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目錄下,分別如圖: 工具
認證
與
鑑權
部分的代碼。