文档章节

Kubernetes镜像的离线保存和载入(非常快)

openthings
 openthings
发布于 2018/10/10 10:13
字数 957
阅读 491
收藏 0

把Kubernetes的镜像离线保存到文件,然后从文件载入就可以实现离线安装了(非常快)。

这里使用的Kubernetes 1.12.1版本的镜像,其它版本修改对应的版本号即可。

1、保存到文件-Save Images

使用docker save命令来保存docker images到文件,-o 参数指示文件名。

  • 运行下面的脚本之前,建议为镜像文件建立一个单独的目录。

如下:

echo "==================================================================="
echo "Save Kubernetes images to tar."
echo "This tool created by https://my.oschina.net/u/2306127"
echo "Please visit https://github.com/openthings/kubernetes-tools"

echo "###################################################################"
echo "Kubernetes core system images."
echo "-------------------------------------------------------------------"

echo "A1.>> k8s.gcr.io/kube-apiserver:v1.12.1"
sudo docker save k8s.gcr.io/kube-apiserver:v1.12.1 -o A1-k8s-kube-apiserver-v1.12.1.tar
echo ""

echo "A2.>> k8s.gcr.io/kube-controller-manager:v1.12.1"
sudo docker save k8s.gcr.io/kube-controller-manager:v1.12.1 -o A2-k8s-kube-controller-manager-v1.12.1.tar
echo ""

echo "A3.>> k8s.gcr.io/kube-scheduler:v1.12.1"
sudo docker save k8s.gcr.io/kube-scheduler:v1.12.1 -o A3-k8s-kube-scheduler-v1.12.1.tar
echo ""

echo "A4.>> k8s.gcr.io/kube-proxy:v1.12.1"
sudo docker save k8s.gcr.io/kube-proxy:v1.12.1 -o A4-k8s-kube-proxy-v1.12.1.tar
echo ""

echo "A5.>> k8s.gcr.io/pause:3.1"
sudo docker save k8s.gcr.io/pause:3.1 -o A5-k8s-pause-3.1.tar
echo ""

echo "A6.>> k8s.gcr.io/etcd:3.2.24"
sudo docker save k8s.gcr.io/etcd:3.2.24 -o A6-k8s-etcd-3.2.24.tar
echo ""

echo "A7.>> k8s.gcr.io/coredns:1.2.2"
sudo docker save k8s.gcr.io/coredns:1.2.2 -o A7-k8s-coredns-1.2.2.tar
echo ""

echo "==================================================================="
echo "B1.>> quay.io/coreos/flannel:v0.10.0-amd64"
sudo docker save quay.io/coreos/flannel:v0.10.0-amd64 -o B1-flannel-v0.10.0.tar
echo ""

echo "B2.>> k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.0"
sudo docker save k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.0 -o B2-dashboard-v1.10.0.tar
echo ""

echo "B3.>> gcr.io/kubernetes-helm/tiller:v2.11.0"
sudo docker save gcr.io/kubernetes-helm/tiller:v2.11.0 -o B3-helm-tiller-v2.11.0.tar 
echo ""

echo "B4.>> quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.14.0"
sudo docker save quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.14.0 -o B4-ingress-controller-0.14.0.tar
echo ""

echo "B5.>> k8s.gcr.io/defaultbackend:1.3"
sudo docker save k8s.gcr.io/defaultbackend:1.3 -o B5-k8s-defaultbackend-1.3.tar
echo ""

echo "==================================================================="
echo "Save kubernetes images Finished."
echo "This tool created by https://my.oschina.net/u/2306127"
echo "Please visit https://github.com/openthings/kubernetes-tools"
echo "==================================================================="
echo ""

上面的A*为Kubernetes系统镜像,B*为几个常用的扩展模块的镜像。如果还需要其它镜像,仿照上面编写脚本即可。

保存为文件k8s-images-save.sh,然后执行。

2、复制 images

使用U盘或网络或者其它网络,传送images到任何地方。

3、从文件载入-Load Images

使用docker load命令来从文件载入docker images,-i 参数指示源文件名。如下:

echo "==================================================================="
echo "Load Kubernetes images from tar."
echo "This tool created by https://my.oschina.net/u/2306127"
echo "Please visit https://github.com/openthings/kubernetes-tools"

echo "###################################################################"
echo "Kubernetes core system images."
echo "-------------------------------------------------------------------"

echo "A1<< k8s.gcr.io/kube-apiserver:v1.12.1"
sudo docker load -i A1-k8s-kube-apiserver-v1.12.1.tar
echo ""

echo "A2<< k8s.gcr.io/kube-controller-manager:v1.12.1"
sudo docker load -i A2-k8s-kube-controller-manager-v1.12.1.tar
echo ""

echo "A3<< k8s.gcr.io/kube-scheduler:v1.12.1"
sudo docker load -i A3-k8s-kube-scheduler-v1.12.1.tar
echo ""

