Kubernetes是個有不少貢獻者的開源大項目,理論上它做爲一個不挑食的容器管理框架,能夠無處不在。但惋惜的是,不管實際編寫仍是貢獻測試代碼,引導kubernetes server都不太容易。裏邊的一些文件對於我來講有些亂,不是掛了的就是過期的。源文件更改和編譯運行的示例很是少,若是本地跑kubernets cluster就必須從頭開始摸索中前進。
下面分享一些摸索心得,儘可能從頭開始詳細講解,你們一塊兒聊聊。html
步驟1:建立虛擬機並訪問linux
既然是從頭開始,那就得作作樣子。先建立個新的、乾淨的VM來運行。git
至此,新的Google雲平臺VM實例建立完成,這是個乾淨無污染的新環境。golang
步驟2:爲Kubernetes準備虛擬機shell
這一步要安裝:api
GCC,Make,socat和git; Docker; 其餘的看本身需求,沒啥需求就不用管了。
ssh到上面的新VM,安裝GCC,Make,socat和git:服務器
安裝etcd:框架
安裝golang(應該是1.8+版本):ssh
步驟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源代碼的更改
中止本地羣集,重啓root@instance-3:/gopath/src/k8s.io/kubernetes# hack/local-up-cluster.sh
在尾api server日誌行檢查下是否出現了更改:
這就是從頭開始建立本地的Kubernetes集羣的文檔,不麻煩,但也包含了一些比較重要的點:執行了幾個簡單的步驟,獲取一個Kubernetes集羣,並編譯並更改了API服務器,而後查看了更改。
本文地址:http://www.linuxprobe.com/k8s-use-play.html