前言

因为众所周知的原因,在使用Kubernetes和docker的时候会出现一些镜像无法拉取或者速度较慢的情况,错误信息类似以下:

[ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-proxy:v1.17.3: output: Error response from daemon ...
Failed to pull image "quay.io/coreos/flannel:v0.11.0-amd64": rpc error: code = Unknown desc = net/http: request canceled ...

之前一直使用的是Azure中国的镜像,经读者提醒,该镜像站已经不能用了,中科大的也不是很稳定。

接下来记录下使用阿里云从海外构建镜像的过程,虽然麻烦点,是能解决问题。

在阿里云创建镜像仓库

首先进入阿里云的容器镜像服务

我这已经是开通过的界面了,没开通过的什么样已经忘了。

没有创建命名空间的就创建一个,创建好了之后点击“创建仓库镜像”。这里我们拿kube-apiserver做例子。

点击下一步,选择代码源,作者这里用的是GitHub,已经绑定好了。记得勾选“海外机器构建”

准备github仓库

这是我仓库的地址:https://github.com/orccn/kube-dockerfile

仓库的每个目录下都有一个Dockerfile

├── README.md
├── coredns
│   └── Dockerfile
├── etcd
│   └── Dockerfile
├── kube-apiserver
│   └── Dockerfile
├── kube-controller-manager
│   └── Dockerfile
├── kube-proxy
│   └── Dockerfile
├── kube-scheduler
│   └── Dockerfile
└── pause
└── Dockerfile

kube-apiserver/Dockerfile 的内容只有一句话。

FROM k8s.gcr.io/kube-apiserver:v1.17.5

添加规则、构建

仓库准备ok后,创建完成,然后点击进入刚创建的仓库,点击左侧“构建”,然后点击右侧“添加规则”

规则添加完后,点击“立即构建”,可以看到下方的构建日志

到此时为止,一个镜像就已经生成了。然后就是到你需要的地方 docker pulldocker tag

$ docker pull registry.cn-hangzhou.aliyuncs.com/k6s/kube-apiserver:v1.17.5
v1.17.5: Pulling from k6s/kube-apiserver
597de8ba0c30: Pull complete
e13a88fa950c: Pull complete
Digest: sha256:5ddc5c77f52767f2f225a531a257259228d74b32d8aac9cfe087251f998c42f3
Status: Downloaded newer image for registry.cn-hangzhou.aliyuncs.com/k6s/kube-apiserver:v1.17.5
registry.cn-hangzhou.aliyuncs.com/k6s/kube-apiserver:v1.17.5 $ docker tag registry.cn-hangzhou.aliyuncs.com/k6s/kube-apiserver:v1.17.5 k8s.gcr.io/kube-apiserver:v1.17.5

其他的镜像如法炮制。

在Docker配置文件中配置加速器

$ vi /etc/docker/daemon.json  

//添加以下内容
{
"registry-mirrors": ["https://hub-mirror.c.163.com"]
}

Kubernetes搭建过程中使用k8s.gcr.io、quay.io、docker.io的镜像加速的更多相关文章

  1. kubernetes安装过程中遇到问题及解决

    系列目录 根据机器环境的不同,有的可能一次就安装成功,有的则可能遇到各种各样的坑需要排查.建议不熟悉linux的用户使用全新的环境来安装kubernetes.以下记录本人在安装过程中遇到的问题及解决方 ...

  2. Hadoop完全分布式搭建过程中遇到的问题小结

    前一段时间,终于抽出了点时间,在自己本地机器上尝试搭建完全分布式Hadoop集群环境,也是借助网络上虾皮的Hadoop开发指南系列书籍一步步搭建起来的,在这里仅代表hadoop初学者向虾皮表示衷心的感 ...

  3. ELK搭建过程中出现的问题与解决方法汇总

    搭建过程中出现的问题 elasticsearch启动过程中报错[1] ERROR: [1] bootstrap checks failed [1]: the default discovery set ...

  4. Kubernetes集群搭建过程中遇到的问题

    1. 创建Nginx Pod过程中报如下错误: #kubectlcreate -f nginx-pod.yaml Error from server: error when creating &quo ...

  5. Solr环境搭建过程中遇到的问题

    Solr下载地址:http://www.apache.org/dyn/closer.lua/lucene/solr/6.3.0 Solr搭建步骤转自:http://blog.csdn.net/wbcg ...

  6. kakfa源代码开发环境搭建过程中的错误处理

    在window上搭建kafka的源代码开发环境,主要参考如下的blog: http://www.bubuko.com/infodetail-695974.html    << Window ...

  7. CentOs6.8 hadoop集群搭建过程中的问题

    1.Error: Java heap space 网上有很多说是java虚拟机内存不够的,我也试着修改内存大小,但是没起作用,后来发现是文件在传输过程中失真.文件在上传到HDFS后变成乱码,重新上传文 ...

  8. mongodb副本集搭建过程中的问题和解决技巧

    在我以往的认知中,一个系统一旦正式上线,多半不会轻易的迁移服务器,尤其是那种涉及到多个关联应用,涉及到多台硬件服务器的系统,因为这种迁移将是牵一发而动全身的. 但是,却仍然有这种情况存在,就如我这几天 ...

  9. ant design环境搭建过程中遇到的问题--Windows-dva-cli

    基础的此处略去,nodejs和npm是前提. 1.官网介绍的是脚手架工具是antd-init,但是又建议真实项目中用dva-cli,所以博主就直接装的是dva-cli,这里主要是简单介绍下博主在Win ...

随机推荐

  1. C#chart图表的应用

    在图表中,x轴代表类别,y轴代表数值(好比类与他们的属性) 这是数据库中的数据,下面我们选前5辆车,在图表中显示他们的名字,油耗,功率,价格 创建查询数据的类 class CarDA { public ...

  2. Servlet&JSP复习笔记 02

    1.Servlet获取请求参数 获取请求参数依靠的是表单元素的name属性,广泛意义来说id属性是给客户端使用的,name属性是服务器使用的. a.获取Name-Value的方法: - getPara ...

  3. 三十八、LNMP潮流组合搭建

    一.安装mysql 数据库 1.1  mysql数据库安装的三种方法: 1)编译安装,在lamp经典组合安装是5.1版本,是configure,make,make install,这里如果是5.5版本 ...

  4. Linux磁盘空间满的诡异问题解决方案

    问题描述: 今天登上一台服务器,df -h 发面根目录磁盘已经满了 解决过程: cd / du -sh *  发现并没有大文件,占用的空间没多大 根据经验,先通过lsof | grep deleted ...

  5. 非IoC方式访问Servlet API的两种方法

    使用ActionContext访问 ActionContext来自com.opensymphony.xwork2.ActionContext 具体实现代码段如下: <span style=&qu ...

  6. [LC] 203. Remove Linked List Elements

    Remove all elements from a linked list of integers that have value val. Example: Input: 1->2-> ...

  7. [LC] 113. Path Sum II

    Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given su ...

  8. 构造函数中可以进行if判断

  9. EmguCV从位图(Bitmap)加载Image<Gray,byte>速度慢的问题

    先说背景.最近在用C#+EmguCV(其实就是用P/Invoke封闭了OpecCV,与OpenCVDotNet差不多) 做一个视频的东西.视频是由摄像头采集回来的1f/s,2048X1000大小,其实 ...

  10. Linux BASH简单总结

    BASH: 变量的设置规则: 1.变量与变量内容以一个符号"="来链接 2.等号两边不能直接接空白字符 3.变量名称只能是英文字母与数字,但是不能以数字开头 4.变量内容若有空白字 ...