当前位置: 首页 > news >正文

Containerd 2.3.3 镜像拉取技巧指南

Containerd 2.3.3 镜像拉取技巧指南

一、问题诊断

1.1 检查当前配置

# 查看镜像加速配置cat/etc/containerd/certs.d/registry.k8s.io/hosts.toml# 查看 containerd 配置containerd config dump|grep-A10registry# 测试拉取镜像(会失败)ctr images pull --hosts-dir /etc/containerd/certs.d registry.k8s.io/pause:3.10.2

1.2 错误原因

  • 阿里云镜像仓库中不存在pause:3.10.2这个标签
  • 配置的镜像加速地址缺少该版本镜像

二、解决方案

方案一:使用 DaoCloud 镜像加速器(推荐)

2.1.1 配置 hosts.toml
# 创建配置目录(如果不存在)mkdir-p/etc/containerd/certs.d/registry.k8s.io# 写入新配置cat>/etc/containerd/certs.d/registry.k8s.io/hosts.toml<<'EOF' server = "https://registry.k8s.io" [host."https://k8s.m.daocloud.io"] capabilities = ["pull", "resolve"] EOF
2.1.2 重启 containerd
systemctl restart containerd
2.1.3 验证配置
# 查看配置是否正确cat/etc/containerd/certs.d/registry.k8s.io/hosts.toml# 测试拉取镜像ctr images pull --hosts-dir /etc/containerd/certs.d registry.k8s.io/pause:3.10.2
2.1.4 镜像管理命令
# 查看已拉取的镜像ctr imagesls# 查看镜像详情ctr imagesls-q# 删除镜像ctr imagesrmregistry.k8s.io/pause:3.10.2

方案二:配置代理拉取

2.2.1 创建 systemd drop-in 配置
# 创建配置目录mkdir-p/etc/systemd/system/containerd.service.d# 配置代理cat>/etc/systemd/system/containerd.service.d/proxy.conf<<'EOF' [Service] Environment="HTTP_PROXY=http://192.168.1.225:7890" Environment="HTTPS_PROXY=http://192.168.1.225:7890" Environment="ALL_PROXY=http://192.168.1.225:7890" Environment="NO_PROXY=localhost,127.0.0.1,192.168.1.0/24,10.96.0.0/12,10.244.0.0/16" EOF
2.2.2 重启服务
# 重载 systemdsystemctl daemon-reload# 重启 containerdsystemctl restart containerd
2.2.3 验证代理配置
# 查看代理环境变量是否生效systemctl show containerd--property=Environment# 测试拉取镜像ctr images pull registry.k8s.io/pause:3.10.2
2.2.4 移除代理配置(如需取消)
rm-f/etc/systemd/system/containerd.service.d/proxy.conf systemctl daemon-reload systemctl restart containerd

三、Kubernetes 相关镜像操作

3.1 kubeadm 所需镜像列表

# 查看 kubeadm 需要的镜像kubeadm config images list# 使用 kubeadm 拉取镜像(自动使用 containerd 配置)kubeadm config images pull

3.2 批量拉取 Kubernetes 核心镜像

# 定义镜像列表images=("registry.k8s.io/kube-apiserver:v1.28.0""registry.k8s.io/kube-controller-manager:v1.28.0""registry.k8s.io/kube-scheduler:v1.28.0""registry.k8s.io/kube-proxy:v1.28.0""registry.k8s.io/pause:3.9""registry.k8s.io/etcd:3.5.9-0""registry.k8s.io/coredns/coredns:v1.10.1")# 批量拉取forimagein"${images[@]}";doctr images pull --hosts-dir /etc/containerd/certs.d"$image"done

四、常用 containerd 镜像管理命令

4.1 基础命令

# 拉取镜像ctr images pull docker.io/library/nginx:latest# 带加速器拉取ctr images pull --hosts-dir /etc/containerd/certs.d registry.k8s.io/pause:3.10.2# 列出所有镜像ctr imagesls# 列出镜像(只显示名称和标签)ctr imagesls-q# 删除镜像ctr imagesrm<image-name># 删除所有未使用的镜像ctr images prune

4.2 镜像标签操作

# 给镜像打标签ctr images tag source-image:tag target-image:tag# 示例:给 pause 镜像打标签ctr images tag registry.k8s.io/pause:3.10.2 k8s.gcr.io/pause:3.10.2

4.3 镜像导入导出

# 导出镜像为 tar 文件ctr imagesexportpause.tar registry.k8s.io/pause:3.10.2# 导入镜像ctr imagesimportpause.tar# 导出所有镜像ctr imagesexport--allimages-all.tar

五、调试与故障排查

5.1 查看 containerd 日志

# 查看实时日志journalctl-ucontainerd-f# 查看最近100行日志journalctl-ucontainerd-n100# 查看特定时间段的日志journalctl-ucontainerd--since"2026-07-21 10:00:00"--until"2026-07-21 11:00:00"

5.2 检查配置语法

# 验证 containerd 配置containerd config dump>/tmp/containerd-config.yaml# 检查配置是否正确containerd--config/etc/containerd/config.toml--version

5.3 镜像拉取失败诊断

