k8s拉取不了私有镜像问题

news2024/11/25 0:38:14

报错

kubectl describe pod run-nfs-client-provisioner

在这里插入图片描述

 crictl pull 172.24.4.59/library/spark_lijia:3.5.1

在这里插入图片描述

  1. 报错问题:“k8s拉取不了私有镜像” 可能是由于以下几个原因造成的:
  2. 认证问题:私有镜像库可能需要用户名和密码才能拉取镜像。
  3. 网络问题:Kubernetes集群节点可能无法访问私有镜像库的网络。
  4. 镜像地址错误:镜像地址可能输入有误。
  5. containerd无法通过/etc/docker/daemon.json指定私有镜像
    我出现了两个问题
    我的解决方法:
    问题一:认证问题
    为Pod提供认证信息。创建一个ImagePullSecret,并将其与Pod关联。
kubectl create secret docker-registry image-pull-secret \
    --docker-server=xxxxxxx \
    --docker-username='xxxxxx' \
    --docker-password='xxxxxx' 

最后在部署应用的添加imagePullSecrets

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-deployment
spec:
  template:
    spec:
      containers:
        - name: test
          image: test:latest
      imagePullSecrets:
        - name: image-pull-secret

问题二:无法通过/etc/docker/daemon.json指定私有镜像,没台服务器都需要改
containerd不支持拉取私有镜像
我们都知道containerd来自于docker,后被docker捐献给了云原生计算基金会(Cloud Native Computing Foundation,CNCF)。在RHEL上通过YUM部署containerd的过程中,表现为需要加载docker-ce.repo镜像源。通过在线方式安装的containerd的配置文件只有一个有效配置项:disabled_plugins = [“cri”],可以通过下面的命令生成containerd的默认配置文件,然后在此基础上自行修改。

containerd config default > /etc/containerd/config.toml #生成containerd的默认配置文件
 vi /etc/containerd/config.toml #修改配置新增一下配置
    [plugins."io.containerd.grpc.v1.cri".registry]
      [plugins."io.containerd.grpc.v1.cri".registry.configs]
        [plugins."io.containerd.grpc.v1.cri".registry.configs."172.24.4.59".auth]
          username = "admin"
          password = "123456"
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
          endpoint = ["https://registry-1.docker.io"]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."172.24.4.59"]
          endpoint = ["http://172.24.4.59"]

修改前
在这里插入图片描述
修改后
在这里插入图片描述

 systemctl restart containerd  #重启服务
containerd config dump 查看配置是否加载成功

在这里插入图片描述
测试

 crictl pull 172.24.4.59/library/spark_lijia:3.5.1

在这里插入图片描述

kubectl describe pod run-nfs-client-provisioner

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1632730.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

背靠TON公链的Notcoin游戏项目,能否杀出GameFi的红海?

4月15日消息,Telegram生态中的游戏及Meme项目Notcoin,最近在X平台公布了令市场瞩目的代币经济学方案。据悉,NOT的总供应量高达1027亿枚,其中78%将分配给矿工和Voucher持有者,余下的22%预留给未来新用户、交易者及各类上…

【mysql】mysql中的数据类型知多少?

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

重学java 26.面向对象 内部类⭐

“别担心,你一定能如愿。” —— 24.4.29 1.什么时候使用内部类: 当一个事物的内部,还有一个部分需要完整的结构去描述,而内部的完整结构又只为外部事物提供服务,那么整个内部的完整结构最好使用内部类 比如&#xff1…

React的useEffect

概念:useEffect是一个React Hook函数,组件渲染之后执行的函数 参数1是一个函数,可以把它叫做副作用函数,在函数内部可以放置要执行的操作参数2是一个数组(可选参),在数组里放置依赖项&#x…

旧物焕新生:探索旧物回收小程序的开发与应用

随着社会的快速发展,我们的生活节奏日益加快,物质需求也在不断膨胀。然而,随之而来的却是资源的浪费和环境的压力。在这样的背景下,旧物回收小程序应运而生,为我们提供了一个绿色、环保、便捷的生活新选择。 旧物回收…

Android Kernel源码下载方法

Android Kernel的源码是git管理的,和之前下载的Android源码管理方式不一样,所以下载方式也不一样,直接用git下载就可以了;去网上搜的下载方式五花八门,有很多问题,因为服务器经常无法访问,也一直…

C++笔记:类和对象(二)->继承

