書名: Kubernetes源碼剖析作者名: 鄭東旭本章字數: 348字更新時間: 2020-07-23 17:12:15
2.1 構建方式
Kubernetes構建方式可以分為3種,分別是本地環境構建、容器環境構建、Bazel環境構建,如圖2-1所示。

圖2-1 Kubernetes構建方式
首先,將Kubernetes源碼通過Go語言工具下載下來,并切換至Kubernetes 1.14代碼版本,命令示例如下:

注意:構建Kubernetes 1.14版本,需要使用Go 1.12或更高版本。不同的Kubernetes版本對應的Go語言版本也不同。
下面通過cloc代碼統計工具查看Kubernetes源碼。cloc是一個由Perl語言開發的開源代碼統計工具,支持多平臺使用、多語言識別,能夠計算指定目標文件或文件夾中的文件數(files)、空白行數(blank)、注釋行數(comment)和代碼行數(code)。cloc命令示例如下:


從cloc代碼統計命令的輸出可以看到,Kubernetes 1.14擁有大約357萬行代碼,其中Go語言代碼占303萬行,這是非常龐大的代碼量。當然,其中也包含通過代碼生成器生成的Go語言代碼文件。
提示:本書中所有的源碼文件路徑,都以Kubernetes源碼根目錄作為代碼路徑(即$GOPATH/src/k8s.io/kubernetes)。