kubernetes in docker,docker+kubernetes
由于众所周知的原因,Docker的官方图像仓库和Google的图像仓库在中国访问缓慢或不可用。这给Kubernetes的部署和使用带来了极大的不便。今天给大家介绍几种快乐解决这个问题的方法。
既然是网络问题,解决这个问题的思路很简单。当然,使用国内可用的图像源。这里推荐两款好用的国产镜源:Azure中国镜源和中科大镜源。
Azure 中国镜像源
蔚蓝图像源地址:http://mirror.azure.cn/Azure中国图像源地址:https://github.com/azure/container-service-for-azure
中国科技大学镜像来源地址:http://mirrors.ustc.edu.cn/科技大学镜像来源github.com/ustc LUG/Mirror请求镜像来源配置描述:3359 github
它是Docker在hub.Docker.com的官方图片库,也是Docker使用过程中使用最多的图片库。通常这种镜像仓库的拉出速度只有几十Kb,非常慢。如果使用,会严重影响生产效率。
现在国内有了镜源,当然可以直接用国内的镜源。介绍各自的使用方法。
如果Docker的官仓提取了官像:
$码头工人拉动xxx:yyy
要使用中科大的镜像源,需要这样引出。
$ dockerpulldocker.mirrors.ustc.edu.cn/library/XXX:yyy
要使用Azure China mirror源代码,您需要像这样引出:
$ dockerpulldockerhub.azk8s.cn/library/XXX:yyy
如果Docker官方仓库提取的图像是特殊仓库的提取方法,那么:
$码头工人拉动xxx/yyy:zz
要使用中科大的镜像源,需要这样引出。
$ dockerpulldocker.mirrors.ustc.edu.cn/XXX/yyy:ZZ
要使用Azure China mirror源代码,您需要像这样引出:
$ dockerpulldockerhub.azk8s.cn/XXX/yyy:ZZ
表示使用镜像源提取的示例。我们来看看提取mysql的例子:5.7和360cloud/wayne。
#图片来源中国科技大学$ dockerpulldocker.mirrors.ustc.edu.cn/library/MySQL 33605.7 $ dockerpulldocker.mirrors.ustc.edu
中国Azure图片来源$ dockerpulldockerhub.azk8s.cn/library/MySQL 33605.7 $云/dockerpulldockerhub.azk8s.cn/360韦恩
注意:在第一次提取期间,可能会出现类似的错误:imagelibrary/mysql33605.7未找到错误。这意味着镜像源中没有缓存镜像。这是一个普遍现象。因为加速后的图像将从官方图像库中提取并缓存在本地。在这种情况下,请尝试提取几次。
中科大镜像源
如果提取的Google图片存储库的容器图片如下所示,那么它就是$ dockerpullgcr.io/XXX/yyy 3360 zzz。
要使用中科大的镜像源,需要这样引出。
$ dockerpullgcr.mirrors.ustc.edu.cn/XXX/yyy:zzz
要使用Azure China mirror源代码,您需要像这样引出:
$ dockerpullgcr.azk8s.cn/XXX/yyy:zzz
表示使用镜像源提取的示例。让我们看看拉gcr.io/kubernetes-helm/tiller 3360v 2 . 9 . 1的例子
#使用中国科技大学的镜像源$ dockerpullgcr.mirrors.ustc.edu.cn/kubernetes-helm/tiller 3360v 2 . 9 . 1
使用Azure China图片来源$ dockerpullgcr.azk8s.cn/kubernetes-helm/tiller 3360v 2 . 9 . 1
使用镜像源加速 Docker.io 镜像仓库
部署
在使用Kubernetes或者Kubernetes的时候,我们会用到很多相关的镜像,而这些镜像通常使用k8s.gcr.io作为镜像库。
实际上,k8s.gcr.io是gcr.io/google-containers,下的容器映像,所以我们也可以使用中国科技大学或Azure China的映像源来加速它。
如果我们拉Kubernetes,所需的容器图像类似于下面的形式:$ docker pull k8s.gcr.io/xxx:yyy#相当于$ docker pull gcr.io/google-containers/xxx:yyy.
要用中科大的镜像源,应该是这样拉的:
$码头工人拉gcr.mirrors.ustc.edu.cn/google-containers/xxx:yyy
用Azure中国镜源码,应该是这样拉的:
$码头工人拉gcr.azk8s.cn/google-containers/xxx:yyy
演示一个使用镜像源拉动的例子。我们以拉k8s.gcr.io/addon-resizer:1.8.3为例:
#使用镜像源$ dockerpullgcr . mirrors . ustc . edu . cn/Google-containers/addon-resizer:1 . 8 . 3
#使用蔚蓝中国镜来源$ Docker拉gcr.azk8s.cn/google-containers/addon-resizer:1.8.3
使用镜像源加速 quay.io 镜像仓库
在部署Kubernetes相关的周边组件或生态系统时,我们经常会从quay.io图像仓库中拉取图像。Quay.io在中国也是默认不可用的。同样,我们也可以通过中科大的镜源和Azure中国镜源来访问。
如果我们在quay.io下拉所需的容器图像,它类似于下面的表单$ docker pull quay.io/xxx/yyy:zzz
要用中科大的镜像源,应该是这样拉的:
$码头工人拉quay.mirrors.ustc.edu.cn/xxx/yyy:zzz
用Azure中国镜源码,应该是这样拉的:
$码头工人拉quay.azk8s.cn/xxx/yyy:zzz
演示一个使用镜像源拉动的例子。我们以拉quay.io/coreos/kube-state-metrics:v1.5.0为例:
#使用镜像来源$ Docker中国科技大学拉quay.mirrors.ustc.edu.cn/coreos/kube-state-metrics:v1.5.0
#使用蔚蓝中国镜来源$ Docker拉quay.azk8s.cn/coreos/kube-state-metrics:v1.5.0
一些自动化工具
上面讲解和演示了如何使用中科大和Azure China的镜像源来加速拉图的方法。但是,这些方法都是手动的,不够方便。下面将介绍两个小工具,让你更方便快捷的使用这些图片来源。
docker-wrapper
Python写的一个工具脚本,可以代替系统的Docker命令,自动从Azure中国拉图片,自动标记为目标图片,一气呵成地删除Azure图片。
项目地址:https://github.com/silenceshell/docker_wrapper
docker-wrapper 安装
$ git克隆https://github.com/silenceshell/docker-wrapper.git$ sudo CP docker-wrapper/docker-wrapper . py/usr/local/bin/
docker-wrapper 使用
$ docker-wrapper pull k8s.gcr.io/kube-apiserver:v1.14.1$ docker-wrapper pull gcr.io/google_containers/kube-API server:v 1 . 14 . 1 $ docker-wrapper pull nginx $ docker-wrapper pull silence shell/go daddy:0 . 0 . 2
azk8spull
一个Shell写的脚本。这个脚本的功能类似于docker-wrapper。还可以从Azure China自动拉镜像,自动标记目标镜像,删除Azure镜像。
项目地址:https://github.com/xuxinkun/littleTools#azk8spull
azk8spull 安装
$ git克隆https://github.com/xuxinkun/littleTools$ CD little tools $ chmod x install . sh $。/install.sh
azk8spull 使用
$ azk 8 spull quay . io/kubernetes-ingress-controller/nginx-ingress-controller:0 . 24 . 1 $ azk 8 spull k8s.gcr.io/pause-amd64:3.1
https://www . Google . com https://ieevee . com/tech/2019/03/02/azure-gcr-proxy . html https://www . cn blogs . com/xuxinkun/p/11025020 . html https://www . ilanni . com/?p=14534
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。