Kubernetes如何源码编译
这篇文章给大家分享的是有关Kubernetes如何源码编译的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
成都网络公司-成都网站建设公司成都创新互联公司十年经验成就非凡,专业从事成都网站设计、成都网站建设,成都网页设计,成都网页制作,软文推广,一元广告等。十年来已成功提供全面的成都网站建设方案,打造行业特色的成都网站建设案例,建站热线:028-86922220,我们期待您的来电!
准备
安装golang、docker 另,设置以下内容对golang包编译会是个好习惯
export GO111MODULE="on" export GOPROXY=https://goproxy.cn
下载源码
mkdir -p $GOPATH/src/k8s.io cd $GOPATH/src/k8s.io git clone https://github.com/kubernetes/kubernetes cd $GOPATH/src/k8s.io/kubernetes
编译
编译方式1
命令
KUBE_BUILD_PLATFORMS指定目标平台,WHAT指定编译的组件,通过GOFLAGS和GOGCFLAGS传入编译时参数
如此处编译kubelet 组件。
cd kubernetes KUBE_BUILD_PLATFORMS=linux/amd64 make all WHAT=cmd/kubelet GOFLAGS=-v GOGCFLAGS="-N -l"
如果不指定WHAT,则编译全部。
make all是在本地环境中进行编译的。
make release 和 make quick-release 在容器中完成编译、打包成docker镜像。
编译kubelet这部分代码,也可执行 make clean && make WHAT=cmd/kubelet
检查编译成果
编译过程较长,编译后的文件在kubernetes/_output里。
编译方式2
命令
进入cmd/kubelet (以kubelet为例子) 执行
go build -v
注1: 执行报错了, bitbucket.org/bertimus9/systemstat 包获取失败 多次尝试 go get 后安装成功,继续以上尝试
检查编译成果
如果没出错,会生成可执行文件 kubelet 和 对应的 tar 镜像文件(如果执行的是 make release)
#ls cmd/kubelet/ app BUILD kubelet kubelet.go OWNERS
感谢各位的阅读!关于“Kubernetes如何源码编译”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
当前文章:Kubernetes如何源码编译
分享地址:http://scyanting.com/article/jcjhod.html