博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
k8s :从源代码构建 二进制 安装包
阅读量:6961 次
发布时间:2019-06-27

本文共 1924 字,大约阅读时间需要 6 分钟。

前言

本文介绍如何从源代码构建 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 源代码构建出基础镜像

这里仅介绍方法 1

$ 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/kubernetesmake 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 基础包)

总结

虽然网上有现成的 k8s 二进制安装包可供下载使用,但是通过自己构建 k8s,可以深入理解 k8s 架构,方便二次定制开发

转载地址:http://ilwsl.baihongyu.com/

你可能感兴趣的文章
iOS 开发遇到的问题
查看>>
单臂路由的实现
查看>>
还有人不认识通讯诈骗,短信验证码带你认识一下
查看>>
Docker(四)镜像创建
查看>>
unigui的UnimDatePicker控件使用经验
查看>>
用maven时出现,报错 miss 一些包,但是发现项目里已经引入了,但还是报错
查看>>
JQ中 $(document).scrollTop()、$('html').scrollTop()、 $(window).scrollTop()区别
查看>>
令人眼前一亮的下拉式终端 Tilda & Guake
查看>>
Python - 元组(tuple) 详解 及 代码
查看>>
AsynchronousSocketChannel
查看>>
IE6尾部重复字符bug , IE6下产生多余字符的BUG
查看>>
我的友情链接
查看>>
Asp.net core 二级域名的设置
查看>>
【LAMP】03、构建分离式的LAMP
查看>>
大快DKhadoop大数据处理平台详解
查看>>
摄影菜鸟使用的相机镜头术语大全分享
查看>>
XenServer部署系列之06——网络配置
查看>>
Python黑科技:50行代码运用Python+OpenCV实现人脸追踪+详细教程+快速入门+图像识...
查看>>
软件测试质量和效率评价之我见
查看>>
kloxo增加了域名,怎么不能访问?如何重启web服务?
查看>>