利用阿里云下载国外镜像,国内顺畅下载k8s.gcr.io的镜像

国内顺畅下载k8s.gcr.io的镜像

1. 起因

配置kube-dns是3个k8s.gcr.io的镜像无法下载,报错如下

Error response from daemon: Get https://k8s.gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

需要下载的镜像如下:

image: k8s.gcr.io/k8s-dns-kube-dns:1.15.10
image: k8s.gcr.io/k8s-dns-dnsmasq-nanny:1.15.10
image: k8s.gcr.io/k8s-dns-sidecar:1.15.10

2. 解决方法

github配置Dockerfile,使用阿里云镜像构建海外机构建.
再配置阿里云镜像进行下载镜像.
下面就按这个思路一步步操作.

3. 在github配置Dockerfile

登录github
https://github.com/
左上角创建仓库,当然也可以和其他共用.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
不同的镜像用不同的目录进行区分,创建目录和创建文件一样就是Add file下的Create new file
不同的是输入目录名后加个/ 这样目录就有了,在后面的空格里输入文件名就好了.
这里文件名就写Dockerfile
内容如下:

FROM k8s.gcr.io/k8s-dns-kube-dns:1.15.10
MAINTAINER Q

依次创建3个目录和Dockerfile,镜像路径就直接从之前grep出来的url复制进去就好了
在这里插入图片描述
在这里插入图片描述
重复3次我们得到了这样3个目录,目录中各有1个Dockerfile
在这里插入图片描述

4. 配置阿里镜像代理

4.1 登陆控制台

登陆阿里云控制台–>容器镜像
在这里插入图片描述
https://cr.console.aliyun.com/cn-shanghai/instances
在这里插入图片描述

4.2 创建命名空间

如果没有创建过命名空间,那么就创建,如果已经有了可以共用
在这里插入图片描述
在这里插入图片描述

4.3 创建镜像仓库

在这里插入图片描述
第一次会需要到github授权登录一次
在这里插入图片描述

4.3 构建规则

在这里插入图片描述
这里版本可以和yml里的一样,也可以写latest,推荐第一种因为只会构建一次
依次将3个镜像配置好.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.4 构建镜像

点击立即构建
在这里插入图片描述
复制这里的内容,***是账号隐藏部分,手动补全
在这里插入图片描述

4.5 镜像服务密码设置

在这里插入图片描述
在这里插入图片描述
这里的密码可以和登录密码一样,也可以不一样.

5. 下载镜像

登录后用docker pull下载镜像
如果不清楚怎么下载可以到这个页面查看.
在这里插入图片描述
后面的版本号就是刚才这里写的,如果latest就写latest,我这里是1.15.10
在这里插入图片描述

在这里插入图片描述

5.1 镜像打tag

docker tag registry.cn-shanghai.aliyuncs.com/qiuqin/k8s-dns-sidecar:1.15.10 harbor.intra.com/kube-dns/k8s-dns-sidecar:1.15.10
docker tag registry.cn-shanghai.aliyuncs.com/qiuqin/k8s-dns-kube-dns:1.15.10 harbor.intra.com/kube-dns/k8s-dns-kube-dns:1.15.10
docker tag registry.cn-shanghai.aliyuncs.com/qiuqin/k8s-dns-dnsmasq-nanny:1.15.10 harbor.intra.com/kube-dns/k8s-dns-dnsmasq-nanny:1.15.10

5.2 上传到harbor

docker push harbor.intra.com/kube-dns/k8s-dns-dnsmasq-nanny:1.15.10
docker push harbor.intra.com/kube-dns/k8s-dns-dnsmasq-nanny:1.15.10
docker push harbor.intra.com/kube-dns/k8s-dns-kube-dns:1.15.10

6. 修改yml文件

sed -i 's/k8s.gcr.io/harbor.intra.com\/kube-dns/g' /root/dns/kube-dns/kube-dns.yml 

在这里插入图片描述
至此就可以尝试部署了

  • 9
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值