上篇内容:C中的重载 继承 继承是什么 在类和对象(一)->封装中说了,封装是将对应的属性和行为封装到一个类中。 那什么是继承呢? 比如一个学校有老师和同学还有领导,那么我们最开始的想法就是每个职位都去封装一个类&#xff0c…

免费通配符证书的申请指南——从申请到启动https

如果您的网站拥有众多二级子域名,那么通配符证书证书是最好的选择。 免费通配符申请流程如下: 1 创建证书服务商账号 首先选择一个提供免费通配符的服务商,打开国产服务商JoySSL官网,创建一个账号(注册账号时填写注册…

共享办公室——一种成熟的工作空间解决方案

在固定的框架外寻求灵活性与创新,共享办公室租赁提供了一个动态且富有成本效益的工作环境,适应了快节奏和变化多端的商务需求。 随着创业文化的蓬勃发展和远程工作模式的流行,共享办公室以其独特的优势迅速成为市场上的新秀。它推动了工作…

深入理解 ANR WatchDog 库

ANR WatchDog 是一个用于检测 Android 应用程序中的 ANR (应用程序无响应) 的开源库。本文将深入探讨这个库的工作原理、如何集成到你的应用中,以及它如何帮助你避免用户体验不佳的情况。 ANR WatchDog 库的工作原理 ANR WatchDog 通过一个简单的机制来检测ANR&am…

如何学习网络安全?网络安全零基础入门,看这一篇就够了!

一、概述: 网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。这涉及到保护企业数据、国家基础设施、知识产权以及维护网络…

伪装目标检测论文阅读 SAM大模型之参数微调:Conv LoRA

paper:link code:还没公开 摘要 任意分割模型(SAM)是图像分割的基本框架。虽然它在典型场景中表现出显著的零镜头泛化,但当应用于医学图像和遥感等专门领域时,其优势就会减弱。针对这一局限性,本文提出了一种简单有效…

Linux_Ubuntu18.04安装过程

目录 1. 虚拟机安装2. 虚拟机创建3. Ubuntu x64安装4. 开启重启问题 1. 虚拟机安装 版本:VMware-workstation-full-16.0.exe 下一步 接受 下一步 下一步,注意安装位置。 下一步 下一步 点击安装 等待安装完成。 2. 虚拟机创建 创建新的虚拟机 典型 稍后…

【Java那些事】关于前端收到后端返回的时间格式“2024-04-28T14:48:41“非想要的格式

问题: 后端操作后返回时间格式是"2024-04-28T14:48:41" 而我们想要的是:"2024-04-28 14:48:41", 两个解决方法: 方法一:使用 JsonFormat注解 Data AllArgsConstructor NoArgsConstructor public class Use…

前端高并发的出现场景及解决方法——技能提升——p-limit的使用

最近在写后台管理系统的时候,遇到一个场景,就是打印的页面需要根据传入的多个id,分别去请求详情接口。 比如id有10个,则需要调用10次详情接口获取到数据,最后对所有的数据进行整合后页面渲染。 相信大家或多或少都遇到…

MyBatis 插件介绍及应用

MyBatis 插件介绍及应用 MyBatis 是一个持久层框架,它允许开发者自定义 SQL 语句并将其映射到 Java 对象中。MyBatis 提供了一种灵活的数据库操作方式,但随着项目的复杂度增加,一些通用功能如分页、缓存、事务管理等可能需要重复编写。为了解…

仅1年!!影响因子10+飙升至30+,Springer旗下的潜力优刊,未来可期!

【SciencePub学术】今天小编给大家带来了一本医学类的高分优刊解读,隶属于Springer出版社,JCR1区,中科院1区TOP,创刊时间不长,但影响因子仅1年时间从10直接飙升至30,领域相符的学者可考虑! Sign…

PaddlePaddle与OpenMMLab

产品全景_飞桨产品-飞桨PaddlePaddle OpenMMLab算法应用平台

基于LEAP模型的碳排放建模及行业、区域、国家等层面实践应用

线上方式:腾讯会议; 本期共计8次直播课,每节3小时。 5月24日-5月26日 每天(8:30-11:30)腾讯会议直播 5月31日-6月02日 每天(8:30-11:30)腾讯会…

Android 多媒体处理中ByteBuffer使用注意事项

Android多媒体处理中ByteBuffer使用注意事项 ByteBuffer 是 Java 中用来操作原始字节数据的类,它提供了一种灵活的方式来读取、写入和操作字节数据。以下是关于 ByteBuffer 的详细说明: 创建 ByteBuffer 你可以通过几种方式来创建 ByteBuffer&#xf…