kubeadm离线安装kubenetes安装包制作

更改yum设置,yum安装时保存rpm包

vim /etc/yum.conf

第二行keepcache=0 改为 keepcache=1

新增kubeadm yum 源,放入/etc/yum.repos.d/

cd /etc/yum.repos.d/
vim /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes Repo
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

查询yum 所有版本

yum list --showduplicates | grep 'kubeadm\|kubectl\|kubelet'

安装或下载指定版本kubeadm
tips:安装之前,应yum clean all一下,防止导出多余依赖

单独安装:
yum install -y kubelet-
一起安装:
yum install -y kubelet- kubectl- kubeadm-

只下载rpm包,不进行安装 
yum -y install --downloadonly --downloaddir=./ xxx
	--downloaddir=./ 表示下载目录 ./表示当前目录
	xxx 表示需要下载的rpm包名称
	tips:下载时会下载所有相关的依赖包。

Tips:单独安装时,需先安装kubectl 或kubelet,最后安装kubeadm,先安装kubeadm 时二者会自动安装最新版
将yum 包及依赖包导出
导出目录
/var/cache/yum/x86_64/7/kubernetes/package
/var/cache/yum/x86_64/7/base/package
/var/cache/yum/x86_64/7/update/package 下导出所有 .rpm 包

查看需要的镜像

kubeadm config images list
#输出如下结果
k8s.gcr.io/kube-apiserver:v1.12.2
k8s.gcr.io/kube-controller-manager:v1.12.2
k8s.gcr.io/kube-scheduler:v1.12.2
k8s.gcr.io/kube-proxy:v1.12.2
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd:3.2.24
k8s.gcr.io/coredns:1.2.2

通过 docker.io/mirrorgooglecontainers 中转一下,批量下载及转换标签
脚本如下:

kubeadm config images list |sed -e 's/^/docker pull /g' -e 's#k8s.gcr.io#docker.io/mirrorgooglecontainers#g' |sh -x
docker images |grep mirrorgooglecontainers |awk '{print "docker tag ",$1":"$2,$1":"$2}' |sed -e 's#docker.io/mirrorgooglecontainers#k8s.gcr.io#2' |sh -x
docker images |grep mirrorgooglecontainers |awk '{print "docker rmi ", $1":"$2}' |sh -x
docker pull coredns/coredns:1.2.2
docker tag coredns/coredns:1.2.2 k8s.gcr.io/coredns:1.2.2
docker rmi coredns/coredns:1.2.2

Tips:coredns 没包含在docker.io/mirrorgooglecontainers 中,需要手工从coredns 官方镜像转换下。

下载docker-images
从mirrorgooglecontainers 下载kubernetes 需要的镜像
更改标签
dockers tag
Tips:删除tag docker rmi imageName:imageVersion

导出所有docker-images

docker save $(docker images | grep -v REPOSITORY | awk 'BEGIN{OFS=":";ORS=" "}{print $1,$2}') -o kubernetes.tar

下载kube-flannel.yaml
https://github.com/coreos/flannel 上找到kube-flannel.yaml

下载dashboard.yaml
https://github.com/kubernetes/dashboard/releases 上找到dashboard.yaml

你可能感兴趣的:(#,Kubernetes)