Kubernetes原始碼系列:Kubernetes目錄結構

NeverMore_RC發表於2019-03-12

Kubernetes原始碼閱讀

當前使用的原始碼是v1.13.4,閱讀原始碼使用的是Intellij整合了Go語言的外掛,下載原始碼後,在GOPATH下新建src及k8s.io目錄,如圖,

Kubernetes原始碼系列:Kubernetes目錄結構

原始碼結構分析

Kubernetes的程式碼都在kubernetes目錄下,如圖,根據功能主要分成以下幾類:
1、文件類(api、docs、logo)
2、工具類(build、cluster、Godeps、hack、staging、translations)
3、程式碼類(cmd、pkg、plugin、test、third_party)
工具類主要用到的build目錄下的檔案,自己動手編譯的時候會用到;核心程式碼集中在cmd和pkg中。
cmd內部包含各個元件的入口,具體核心的實現部分在pkg目錄下,分別如圖:

Kubernetes原始碼系列:Kubernetes目錄結構
Kubernetes原始碼系列:Kubernetes目錄結構
plugin目錄之前的版本包括scheduler部分的程式碼,當前版本(應該是在1.10之後)已經將scheduler部分程式碼移到和其他元件一致的pkg目錄,所以目前plugin主要包含的是認證鑑權部分的程式碼。
Kubernetes原始碼系列:Kubernetes目錄結構
之後介紹如何去手動編譯kubernetes的程式碼。

相關文章