Kubernetes搭建过程中使用k8s.gcr.io、quay.io、docker.io的镜像加速
前言
因为众所周知的原因,在使用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 pull ,docker 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的镜像加速的更多相关文章
- kubernetes安装过程中遇到问题及解决
系列目录 根据机器环境的不同,有的可能一次就安装成功,有的则可能遇到各种各样的坑需要排查.建议不熟悉linux的用户使用全新的环境来安装kubernetes.以下记录本人在安装过程中遇到的问题及解决方 ...
- Hadoop完全分布式搭建过程中遇到的问题小结
前一段时间,终于抽出了点时间,在自己本地机器上尝试搭建完全分布式Hadoop集群环境,也是借助网络上虾皮的Hadoop开发指南系列书籍一步步搭建起来的,在这里仅代表hadoop初学者向虾皮表示衷心的感 ...
- ELK搭建过程中出现的问题与解决方法汇总
搭建过程中出现的问题 elasticsearch启动过程中报错[1] ERROR: [1] bootstrap checks failed [1]: the default discovery set ...
- Kubernetes集群搭建过程中遇到的问题
1. 创建Nginx Pod过程中报如下错误: #kubectlcreate -f nginx-pod.yaml Error from server: error when creating &quo ...
- Solr环境搭建过程中遇到的问题
Solr下载地址:http://www.apache.org/dyn/closer.lua/lucene/solr/6.3.0 Solr搭建步骤转自:http://blog.csdn.net/wbcg ...
- kakfa源代码开发环境搭建过程中的错误处理
在window上搭建kafka的源代码开发环境,主要参考如下的blog: http://www.bubuko.com/infodetail-695974.html << Window ...
- CentOs6.8 hadoop集群搭建过程中的问题
1.Error: Java heap space 网上有很多说是java虚拟机内存不够的,我也试着修改内存大小,但是没起作用,后来发现是文件在传输过程中失真.文件在上传到HDFS后变成乱码,重新上传文 ...
- mongodb副本集搭建过程中的问题和解决技巧
在我以往的认知中,一个系统一旦正式上线,多半不会轻易的迁移服务器,尤其是那种涉及到多个关联应用,涉及到多台硬件服务器的系统,因为这种迁移将是牵一发而动全身的. 但是,却仍然有这种情况存在,就如我这几天 ...
- ant design环境搭建过程中遇到的问题--Windows-dva-cli
基础的此处略去,nodejs和npm是前提. 1.官网介绍的是脚手架工具是antd-init,但是又建议真实项目中用dva-cli,所以博主就直接装的是dva-cli,这里主要是简单介绍下博主在Win ...
随机推荐
- springboot的linux-docker部署
将springboot jar应用打包成镜像并在docker运行成容器 https://blog.csdn.net/keepd/article/details/80569797 Docker安装(De ...
- 新服务器搭建-总结: 下载nginx,jdk8,docker-compose编排(安装mysql,redis) 附安装
三明SEO: 前言 如题, 公司新买了一条4核16G的服务器, 不得不重新搭建环境, 只能一一重来, 做个记录 1.nginx : 手动安装 2.jdk8: 手动安装 3. 安装docker 及doc ...
- 实现TabControl 选项卡首个标签缩进的方法
借用一张网图说明需求 在网上找了一圈,没有找到直接通过API或者重绘TabControl 的解决方法,最后灵机一动想到了一个折(tou)中(lan)的解决办法 Tab1.TabPages.Clear( ...
- ionic3 修改打包时 android sdk 路径
修改 /platforms/android/local.properties 文件
- Survey sampling
Survey sampling \(\bullet\)What is survey sampling?(c.f.census survey)(c.f.:参考,查看,来源于拉丁语) \(\bullet\ ...
- cesium初探之加载三维模型
项目需要用到二三维地图切换,本来准备研究ArcGIS js for Web 3d,但考虑到版权的问题,决定试着用cesium来做,于是花了2天时间抱着试试看的心态把cesium从环境配置到加载三维模型 ...
- PostgreSQL 安装之 CentOS 7 x64 RPM 安装
PostgresQL 安装环境 一.CentOS 7 安装 1. 环境说明 CentOS7 PosgreSQL 11.2 2. 在线安装 到目前为止(2019-08-10),CentOS7 默认携带了 ...
- windows下面 apache 虚拟主机配置
<VirtualHost > ServerAdmin www.test2.com DocumentRoot "D:/PHP/Apache/htdocs/testSite2&quo ...
- Qt QImage的浅拷贝与深拷贝
首先简单说说什么是浅拷贝和深拷贝:浅拷贝就比如像引用类型,而深拷贝就比如值类型,即浅拷贝是共用一块内存的,而深拷贝是复制一份内容. 我们再来看看QImage类的几个构造函数: // 浅拷贝 QImag ...
- string删除与查找erase,find
s.erase( 指针位置 , 删除长度 ) 返回值修改后的string对象引用 find(string, int):第一个参数用来指示要查找的字符,第二个参数用来表示从字符串的何处开始查找子串(默认 ...