k8s系列--docker拉取镜像导入k8s的containerd中

bash 复制代码
# 确认一下当前集群中正在运行的 Pod 和命名空间
kubectl get pods -A

# 示例一:拉取并导入 CoreDNS 镜像
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.11.1
docker save registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.11.1 -o coredns-v1.11.1.tar

# 导入镜像到指定的命名空间 k8s.io
ctr -n=k8s.io images import coredns-v1.11.1.tar

# 确认是否导入成功
ctr -n=k8s.io images list | grep coredns
bash 复制代码
# 示例二:拉取并导入 Rancher 镜像
kubectl get pods -A
kubectl describe pod cattle-cluster-agent-76fb79b8b-nl588 -n cattle-system

docker pull rancher/rancher-agent:v2.8.3
docker save -o rancher-agent.tar rancher/rancher-agent:v2.8.3

# 导入镜像到指定的命名空间 cattle-system
ctr -n=k8s.io images import rancher-agent.tar

# 确认是否导入成功
ctr -n=k8s.io images list | grep rancher

详细步骤和问题排查:

  1. 查看集群中的 Pods 和命名空间
    kubectl get pods -A 命令会列出所有命名空间中的 Pod。这有助于确定哪些镜像尚未存在于集群中,或者是否某些命名空间与所需镜像不匹配。

  2. 拉取并保存镜像

    通过 docker pull 命令从仓库中拉取所需的镜像,然后使用 docker save 将其保存为 .tar 文件,以便后续导入到容器运行时。

  3. 导入镜像

    使用 ctr 命令来导入镜像。命令中的 -n=k8s.io-n=cattle-system 指定了容器运行时的命名空间(根据实际情况需要调整)。

  4. 确认镜像导入成功

    通过 ctr -n=k8s.io images listctr -n=cattle-system images list 查看镜像是否成功导入。可以通过 grep 命令进一步筛选导入的镜像名称,确保正确导入。

相关推荐
“码”力全开5 分钟前
解耦品牌壁垒:基于 Docker 与边缘计算的高并发视频中台架构(支持 GB28181/RTSP 统一接入与源码交付)
docker·音视频·边缘计算
木卫二号Coding13 分钟前
第八十五篇-CentOS-7 + Tesla V100 环境下 Docker 容器内编译部署 Qwen3.6-27B-MTP 大模型实战指南
linux·docker·centos
Irene199114 分钟前
Win11 安装 Docker Desktop 并配置 WSL 使用 Hbase
docker·hbase
dongdonglele52118 分钟前
ubuntu 系统x86 架构安装docker,可以使用本地显卡
ubuntu·docker·架构
日取其半万世不竭18 分钟前
密码管理工具私有化部署,Vaultwarden 备份恢复怎么做?
数据库·docker·容器
赵民勇29 分钟前
Rootless容器详解
linux·容器
IT策士33 分钟前
第32篇 k8s 之 配置管理:ConfigMap 详解
云原生·容器·kubernetes
“码”力全开42 分钟前
解耦安防碎片化:基于 Docker 与边缘计算的 AI 视频中台架构设计(支持 GB28181/RTSP 与源码交付)
人工智能·docker·边缘计算
人道领域1 小时前
Windows 保姆级 Docker 安装教程(WSL2 版),一篇入门docker
windows·docker·容器
lbb 小魔仙1 小时前
Docker一键部署 EasyNode 面板,随时随地可视化管理服务器
服务器·docker·容器