新版k8s拉取镜像失败问题解决办法

 更新时间:2024年10月08日 09:11:31   作者:风霜不见闲沉月  
随着Kubernetes 1.23版本的发布,Docker作为默认容器运行时被弃用,转而默认采用Containerd,这一改变意味着用户在使用Kubernetes时,将不再通过Docker来拉取镜像,文中jiang,需要的朋友可以参考下

前言

新版从k8s从1.23后放弃使用docker容器作为的默认运行时了,而是采用的containerd,使用时不在使用docker拉取镜像,这就带来了一系列的问题。在k8s1.24之后用户可以选择docker或者选择contained作为容器运行时,如果不指定使用的docker如果使用 containerd可以用一下命令初始环境,下载镜像都有containerd管理,自带管理工具tar和k8s提供crictl,前提是指定了容器作为运行时才提供,使用docker是不具有crictl功能。

./kk create cluster --with-kubernetes v1.24.1 --container-manager containerd

解决镜像拉取问题(原因外网屏蔽拉取不到使用国内加速器)

contained的配置文件在/etc/containerd/config.toml

... 
  [plugins."io.containerd.grpc.v1.cri".registry]
      config_path = ""

      [plugins."io.containerd.grpc.v1.cri".registry.auths]

      [plugins."io.containerd.grpc.v1.cri".registry.configs]

      [plugins."io.containerd.grpc.v1.cri".registry.headers]

      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]

      [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
       endpoint = ["https://teut9a0h.mirror.aliyuncs.com"]
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"]
        endpoint = ["registry.aliyuncs.com/google_containers"]

    [plugins."io.containerd.grpc.v1.cri".x509_key_pair_streaming]
      tls_cert_file = ""
      tls_key_file = ""
   ...

解决devops安装失败问题。

查看安装器配置文件(devops已经关闭)

kubectl edit cc ks-installer -n kubesphere-system

找到如上registry的配置部分,加上阿里云的镜像加速配置。重启containerd

systemctl daemon-reload
systemctl restart containerd

镜像拉取(区别于docker,k8s中带crictl)

ctr image  pull docker.io/jenkins/jenkins:lts (注意带上镜像的来源不带上面的配置文件见也要配置上,ctr是contained自带的镜像管理工具)

Docker谁然没有被k8s新版本使用了,单本质上是相互兼容的新版本可以修改会docker,或者直接使用默认都可,docker可以用来搜索拉取导入镜像到contrained中相互互助。

总结

到此这篇关于新版k8s拉取镜像失败问题解决办法的文章就介绍到这了,更多相关新版k8s拉取镜像失败内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • kubeadm部署k8s集群全过程

    kubeadm部署k8s集群全过程

    本文详细描述了如何在VMware虚拟机上基于CentOS8操作系统搭建Kubernetes集群,包括环境准备、Docker安装、Kubernetes组件安装、网络插件配置以及KuboardUI的安装和访问
    2025-01-01
  • K8s ConfigMaps与Secret实现配置分离过程

    K8s ConfigMaps与Secret实现配置分离过程

    本文介绍Kubernetes中ConfigMaps和Secret的创建方式及应用,涵盖文件、literal、YAML方法,强调命名空间匹配与键名大小写一致性,Secret类型如Opaque、dockerconfigjson用于加密配置,热更新需注意envFrom等参数限制
    2025-08-08
  • k8s编排之DaemonSet知识点详解

    k8s编排之DaemonSet知识点详解

    这篇文章主要为大家介绍了k8s编排之DaemonSet知识点详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • 云原生要素配置分离ConfigMap创建方式

    云原生要素配置分离ConfigMap创建方式

    这篇文章主要为大家介绍了云原生要素配置分离ConfigMap以及多种创建方式,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-03-03
  • 删除k8s环境过期镜像&docker磁盘清理方式

    删除k8s环境过期镜像&docker磁盘清理方式

    文章介绍了如何清理Kubernetes环境中的过期镜像和Docker磁盘空间,包括使用`docker system prune`命令和编写脚本进行镜像删除
    2025-12-12
  • K8S部署Kafka界面管理工具(kafkamanager)方法详解

    K8S部署Kafka界面管理工具(kafkamanager)方法详解

    这篇文章主要介绍了K8S部署Kafka界面管理工具(kafkamanager)方法详解,需要的朋友可以参考下
    2022-01-01
  • K8S  Config应用配置小结

    K8S  Config应用配置小结

    本文主要介绍了Kubernetes中ConfigMap和Secret的使用方法,以及如何在Pod和容器中进行资源配置,文中详细讲解了如何创建和使用ConfigMap来管理非机密性配置,以及如何使用Secret来存储敏感信息,同时,还介绍了如何在Pod中配置资源请求和限制,感兴趣的朋友一起看看吧
    2025-03-03
  • 管理k8s的资源类型(PV/PVC)的脚本详解

    管理k8s的资源类型(PV/PVC)的脚本详解

    本文介绍了四种解决格式不正确问题的方法,包括使用dos2unix转换文件格式、使用sed命令删除CR字符、使用vim进行格式转换以及重新创建脚本
    2025-10-10
  • 一文讲解如何获取k8s容器里运行的jar包

    一文讲解如何获取k8s容器里运行的jar包

    K8S是Google开源的容器集群管理系统,其设计目标是在主机集群之间提供一个能够自动化部署、可拓展、应用容器可运营的平台,这篇文章主要给大家介绍了关于如何获取k8s容器里运行的jar包的相关资料,需要的朋友可以参考下
    2022-09-09
  • 如何在Centos中搭建 K8s 1.23 集群

    如何在Centos中搭建 K8s 1.23 集群

    文章详细介绍了在CentOS上搭建Kubernetes 1.23集群的步骤,包括准备环境、安装Kubernetes软件包、上传离线镜像、初始化集群、添加节点、安装网络插件以及测试验证,感兴趣的朋友一起看看吧
    2025-03-03

最新评论