echo "A4<< k8s.gcr.io/kube-proxy:v1.12.1"
sudo docker load -i A4-k8s-kube-proxy-v1.12.1.tar
echo ""

echo "A5<< k8s.gcr.io/pause:3.1"
sudo docker load -i A5-k8s-pause-3.1.tar
echo ""

echo "A6<< k8s.gcr.io/etcd:3.2.24"
sudo docker load -i A6-k8s-etcd-3.2.24.tar
echo ""

echo "A7<< k8s.gcr.io/coredns:1.2.2"
sudo docker load -i A7-k8s-coredns-1.2.2.tar
echo ""

echo "==================================================================="
echo "B1<< quay.io/coreos/flannel:v0.10.0-amd64"
sudo docker load -i B1-flannel-v0.10.0.tar
echo ""

echo "B2<< k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.0"
sudo docker load -i B2-dashboard-v1.10.0.tar
echo ""

echo "B3<< gcr.io/kubernetes-helm/tiller:v2.11.0"
sudo docker load -i B3-helm-tiller-v2.11.0.tar 
echo ""

echo "B4<< quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.14.0"
sudo docker load -i B4-ingress-controller-0.14.0.tar
echo ""

echo "B5<< k8s.gcr.io/defaultbackend:1.3"
sudo docker load -i B5-k8s-defaultbackend-1.3.tar
echo ""

echo "==================================================================="
echo "Load kubernetes images Finished."
echo "This tool created by https://my.oschina.net/u/2306127"
echo "Please visit https://github.com/openthings/kubernetes-tools"
echo "==================================================================="

保存为文件k8s-images-load.sh,然后执行。

4、更多后续操作

 

© 著作权归作者所有

openthings
粉丝 322
博文 1138
码字总数 687611
作品 1
东城
架构师
私信 提问
Kubernetes的离线部署(Ubuntu)方法试验

为了在内网上使用Kubernetes,有时候因为网络原因,需要离线进行部署。 裸机安装 我这里使用Ubuntu进行试验,需要解决几个问题: Ubuntu的离线安装。下载,安装时选择不联网可以正常完成,没...

openthings
2018/09/05
390
1
kubernetes1.8.1安装指南,离线安装,内网安装

使用kubeadm部署k8s集群 三步装集群:离线包地址 基础环境 关闭swap swapoff -a 再把/etc/fstab文件中带有swap的行删了,没有就无视 装这两工具如果没装的话 yum install -y ebtables socat ...

店家小二
2018/12/14
0
0
环境搭建-CentOS下安装指定版本的Docker

  最近需要搭一套Docker环境,因为需要用到Kubernetes 1.9,Kubernetes和docker的版本有对应关系,所以Docker的版本要选择Kubernetes 1.9能支持版本,我这里选择了docker-ce-17.03.2.ce-1....

statmoon
2018/07/10
0
0
Kaniko:无需高权限即可在Kubernetes与Google Container Builder中构建容器镜像

通常标准Dockerfile的生成需要与Docker后台进程交互访问,因此需要本机root权限。在Docker后台进程无法暴露的场景下(例如Kubernetes集群,详细内容可以参见这儿[1])生成容器镜像就很困难。...

Docker
2018/04/20
0
0
在阿里云创建Kubernetetes-1.11.0镜像服务(高速)

在阿里云创建Kubernetetes-1.11.0镜像服务(高速) Kubernetetes镜像在国内无法直接访问,导致安装费时、容易出错、难以排查。可以将其抓取到阿里云上面,提前拉取(docker pull)到本地,然...

openthings
2018/07/09
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot 操作ActiveMQ

一、消息队列中间件介绍 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合、异步消息、流量削锋等问题,实现高性能、高可用、可伸缩和最终一致性架构,是大型分布式系统不可缺少的...

zw965
18分钟前
3
0
本地化存储Storage

为什么会引入Storage(sessionStorage,localStorage,globalStorage) Web storage的目的是克服由cookie带来的限制,当数据需要严格控制在客户端上时,无须持续将数据发回服务器。主要是提供一...

五公里
27分钟前
6
0
Qt编写自定义控件57-直方波形图

一、前言 直方波形图控件非原创控件,控件大全中大概有20-30个控件非自己原创,而是参考了网上开源的代码,自己加以整理和完善,新增了插件的代码使得可以直接集成到QtDesigner或者QtCreator...

飞扬青云
27分钟前
2
0
或许你不知道的10条SQL技巧

这几天在写索引,想到一些有意思的TIPS,希望大家有收获。 一、一些常见的SQL实践 (1)负向条件查询不能使用索引 select * from order where status!=0 and stauts!=1 not in/not exists都不...

mskk
33分钟前
5
0
IntelliJ IDEA (Mac) 运行速度优化(JVM+localhost)

1.1. JVM 参数配置 打开 idea,菜单 –> help –> edit custom vm options,调整参数,重启即可。 具体调整参数: -Xms2g -Xmx2g -XX:ReservedCodeCacheSize=1024m -XX:+UseCompressedOops 1......

指尖Coding
42分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部