美文网首页云原生
编译Kubernetes源码

编译Kubernetes源码

作者: 印随2018 | 来源:发表于2019-07-21 14:39 被阅读0次

    一、安装Golang

    默认$GOPATH目录为 /root/go/

    wget -c https://dl.google.com/go/go1.12.5.linux-amd64.tar.gz -P /opt/
    cd /opt/
    tar -C /usr/local -xzf go1.12.5.linux-amd64.tar.gz 
    echo "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile && source /etc/profile
    echo "export GOPATH=/root/go" >> /etc/profile && source /etc/profile
    

    二、指定分支,下载 Kubernetes 源代码

    mkdir -p $GOPATH/src/k8s.io
    cd $GOPATH/src/k8s.io
    git clone https://github.com/kubernetes/kubernetes -b release-1.14
    

    三、编译源码

    进入Kubernetes根目录下

    cd $GOPATH/src/k8s.io/kubernetes
    

    KUBE_BUILD_PLATFORMS指定目标平台,WHAT指定编译的组件,通过GOFLAGS和GOGCFLAGS传入编译时参数,如此处编译kubectl 组件。

    KUBE_BUILD_PLATFORMS=linux/amd64 make all WHAT=cmd/kubectl GOFLAGS=-v GOGCFLAGS="-N -l"
    
    • 如果不指定WHAT,则编译全部。
    • make all是在本地环境中进行编译的。
    • make release和make quick-release在容器中完成编译、打包成docker镜像。
    • 编译kubectl这部分代码,也可执行make clean && make WHAT=cmd/kubectl

    四、检查编译成果

    编译过程较长,请耐心等待,编译后的文件在kubernetes/_output里。

    相关文章

      网友评论

        本文标题:编译Kubernetes源码

        本文链接:https://www.haomeiwen.com/subject/owgmlctx.html