Kubernetes1.14 学习笔记一: 制作 k8s rpm包

 

目录

一、准备工作

 1、git clone k8s  release 项目.

2、下载 对应的K8s版本

二、 制作RPM 包

1、修改entry.sh 文件

2、修改kubelet.spec 

3、执行./docker-build.sh  编译成rpm 包.


首先, 直接通过yum 安装k8s , 遇到最大的问题就是需要翻墙,毕竟是Google 服务器。个人使用蓝灯翻墙之后,发现能访问Google ,但是不能通过linux 命令进行下载,网上查找了些资料,我们可以通过kubernetes release制作k8s 的kubelet、kubeadm、kubectl等rpm包。

本文制作的目前最新版本的K8s  1.14.1版本

操作系统环境:Centos  7 

一、准备工作

 1、git clone k8s  release 项目.

[root@k8s k8s]# git clone https://github.com/kubernetes/release.git

2、下载 对应的K8s版本

https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.14.md

因我是Centos7 下载 如下版本.

解压之后, 得到如下文件.

然后再下载如下两个文件:

https://github.com/kubernetes-incubator/cri-tools/releases/download/v1.12.0/crictl-v1.12.0-linux-amd64.tar.gz

https://dl.k8s.io/network-plugins/cni-plugins-amd64-v0.7.5.tgz 

将以上文件复制到 release/rpm 目录下

[root@k8s rpm]# ll
total 265536
-rw-r--r--. 1 root root       900 Apr 10 17:34 10-kubeadm-post-1.11.conf
-rw-r--r--. 1 root root      1016 Apr 10 17:34 10-kubeadm-post-1.8.conf
-rw-r--r--. 1 root root       856 Apr 10 17:34 10-kubeadm-pre-1.8.conf
-rw-r--r--. 1 root root  17109361 Apr 11 10:37 cni-plugins-amd64-v0.7.5.tgz
-rw-r--r--. 1 root root   7411209 Apr 11 10:37 crictl-v1.12.0-linux-amd64.tar.gz
-rwxr-xr-x. 1 root root       408 Apr 10 17:34 docker-build.sh
-rw-r--r--. 1 root root       244 Apr 10 17:34 Dockerfile
-rwxr-xr-x. 1 root root       984 Apr 10 21:09 entry.sh
-rw-r--r--. 1 root root  39587104 Apr 11 10:37 kubeadm
-rw-r--r--. 1 root root  43115328 Apr 11 10:37 kubectl
-rw-r--r--. 1 root root 127940544 Apr 11 10:37 kubelet
-rw-r--r--. 1 root root        20 Apr 10 17:34 kubelet.env
-rw-r--r--. 1 root root       222 Apr 10 17:34 kubelet.service
-rw-r--r--. 1 root root      9001 Apr 11 10:41 kubelet.spec
-rw-r--r--. 1 root root  36685440 Apr 11 10:37 kube-proxy

二、 制作RPM 包

1、修改entry.sh 文件

注释其他类型,只保留amd64/x86_64 .

2、修改kubelet.spec 

修改KUBE_MAJOR、KUBE_MINOR、KUBE_PATCH 为我们需要编译的版本.

修改SOURCE0-7 的URL 地址, 改为引入当前目录的文件,即第一步下载的kubeadm等文件.

3、执行./docker-build.sh  编译成rpm 包.

[root@k8s rpm]# ./docker-build.sh 
Sending build context to Docker daemon  271.9MB
Step 1/8 : FROM fedora:24
 ---> 971e0f0a8b71
Step 2/8 : MAINTAINER Devan Goodwin <[email protected]>
 ---> Using cache
 ---> d18891905304
Step 3/8 : RUN dnf install -y rpm-build rpmdevtools createrepo && dnf clean all
 ---> Using cache
 ---> 649d23b67339

......
.....
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

----------------------------------------

RPMs written to: 
cri-tools-1.12.0-0.x86_64.rpm  kubectl-1.14.1-0.x86_64.rpm  kubernetes-cni-0.7.5-0.x86_64.rpm
kubeadm-1.14.1-0.x86_64.rpm    kubelet-1.14.1-0.x86_64.rpm  repodata

Yum repodata written to: 
0b7b108295b3378dc8ca5fc11d56d39e24534e9d070108abac8465f9c750e0d7-filelists.xml.gz
4d46219feba6d8b78df772c409fb3b2b221cb1205fba882c79a224080e237ddb-other.xml.gz
9c32575b02baa6f20e75cb10447870ac9503618cf3f245a88a90cddfe8987a1f-other.sqlite.bz2
ceb0b0ec9e5d08a1b834085ff863296633e9b6094a140d17fde047e6122747ac-primary.xml.gz
e08a5a5b5161da93f65a890ba2c188391d2b209015fe281fe552077bf7b47f53-filelists.sqlite.bz2
e6dfa64e4d24f8249f27e44231021fcd8a19897822fcd179c069d993209031de-primary.sqlite.bz2
repomd.xml

进入release/rpm/output/x86_64 查看生成的rpm 包.

至此,我们已经完成了 k8s RPM包的制作.

发布了192 篇原创文章 · 获赞 254 · 访问量 76万+

猜你喜欢

转载自blog.csdn.net/yulei_qq/article/details/89205022
今日推荐