101 - kube-scheduler源碼分析 - k8s源碼組織結構概覽


ps:本來應該先發這一篇,再開始講cobra的,昨天不小心先把 cobra發出去了,今天補上源碼概覽~

 

 

如上,我們下載好后切換到1.10版本的分支,項目目錄結構是這樣的(目錄部分)。有很多,我們先不糾結每一個目錄的作用,看關鍵的幾個先:

 

1、入口

 

可以看到我們最熟悉的幾個組件都在,每一個目錄打開都有一個go文件,里面是對應的main函數。

 

2、主要功能實現

可以很容易發現,pkg目錄下對應各個組件的實現邏輯。

 

3、依賴

隨便打開幾個源碼文件可以看到import了k8s.io中的很多項目,這些項目在github上的README.md中都會提到代碼其實在k8s項目的:

 

可以理解成后續這些項目可能會獨立出去,但是暫時還是由kubernetes項目來維護。但是其他組件依賴這些項目中的代碼時,import路徑已經是外部的項目路徑了。另外一個需要留意的是vendor:

任何一個合格的gopher都應該知道vendor的作用,這里我不再贅述了。總之需要有這樣一個意識,后面讀源碼時所有的依賴問題,都在staging和vendor中!不清楚vendor用法的gopher們需要自己私下補補課了,加油!

ok,下一講就開始看scheduler源碼了,入口在哪里呢?自然是:
$GOPATH\src\k8s.io\kubernetes\cmd\kube-scheduler\scheduler.go

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM