本文演示如何在centos-arm系統上進行編譯k8s
1。安裝k8s的安裝環境:golang
# wget -c https://dl。google。com/go/go1。11。4。linux-arm64。tar。gz -P /opt/package/
wget https://golang。google。cn/doc/install?download=go1。13。5。linux-armv6l。tar。gz -P /opt/package/
cd /opt/package/
ls
tar -C /opt/software/ -xzf go1。11。4。linux-arm64。tar。gz
cd /opt/software/
echo “export PATH=$PATH:/opt/software/go/bin” >> /etc/profile && source /etc/profile
2。下載k8s的原始碼包
cd /opt/package/
git clone https://github。com/kubernetes/kubernetes -b release-1。13
如果下載慢,請按照下面連結進行配置:
https://mp。csdn。net/postedit/103429677
3。編譯
3。1 修改編譯的架構體系,減少不必要環境的編譯
進入 kubernates目錄,編譯 /kubernate/hack/lib/golang。sh ,將
KUBE_SUPPORTED_SERVER_PLATFORMS、KUBE_SUPPORTED_NODE_PLATFORMS、 KUBE_SUPPORTED_CLIENT_PLATFORMS 三個值中的其他環境註釋掉
三個值中不需要進行編譯的環境註釋掉
4。開始編譯
cd /opt/software/source/kubernetes
#KUBE_BUILD_PLATFORMS=linux/arm64 make all
KUBE_BUILD_PLATFORMS=linux/arm64 make all WHAT=cmd/kubelet GOFLAGS=-v GOGCFLAGS=“-N -l” GOPATH=“/opt/software/go/bin”
#cd k8s。io/kubernates/cmd/kubelet
#go build kubelet。go -v
cd /opt/package/source/k8s/kubernetes/_output/local/go/bin/linux_arm64
5。編譯成功後,進入cd k8s。io /kubernates/cmd/kubelet 找到對應檔案,說明編譯成功
參考連結:
https://www。kubernetes。org。cn/5033。html