天天看點

編譯Kubelet二進制檔案

1. 環境

系統:CentOS 7.2

Go:1.10.3

Kubernetes:1.10.4

2. 安裝最新版go

  編譯的Kubernetes 1.10.4要求go版本在1.9.3以上,使用下面的yum源安裝最新版go:

[golang]
name=Golang
baseurl=https://mirror.go-repo.io/centos/7/x86_64/
enable=1
gpgcheck=0      
# yum install golang      

3. 下載下傳Kubernetes源碼到$GOPATH目錄

# go get -d k8s.io/kubernetes      

如果通路k8s.io有問題,可以從github下載下傳,然後複制到$GOPATH/src/k8s.io/目錄。

4. 編譯

進入kubernetes目錄,切換到要編譯的版本,然後編譯:

# cd $GOPATH/src/k8s.io/kubernetes
# git checkout tags/v1.10.4
# make clean
# make WHAT=cmd/kubelet      

WHAT指定隻編譯kubelet,減少編譯時間。編譯完成後會在_output/bin/目錄下生成kubelet二進制檔案。

5. 更新

将編譯生成的二進制檔案複制到安裝目錄,重新開機服務就完成更新了:

# cp $GOPATH/src/k8s.io/kubernetes/_output/bin/kubelet /usr/local/bin/kubelet
# systemctl restart kubelet      

如果kubelet是運作在容器中,則需要打包成鏡像,參考

Building Kubernetes

參考資料

編譯 Kubernetes 二進制檔案

繼續閱讀