k8s :从源代码构建 二进制 安装包

xingpingz · · 2063 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

前言

本文介绍如何从源代码构建 k8s 二进制安装包

准备工作

操作系统 cenos7.x

安装 docker

参考 官网 或网上各路教程

下载源代码

$ cd /opt/
$ git clone https://github.com/kubernetes/kubernetes.git

checkout

$ cd /opt/kubernetes
$ git checkout v1.8.4 -b v1.8.4

准备基础 docker 镜像

如果直接构建的话会发现会卡在那动不了,原因是构建脚本会从 gcr(google container registry)拉取构建需要的基础镜像,而且是强制拉取...,如果没有 VPN 的话就悲剧了。有两种方法:

  • 从 Docker Hub 上 pull 别人上传的镜像然后在本地打上 tag
  • 从 kubernetes 源代码构建出基础镜像

这里仅介绍方法 2

$ docker pull mirrorgooglecontainers/kube-cross:v1.8.3-2
$ docker tag mirrorgooglecontainers/kube-cross:v1.8.3-2 gcr.io/google_containers/kube-cross:v1.8.3-2
$ docker pull mirrorgooglecontainers/debian-iptables-amd64:v8
$ docker tag mirrorgooglecontainers/debian-iptables-amd64:v8 gcr.io/google_containers/debian-iptables-amd64:v8

修改 build/lib/release.sh

去掉 docker build 命令的 --pull 选项,不然还是会从 gcr 拉取镜像...

index 3134e4d..e1881b4 100644
--- a/build/lib/release.sh
+++ b/build/lib/release.sh
@@ -323,7 +323,7 @@ function kube::release::create_docker_images_for_server() {
         ln ${binary_dir}/${binary_name} ${docker_build_path}/${binary_name}
         printf " FROM ${base_image} \n ADD ${binary_name} /usr/local/bin/${binary_name}\n" > ${docker_file_path}
 
-        "${DOCKER[@]}" build --pull -q -t "${docker_image_tag}" ${docker_build_path} >/dev/null
+        "${DOCKER[@]}" build -q -t "${docker_image_tag}" ${docker_build_path} >/dev/null
         "${DOCKER[@]}" save "${docker_image_tag}" > "${binary_dir}/${binary_name}.tar"
         echo "${docker_tag}" > ${binary_dir}/${binary_name}.docker_tag
         rm -rf ${docker_build_path}

构建

cd /opt/kubernetes
make quick-release

注意:quick-release 仅构建当前系统版本(例如 linux-amd64)

构建完成后会在 /opt/kubernetes/_output/release-tarts 目录下生成 k8s 二进制安装包:

kubernetes-client-linux-amd64.tar.gz(客户端命令行工具)
kubernetes-server-linux-amd64.tar.gz(master 和 node 节点 k8s 服务程序)
kubernetes-src.tar.gz(k8s 源代码包)
kubernetes.tar.gz(master 和 node 节点 k8s 基础包)

总结


有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:xingpingz

查看原文:k8s :从源代码构建 二进制 安装包

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2063 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传