kubernetes源码编译

https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md

http://blog.csdn.net/u013812710/article/details/52449995


说明:确保本地的golang环境已经正确的安装 
1. cd $GOPATH/src & mkdir k8s.io & cd k8s.io 
2. 官网下载源码

    获取指定版本的:
    git clone -b v1.3.6 --depth 1 https://github.com/kubernetes/kubernetes.git
    这种方式比较快,只clone指定版本的,最新两个commit点
    如果你用:
    git clone https://github.com/kubernetes/kubernetes.git
    这种方式会很慢,因为会clone所以得branch,所以得commit点
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3.编译源码

分别进入到 kubenetes/cmd中的各个组件的目录下,然后进行编译安装
cd $GOPATH/src/k8s.io/kubernetes/cmd/kube-apiserver & go install 
cd $GOPATH/src/k8s.io/kubernetes/cmd/kube-controller-manage & go install 
cd $GOPATH/src/k8s.io/kubernetes/cmd/kube-kubectl & go install 
cd $GOPATH/src/k8s.io/kubernetes/cmd/kube-proxy & go install 
cd $GOPATH/src/k8s.io/kubernetes/cmd/kube-dns & go install 
cd $GOPATH/src/k8s.io/kubernetes/cmd/kube-discovery & go install 
cd $GOPATH/src/k8s.io/kubernetes/plugin/cmd/kube-scheduler & go install 

在编译安装过程中会遇到问题:
除了kubelet组件外其他组件都能正常的编译安装,但是当编译安装kubelet组件时,会报如下错误:
由于我是在linux的虚拟机中编译安装的,首先编译一段时间后,虚拟机很卡,不能正常使用,最后虚拟机黑屏,然后编译报错:大致的意思就是编译所需要的内存不足,导致编译panic,在网上查了下资料很少有提到这个的,最后了解到,在编译kubelet时,内存低于2G就会报这个错,然后我通过VBoxmange modifyvm vmname --memory 2560修改虚拟机的内存,然后再次编译成功。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

附:如果不清楚怎么修改Virtaulbox中虚拟机的内存或其他熟悉的请参考virtualBox下配置已经安装好的ubuntu内存大小

你可能感兴趣的:(k8s)