kubernetes编译环境

    技术2023-06-17  93

    为了满足我们的需求,需要对kubelet进行开发,开发之后需要编译成可执行二进制。

    安装golang环境

    首先安装golang环境,我们使用的是k8s-1.16.3版本,需安装golang1.12.1以上的版本,而高于golang1.13的版本不可用,所以选定的golang版本是1.12.7.

    wget -c https://dl.google.com/go/go1.12.7.linux-amd64.tar.gz -P /opt/

    cd /opt/

    tar -C /usr/local -xzf go1.12.7.linux-amd64.tar.gz

     

    #在/etc/profile或者用户目录下的.profile文件中配置环境变量

    export GOROOT=/usr/local/go

    export GOPATH=/root/gowork

    export GOBIN=$GOPATH/bin

    export PATH=$PATH:$GOROOT/bin

    export PATH=$PATH:$GOPATH/bin

     

     

    go version

    go version go1.12.7 linux/amd64

    golang安装成功。

    注:k8s1.16.x版本使用该golang版本

    k8s1.17.x使用1.13.5

    编译kubelet

    必须直接从linux上克隆,从windows拷贝软连接和权限会被删除。

    mkdir -p $GOPATH/src/k8s.io

    cd $GOPATH/src/k8s.io

    git clone git clone https://github.com/kubernetes/kubernetes -b release-1.16

    cd $GOPATH/src/k8s.io/kubernetes

     

    make clean && make WHAT=cmd/kubelet

    生成的kubelet二进制在_output/bin/文件夹下。

     

    kubelet查看最新日志的方式:sudo journalctl -f -u kubelet

    Processed: 0.013, SQL: 9