純手工!本地K8s的建立、執行、更改原始碼、測試
可能有點懶,反正我不太喜歡實操,因為貼圖很麻煩……咳咳,這兩天接觸,就做了個教程。這個教程可以大致讓你知道執行,更改原始碼,而且從頭測試本地Kubernetes平臺叢集。
Kubernetes是個有很多貢獻者的開源大專案,理論上它作為一個不挑食的容器管理框架,可以無處不在。
不過有點可惜的是,無論實際編寫還是貢獻測試程式碼,引導kubernetes server都不太容易。然後裡邊一些檔案對於我來說有些亂,不是掛了就是過時。更氣人的是,很多東西,比如原始檔更改和編譯執行的示例根本不給詳細,很多時候要跑個本地kubernets cluster程式碼還得白手起家慢慢摸索。
這裡分享一些摸索心得,儘量從頭開始詳細講解,大家一起聊聊。
步驟1:建立虛擬機器並訪問
既然是從頭開始,那就得做做樣子。先建立個新的、乾淨的VM來執行。
至此,新的Google雲平臺VM例項建立完成,這是個乾淨無汙染的新環境。
步驟2:為Kubernetes準備虛擬機器
這一步要安裝:
- GCC,Make,socat和git;
- Docker;
- 其他的看自己需求,沒啥需求就不用管了。
ssh到上面的新VM,安裝GCC,Make,socat和git:
安裝etcd:
安裝golang(應該是1.8+版本):
步驟3:獲取Kubernetes原始碼
在這個步驟,Git Kubernetes原始碼會克隆下來並新增到GOPATH。注意,這裡要用–depth 1,即只要最新版本。
把Kubernetes sources新增到GOPATH:
步驟4:編譯並執行Kubernetes
這裡不難,因為它正好有個叫local-up-cluster.sh的好貨。
輸出顯示:
步驟5:測試Kubernetes
虛擬機器打開個新的shell,cd到Kubernetes源目錄GOPATH,然後就可以測試了:
步驟6:更改原始碼
在kubernetes-apiserver新增日誌行來改個entry point,而且要保證這條你能在日誌中看到:
步驟7:測試Kubernetes原始碼的更改
停止本地群集,重啟[email protected]:/gopath/src/k8s.io/kubernetes# hack/local-up-cluster.sh
在尾api server日誌行檢查下是否出現了更改:
這就是從頭開始建立本地的Kubernetes叢集的文件,不麻煩,但也包含了一些比較重要的點:執行了幾個簡單的步驟,獲取一個Kubernetes叢集,並編譯並更改了API伺服器,然後查看了更改。
文章來自微信公眾號:DevOps研究院