k8s镜像那些事

网友投稿 352 2022-09-09

k8s镜像那些事

写在前面

每个人的环境都不一样,所以生产环境操作前一定要在你的测试环境中仔细验证后再操作。

以下内容纯属个人理解,并没有对错,只是参考,盗版不纠,才能有限,希望不误人子弟为好。

参考有风险,实施需谨慎。

文档信息

属性

内容

文档名称

k8s镜像那些事

文档状态

修订中

作者

lajifeiwomoshu@aliyun.com

说明

工欲善其事必先利其器,容器集群的基础是镜像

文档变更记录

版本编号

日期

说明

V1.0

2022年3月14

创建

V1.1

2022年4月19日

修订文档结构,优化文档内容

经常会出现因为镜像的问题导致pod加载失败的问题,没办法,环境就是这样,大家要克服,以下就是大家克服的智慧,希望阅读后,不再对镜像搞不下来而烦心。不知道去哪里搞而烦心。

参考

​​class="data-table" data-width="642px" style="width: 100%; outline: none; border-collapse: collapse;">

Registry

备注

Registry Mirrors

docker.io

docker hub公共镜像库

不用镜像加速,连接的是美国加利福尼亚的地址下载的

​https://docker.mirrors.ustc.edu.cn跳转的是data-id="p838747a-ZbmVhc0B">所以去阿里云容器镜像整一个加速器吧

注册地址:data-id="p838747a-IIOg5kSL">​style="font-size: 12px;">不推荐,速度很慢。

gcr.io

Google container registry


k8s.gcr.io

等同于gcr.io/google-containers

registry.aliyuncs.com/google_containers下有部分k8s.gcr.io下的镜像,但是不是镜像站点,所以不能配置加速器。

quay.io

Red Hat运营的镜像库

国内可以访问

注意的是:

docker.io国内的镜像站点不是完全镜像,如果在mirrors中查不到,还是会从源站点下载。没有加速的效果。

获取镜像

那么如何获取镜像呢,常见的可能有以下集中方式,人工搬运,设置代理,或者构建同步

当然还有使用人家已经搬运过的镜像,但是这种不好判断镜像的质量和控制镜像的版本

人工搬运

我们也会见到,有人打包镜像,然后手动加载。比如

docker save和docker load和docker tag配合使用

设置代理

docker配置代理

参考:

​​为docker服务创建一个内嵌的systemd目录mkdir -p /etc/systemd/system/docker.service.d# 设置代理cat > /etc/systemd/system/docker.service.d/ <

HTTP_PROXY为你的代理地址

NO_PROXY哪些不需要代理。

构建同步

使用阿里云的ACR个人版配合github自己构建

参考:​​file的方式,目录的话就在名字后面加个"/",就会自动产生目录。 但是后面要加上文件,不能空目录。

绑定源代码托管平台

​​login 你的acr

docker pull

k8s官方搬运

k8s组件

kubeadm部署的时候指定下镜像仓库地址即可。

metrics-server

registry

image

registry(国内)

image

k8s.gcr.io

metrics-server/metrics-server

registry.aliyuncs.com/google_containers

metrics-server

ctr image pull k8s.gcr.io/metrics-server/metrics-server:v0.6.1

改为

ctr image pull registry.aliyuncs.com/google_containers/metrics-server:v0.6.1

ingress-nginx-contorller

以下是对应的关系,hash值一样,所以可以使用。之前还到处去找,原来就是找不到对应关系。

registry

image

registry(国内)

image

k8s.gcr.io

ingress-nginx/controller

registry.aliyuncs.com/google_containers

nginx-ingress-controller

k8s.gcr.io

ingress-nginx/kube-webhook-certgen

registry.aliyuncs.com/google_containers

kube-webhook-certgen

遇到的问题

问题:k8s.gcr.io和registry.aliyuncs.com/google_containers的镜像关系搞不清

但是从registry.aliyuncs.com/google_containers去确拉取不下来。

但下面的镜像又哈希值一样。

结论:

registry.aliyuncs.com/google_containers下有部分k8s.gcr.io下的镜像,但是不是镜像站点,所有不能配置加速器。

问题:hub.docker.com中的镜像还需要用加速器加速吗

镜像加速器有限速吗。

通过抓包分析可以看出来,镜像加速器的原理是

1、先去加速器查询,如果有就给地址,如果没有就无法加速,用默认站点。

2、加速器给去下载镜像的地址

但是这个只是加速docker hub上的镜像

calico的镜像是从国外拉取的。

结论:

国内有镜像站点,但不是完全镜像,不是所有tag的镜像都在国内的镜像站点中。只能加速镜像站点中有的。

所以calico的最新镜像可以加速,但是指定的v3.22.2反而不能加速。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Kubernetes中如何让Deployment更新镜像
下一篇:王蔷首进红土赛4强,成中国金花赛季3连胜第一人!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~