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 list 或 ctr -n=cattle-system images list 查看镜像是否成功导入。可以通过 grep 命令进一步筛选导入的镜像名称,确保正确导入。

相关推荐
岁月宁静1 小时前
一个 AI 项目从本地到上线,要经过哪些步骤?全流程讲清楚
python·docker·agent
L0208243 小时前
Kubernetes Ingress|CNI 网络模型|Calico 网络策略|Pod 调度器完整实战教程
运维·网络·云原生·容器·kubernetes
吴声子夜歌5 小时前
Kubernetes权威指南——Kubernetes安装配置指南(网络配置)
网络·容器·kubernetes
闲云野鹤在人间5 小时前
Kubernetes Pod Scheduler 详解
云原生·容器·kubernetes
正经教主6 小时前
【FDE系列】阶段2:Day 42(UP详细版):Dockerfile 实战 — 把你的应用打包成镜像
人工智能·docker·fde
刘马想放假6 小时前
Copyparty 轻量文件共享:Docker Compose 部署、权限与多协议使用全指南
docker·容器
切糕师学AI7 小时前
Kubernetes 探针全解析:启动探针、存活探针与就绪探针(Startup/Liveness/Readiness Probe)
容器·kubernetes·探针·probe
岁寒良木9 小时前
麒麟 V10 (x86_64) 离线/联网部署 Docker 26.1.4 与 MaxKB v2.10 LTS 实战指南
python·docker·kylin
xianyuCcCcCCCcc10 小时前
Kubernetes :健康检查、认证授权与可视化面板
运维·云原生·kubernetes·dashboard