# 使用 --debug 模式拉取ctr images pull--debug--hosts-dir /etc/containerd/certs.d registry.k8s.io/pause:3.10.2# 检查镜像仓库连通性curl-Ihttps://registry.k8s.io/v2/curl-Ihttps://k8s.m.daocloud.io/v2/# 查看镜像仓库的认证信息ls-la/etc/containerd/certs.d/

六、多节点批量执行脚本

6.1 使用 ansible 批量配置

# ansible playbook: containerd-mirror.yml-hosts:k8s_nodesbecome:yestasks:-name:Create certs.d directoryfile:path:/etc/containerd/certs.d/registry.k8s.iostate:directorymode:'0755'-name:Configure registry mirrorcopy:dest:/etc/containerd/certs.d/registry.k8s.io/hosts.tomlcontent:|server = "https://registry.k8s.io" [host."https://k8s.m.daocloud.io"] capabilities = ["pull", "resolve"]-name:Restart containerdsystemd:name:containerdstate:restarteddaemon_reload:yes

6.2 使用 shell 脚本批量执行

#!/bin/bash# 批量配置所有节点nodes=("master1""master2""worker1""worker2")fornodein"${nodes[@]}";dossh"$node""bash -s"<<'EOF' cat > /etc/containerd/certs.d/registry.k8s.io/hosts.toml <<'EOL' server = "https://registry.k8s.io" [host."https://k8s.m.daocloud.io"] capabilities = ["pull", "resolve"] EOL systemctl restart containerd echo "Node $(hostname) configured successfully" EOFdone

七、最佳实践建议

  1. 镜像加速器选择:优先使用 DaoCloud(https://k8s.m.daocloud.io)或中科大镜像源
  2. 配置备份:修改配置文件前做好备份cp /etc/containerd/config.toml /etc/containerd/config.toml.bak
  3. 版本兼容性:确保 containerd 版本与 Kubernetes 版本兼容
  4. 网络策略:如使用代理,确保 NO_PROXY 包含集群内部网络范围
  5. 监控日志:定期检查 containerd 日志,及时发现镜像拉取问题

八、快速参考命令汇总

# 查看 containerd 版本containerd--version# 查看当前镜像列表ctr imagesls# 拉取镜像(使用加速器)ctr images pull --hosts-dir /etc/containerd/certs.d registry.k8s.io/pause:3.10.2# 重启 containerdsystemctl restart containerd# 查看 containerd 状态systemctl status containerd# 查看镜像加速配置cat/etc/containerd/certs.d/registry.k8s.io/hosts.toml# 清理未使用的镜像ctr images prune# 查看 containerd 日志journalctl-ucontainerd-f
http://www.jsqmd.com/news/1244133/

相关文章:

  • 针对络合态重金属废水,探索集成Tulsimer 树脂的深度处理与资源回收工艺
  • PPA方法:基于统计自一致性提升大语言模型推理能力
  • iScroll终极指南:专业级网页平滑滚动解决方案
  • 寄重物怎么寄便宜?慧寄侠智能比价,最高省70%运费指南 - 快递物流资讯
  • 2026英德宝墩湖温泉酒店周边正宗清远鸡哪家好盘点 - 谁都没有我好看
  • 精密 CNC 加工厂家怎么选?决定 0.003mm 批产稳定的三处隐形分水岭
  • 校地创新合作审核要点是什么?
  • Vibe Coding 实战指南:我用 AI 辅助写完了一整个项目
  • 2026美赛数学建模D题完整参考论文(含模型建立求解、代码等)
  • 终极B站会员购抢票指南:3步实现自动化购票的完整解决方案
  • SCMP前期缴费和考试费什么时候交 - 众智商学院职业教育
  • 高精度激光发射传感器:稳定测距,精准触发
  • 嵌入式以太网核心:EMAC接收机制、DMA描述符与MDIO管理详解
  • 深圳搬运公司:工厂设备装卸+叉车租赁流程步骤,企业临时搬运成本控制方法 - szxybj
  • 【单片机毕业设计】基于 STM32 的智能噪声监测与远程预警系统设计,基于 STM32 单片机的环境噪声采集与物联网监测装置设计(010903)
  • CSSOM树和DOM树是同时解析的吗?
  • AirplaneJS高级配置:自定义频率、增益与端口,优化你的航班追踪体验
  • Open Generative AI:免费开源AI图像与视频生成平台终极指南
  • 盘点 | 香港科技大学沈劭劼团队2026上半年硬核成果
  • 2026年美赛数学建模C题完整参考论文(含模型和代码)
  • 解决99%兼容性问题:Gemini-OpenAI-Proxy常见错误处理与调试技巧
  • 为什么青少年学编程需要一个专门设计的IDE? - 科技焦点
  • SDR++实战指南:跨平台无线电接收软件高效使用方案
  • 品牌在AI搜索中找不到了?教你如何识别并监测流量流失点
  • 如何彻底解决PS4手柄在Windows上的兼容性问题:DS4Windows完整使用指南
  • 耳夹式耳机适合通勤和运动吗?sanag 塞那 Apex的一天使用场景
  • 南京筷子兄弟龙虾:本地老饕为何反复回购这家店? - 天涯视角
  • AI降重工具哪个好?实测对比几款主流降重降AI率工具 - 逢君学术-AI论文写作
  • Abseil C++基础库:Google工程实践与高性能编程指南
  • Applio语音克隆完整指南:5分钟上手专业级声音转换