1. 编译环境
操作系统:Ubuntu 16.04 LTS amd64
Git: 2.7.4
Docker: 1.12.6
2. 编译步骤
2.1 克隆源码
# git clone https://github.com/kubernetes/kubernetes.git
# git checkout release-1.7
2.2 修改源码
目的是解决 gcr.io 国内不能访问的问题,已测试,即使准备好gcr.io相关镜像,如不修改源码仍会因网络问题导致编译失败
编辑 kubernetes/build/debian-base/Makefile、kubernetes/build/common.sh、kubernetes/build/build-image/Dockerfile
将所有 gcr.io/google_containers 替换为 googlecontainer
编辑 kubernetes/hack/lib/version.sh
将KUBE_GIT_TREE_STATE="dirty" 改为 KUBE_GIT_TREE_STATE="clean",确保版本号干净
2.3 下载镜像
# docker pull googlecontainer/kube-cross:v1.8.3-1
# docker pull googlecontainer/debian-iptables-amd64:v7
2.4 执行编译
# export KUBE_GIT_VERSION=v1.7
# make quick-release
2.5 检查编译成果
编译过程较长,请耐心等待,编译后的文件在kubernetes/_output里