news 2026/9/11 8:36:46

3 步解决 Calico 镜像拉取超时:DaoCloud 镜像站前缀替换完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
3 步解决 Calico 镜像拉取超时:DaoCloud 镜像站前缀替换完整指南

3 步解决 Calico 镜像拉取超时:DaoCloud 镜像站前缀替换完整指南

【免费下载链接】public-image-mirror很多镜像都在国外。比如 gcr 。国内下载很慢,需要加速。致力于提供连接全世界的稳定可靠安全的容器镜像服务。项目地址: https://gitcode.com/GitHub_Trending/pu/public-image-mirror

在国内网络环境下,从 Docker Hub 拉取 Calico 等 Kubernetes 组件镜像时,超时与失败是高频问题。public-image-mirror 项目(DaoCloud 镜像站)给出了一个改动量极小的解法:将镜像地址的docker.io/前缀替换为docker.m.daocloud.io/,版本标签保持原样。本文以 Calico v3.26.1 为例,说明替换方法、验证方式、镜像站的工作机制以及需要规避的几类问题。

问题现象:拉取 Calico 镜像为什么总失败

用 kubeadm、kind 或原生 Docker 部署 Calico 时,calico/cnicalico/nodecalico/kube-controllers这些镜像都托管在 Docker Hub 上。由于上游仓库位于境外,国内节点在高峰期经常遇到i/o timeout、拉取长时间停滞、容器卡在ImagePullBackOff等表现。直接重试往往只能缓解,无法根治。

针对这类超时,最省事的做法是换一条离用户更近的链路,也就是通过 DaoCloud 镜像站中转拉取。

三步完成镜像地址替换

规则只有一条:docker.io/前缀换成docker.m.daocloud.io/,冒号后的版本标签一个字符都不要动。在 Calico 的 YAML 或 helm 值文件中找到image字段,按下表替换即可,其余部署步骤不需要任何调整。

原地址替换后地址
calico/cni:v3.26.1docker.m.daocloud.io/calico/cni:v3.26.1
calico/node:v3.26.1docker.m.daocloud.io/calico/node:v3.26.1
calico/kube-controllers:v3.26.1docker.m.daocloud.io/calico/kube-controllers:v3.26.1

替换后重新执行拉取或重新 apply 部署文件。如果使用的是 Docker 客户端且不想改 YAML,也可以在/etc/docker/daemon.json中配置registry-mirrors指向https://docker.m.daocloud.io,效果等价。

如何确认换源生效

换完前缀并不代表就万事大吉,建议做一次 digest 校验:

  1. 拉取镜像:docker pull docker.m.daocloud.io/calico/node:v3.26.1
  2. 查看镜像摘要:docker inspect --format='{{index .RepoDigests 0}}' <image:tag>
  3. 将该sha256:值与上游仓库同一 tag 的 digest 比对

两者一致,说明镜像站内容与源仓库完全对齐,版本一致性没有风险。镜像站采用懒加载机制,所有 sha256 均与源保持一致,正常情况下一步 3 的比对结果必然是相等的。

镜像站的工作机制

理解以下几点,就能预判它的行为边界:

  • 懒加载同步:请求到达时镜像站才从 Docker Hub 拉取并缓存,不做全量预同步,因此覆盖范围广、时效性好。
  • manifest 约 1 小时内存缓存:上游发布新内容后,镜像站大约 1 小时后才会同步新的 manifest。
  • 缓存保留 30 天:长期未访问的内容过期后,下次拉取需要重新走同步流程。
  • 闲时更稳定:国内访问走的是优化链路,实测把批量拉取安排在凌晨闲时(北京时间 01:00–07:00)明显更稳,高峰时段出现偶发超时属于正常现象。

项目由 DaoCloud 团队维护,配合白名单与限流机制保障服务可用性。

还能用在哪些组件

同一套前缀替换规则对 K8s 生态的常见组件都成立,CoreDNS、Cilium、kube-proxy 等只需替换前缀、版本号与上游对齐即可。kubeadm 场景下,把imageRepositorydns.imageRepository指向k8s.m.daocloud.io是标准做法。

