1. 程式人生 > >純手工!本地K8s的建立、執行、更改原始碼、測試

純手工!本地K8s的建立、執行、更改原始碼、測試

可能有點懶,反正我不太喜歡實操,因為貼圖很麻煩……咳咳,這兩天接觸,就做了個教程。這個教程可以大致讓你知道執行,更改原始碼,而且從頭測試本地Kubernetes平臺叢集。

Kubernetes是個有很多貢獻者的開源大專案,理論上它作為一個不挑食的容器管理框架,可以無處不在。

不過有點可惜的是,無論實際編寫還是貢獻測試程式碼,引導kubernetes server都不太容易。然後裡邊一些檔案對於我來說有些亂,不是掛了就是過時。更氣人的是,很多東西,比如原始檔更改和編譯執行的示例根本不給詳細,很多時候要跑個本地kubernets cluster程式碼還得白手起家慢慢摸索。

這裡分享一些摸索心得,儘量從頭開始詳細講解,大家一起聊聊。

步驟1:建立虛擬機器並訪問

既然是從頭開始,那就得做做樣子。先建立個新的、乾淨的VM來執行。

VM

至此,新的Google雲平臺VM例項建立完成,這是個乾淨無汙染的新環境。

步驟2:為Kubernetes準備虛擬機器

這一步要安裝:

  • GCC,Make,socat和git;
  • Docker;
  • 其他的看自己需求,沒啥需求就不用管了。

ssh到上面的新VM,安裝GCC,Make,socat和git:

Kubernetes

安裝etcd:

安裝golang(應該是1.8+版本):

安裝golang(應該是1.8+版本):

步驟3:獲取Kubernetes原始碼

在這個步驟,Git Kubernetes原始碼會克隆下來並新增到GOPATH。注意,這裡要用–depth 1,即只要最新版本。

把Kubernetes sources新增到GOPATH:

步驟4:編譯並執行Kubernetes

這裡不難,因為它正好有個叫local-up-cluster.sh的好貨。

Kubernetes

輸出顯示:

Kubernetes

步驟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研究院