一、下载代码
下载源码
确保GO环境已经设置完成,执行以下命令,创建目录用于存放Kubernetes源码:
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=/data/go
export PATH=$PATH:$GOPATH
export GOPROXY=https://goproxy.io
export GO111MODULE="on"
mkdir -p $GOPATH/src/k8s.io
进入目录$GOPATH/src/k8s.io,执行以下命令即可开始下载:
git clone https://github.com/kubernetes/kubernetes -b release-1.13
提示:源码文件达到了八百多兆,下载时间会很长,推荐通过修改host的方法加速github下载,具体方法请自行搜索;
3. 下载完毕后,k8s.io目录下出现一个名为kubernetes的文件夹,里面内容如下:
[root@golang ~]# ls $GOPATH/src/k8s.io
kubernetes
[root@golang ~]# ls $GOPATH/src/k8s.io/kubernetes
api CHANGELOG-1.12.md cmd docs LICENSE Makefile.generated_files pkg SECURITY_CONTACTS test vendor
build CHANGELOG.md code-of-conduct.md Godeps logo OWNERS plugin staging third_party WORKSPACE
BUILD.bazel cluster CONTRIBUTING.md hack Makefile OWNERS_ALIASES README.md S
4、开始编译
KUBE_BUILD_PLATFORMS=linux/amd64 make WHAT=cmd/kubelet
5、找到命令
在目录$GOPATH/src/k8s.io/kubernetes/_output/bin,可以见到最新构建的kubectl文件
其他-对所有进行编译
make clean
KUBE_BUILD_PLATFORMS=linux/amd64 make
go官网下载地址
https://go.dev/dl/
k8s github下载地址
https://github.com/kubernetes/kubernetes/releases
方法二:使用go build 编译
1、进入目录
cd $GOPATH/src/k8s.io/kubernetes/cmd/kubelet
2、进行编译
go build -ldflags="-X k8s.io/kubernetes/pkg/version.gitVersion=v1.9.0"
注意事项
1、编译过程中 机器配置一定要大于4核8G,磁盘大于50G
2、编译的时候 go版本和k8s的版本一定要对应,https://github.com/kubernetes/kubernetes/blob/master/build/build-image/cross/VERSION
3、切换go版本后,已经要把原来老的go清理掉,删除掉,在安装新的gohttps://blog.csdn.net/lvsehaiyang1993/article/details/109046094
4、build后 执行kubelet --version无法显示版本号 https://segmentfault.com/a/1190000021163180
有问题请加博主微信进行沟通!
全部评论