有一条底线要守住:版本号必须与上游一致,不要让镜像站替你"漂移"版本。固定 tag 或 digest,而不是依赖可变标签。

坑与对策清单

拉取报 404 找不到 tag镜像站是懒加载,缓存仅保留 30 天。过期 tag 首次拉取要等它重新同步。先确认上游确实存在该 tag,稍等片刻后重试即可。

拉取超时或速度极慢高峰期链路拥挤,建议把拉取任务排到凌晨闲时;也可以用@sha256:digest 固定镜像内容,避免反复重拉。

部署出来的版本和预期对不上latest这类可变 tag 在上游更新后,镜像站需要约 1 小时才同步新 manifest,期间可能出现新旧内容混拉。生产环境应直接钉死明确版本号,不要使用可变标签。

边界说明DaoCloud 镜像站是公共同步站,不是官方仓库。生产落地前,建议核对目标 tag 对应的 digest 与上游一致(方法见上文"如何确认换源生效"一节)。

内网离线场景完全无法访问公网的内网环境,可以参照 docs/local-cache/README.md 自建一层本地缓存代理,让内网节点从本地 registry 拉取,进一步减少对镜像站的依赖。

【免费下载链接】public-image-mirror很多镜像都在国外。比如 gcr 。国内下载很慢,需要加速。致力于提供连接全世界的稳定可靠安全的容器镜像服务。项目地址: https://gitcode.com/GitHub_Trending/pu/public-image-mirror

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/11 8:34:23

RK3588与RK3588S工业AI选型深度对比:场景驱动的芯片能力边界分析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/11 8:32:19

ZLUDA 实战:把未修改的 CUDA 程序直接跑在 AMD GPU 上

ZLUDA 实战&#xff1a;把未修改的 CUDA 程序直接跑在 AMD GPU 上 【免费下载链接】ZLUDA CUDA on non-NVIDIA GPUs 项目地址: https://gitcode.com/GitHub_Trending/zl/ZLUDA 用 CUDA 写好的程序只能在 N 卡上跑&#xff1f;ZLUDA 就是来解决这件事的&#xff1a;它是一…

作者头像 李华
网站建设 2026/9/11 8:31:54

电-气-热综合能源系统建模与MATLAB优化实现

1. 电-气-热综合能源系统概述电-气-热综合能源系统&#xff08;Integrated Electricity-Gas-Heat Energy System, IEGHES&#xff09;是现代能源互联网的核心组成部分。这种系统通过耦合电网、天然气网和区域供热网络&#xff0c;实现多种能源形式的协同优化与互补利用。在实际…

作者头像 李华
网站建设 2026/9/11 8:29:00

低空经济与交通基础设施融合的技术路径与实践

1. 低空经济与交通基础设施融合的背景与意义 最近两年&#xff0c;低空经济这个概念突然火了起来。作为一个长期关注交通领域的研究者&#xff0c;我注意到这个领域正在发生一些有趣的变化。简单来说&#xff0c;低空经济指的是在距地面1000米以下的空域内开展的经济活动&#…

作者头像 李华
网站建设 2026/9/11 8:28:10

瑞萨RA6M5 DTC+UART:低CPU占用的串口数据搬运方案

简介&#xff1a;开发者可直接基于这份FSP库驱动工程在瑞萨RA6M5/RA6系列上实现DTCUART串口收发数据&#xff0c;工程支持导入e2 studio或Keil&#xff0c;代码可直接编译运行。资源共19个文件&#xff0c;以C源程序、scat链接脚本和uvprojx/uvoptx工程配置为主&#xff0c;另有…

作者头像 李华
网站建设 2026/9/11 8:27:55

LlamaIndex RemoteReader 实战:用 URL 直接加载远程网页与文件

LlamaIndex RemoteReader 实战&#xff1a;用 URL 直接加载远程网页与文件 【免费下载链接】llama_index LlamaIndex is the leading document agent and OCR platform 项目地址: https://gitcode.com/GitHub_Trending/ll/llama_index 导读 RemoteReader 是 LlamaIndex…

作者头像 李华