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 命令进一步筛选导入的镜像名称,确保正确导入。

相关推荐
岁岁种桃花儿16 小时前
kubenetes从入门到上天系列第十二篇:Kubernetes的Deployment控制器
云原生·容器·kubernetes
向右看齐--16 小时前
Docker 进阶(一) Compose
docker·容器
我爱小疯喵喵16 小时前
1 Docker 完全操作指南
docker·容器·eureka
pupudawang17 小时前
docker 安装 mysql
mysql·adb·docker
m_1368717 小时前
OpenClaw v2026.3.12 离线源码构建与 Docker 部署完整教程
运维·docker·容器·openclaw
赴前尘18 小时前
docker buildx进行多架构镜像仓库迁移
docker·容器·架构
江畔何人初18 小时前
Gateway API 的核心组件与作用
运维·网络·云原生·kubernetes·gateway
劲墨难解苍生苦18 小时前
docker 和k8s 环境下达梦数据库开启ssl连接配置流程
数据库·docker·kubernetes
Andy Dennis18 小时前
1panel阿里云部署
阿里云·docker·云计算·1panel
无级程序员18 小时前
k8s部署nacos 3.1.1服务,java.net.UnknownHostException问题终极解决方案
java·nacos·kubernetes