当前位置: 首页 > news >正文

containerd配置私有仓库registry

机器ip端口
regtisry192.168.0.725000
k8s-*-------k8s集群

1、镜像上传

root@admin:~# docker push 192.168.0.72:5000/nginx:1.26.1-alpine
The push refers to repository [192.168.0.72:5000/nginx]
6961f0b8531c: Pushed
3112cd521249: Pushed
d3f50ce9b5b5: Pushed
9efaf2eb479a: Pushed
bef35f150926: Pushed
7b87df18a0ed: Pushed
4160c36f5f9d: Pushed
d4fc045c9e3a: Pushed
1.26.1-alpine: digest: sha256:2565e998caf6d270af6ded12206135ffd3247aeb362f5dc5ad2c7449f3712df0 size: 1989

2、重要报错

[root@k8s-master3 ~]# journalctl -u containerd -f -- Logs begin at Fri 2024-10-25 15:25:01 CST. -- Nov 06 14:08:14 k8s-master3 containerd[19662]: time="2024-11-06T14:08:14.052429673+08:00" level=warning msg="could not use snapshotter devmapper in metadata plugin" error="devmapper not configured" Nov 06 14:08:14 k8s-master3 containerd[19662]: time="2024-11-06T14:08:14.154156087+08:00" level=warning msg="failed to load plugin io.containerd.grpc.v1.cri" error="invalid plugin config: mirrors cannot be set when config_path is provided" Nov 06 14:08:14 k8s-master3 systemd[1]: Started containerd container runtime. Nov 06 14:22:06 k8s-master3 systemd[1]: Stopping containerd container runtime... Nov 06 14:22:06 k8s-master3 systemd[1]: Stopped containerd container runtime. Nov 06 14:22:06 k8s-master3 systemd[1]: Starting containerd container runtime... Nov 06 14:22:06 k8s-master3 containerd[28450]: time="2024-11-06T14:22:06.359645523+08:00" level=warning msg="failed to load plugin io.containerd.snapshotter.v1.devmapper" error="devmapper not configured" Nov 06 14:22:06 k8s-master3 containerd[28450]: time="2024-11-06T14:22:06.360210472+08:00" level=warning msg="could not use snapshotter devmapper in metadata plugin" error="devmapper not configured" Nov 06 14:22:06 k8s-master3 containerd[28450]: time="2024-11-06T14:22:06.475504596+08:00" level=warning msg="failed to load plugin io.containerd.grpc.v1.cri" error="invalid plugin config: mirrors cannot be set when config_path is provided" Nov 06 14:22:06 k8s-master3 systemd[1]: Started containerd container runtime. [root@k8s-master3 ~]# ctr plugins ls | grep cri io.containerd.grpc.v1 cri linux/amd64 error

从日志来看,出现了以下错误:

invalid plugin config: mirrors cannot be set when config_path is provided

这表明在 /etc/containerd/config.toml 中,mirrorsconfig_path 配置项冲突。根据 containerd 配置规则,当使用 config_path 指定了证书和私有仓库配置文件目录时,不允许再使用 mirrors 配置

解决方案

要解决此问题,可以选择以下两种方式之一:

方案 1:删除 mirrors 配置

如果你更愿意通过 config_path 指定私有仓库配置文件,则删除 mirrors 配置部分,保留 config_path 配置。例如,更新后的 config.toml 文件为:

version = 2 root = "/var/lib/containerd" state = "/run/containerd" oom_score = 0 [grpc] address = "/run/containerd/containerd.sock" [plugins."io.containerd.grpc.v1.cri"] sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.7" [plugins."io.containerd.grpc.v1.cri".containerd] snapshotter = "overlayfs" default_runtime_name = "runc" [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc] runtime_type = "io.containerd.runc.v2" [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options] SystemdCgroup = true [plugins."io.containerd.grpc.v1.cri".registry] config_path = "/etc/containerd/certs.d" [plugins."io.containerd.grpc.v1.cri".registry.configs."192.168.0.72:5000".tls] insecure_skip_verify = true [plugins."io.containerd.grpc.v1.cri".registry.configs."192.168.0.72:5000".auth] username = "admin" password = "admin"

#本人使用的方案二解决

方案 2:移除 config_path 并仅使用 mirrors

如果你更偏向在 config.toml 中直接配置镜像仓库的地址,则可以删除 config_path 行,仅使用 mirrors 配置。例如:

[plugins."io.containerd.grpc.v1.cri".registry] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."192.168.0.72:5000"] endpoint = ["http://192.168.0.72:5000"] [plugins."io.containerd.grpc.v1.cri".registry.configs."192.168.0.72:5000".tls] insecure_skip_verify = true [plugins."io.containerd.grpc.v1.cri".registry.configs."192.168.0.72:5000".auth] username = "admin" password = "admin"

重启 Containerd 并验证

更新配置后,重新启动 containerd 服务:

sudo systemctl restart containerd

#成功验证,既能通过crictl拉取,还能写入到yaml文件中拉取,而不用为集群中每一台机器上传镜像

at
[root@k8s-master1 containerd]# crictl pull ​​192.168.0.72:5000/nginx:1.26.1-alpine
Image is up to date for sha256:98abffe47b9c4812f59d521554e7b2245196e882bca57ece5b23d38ede0cc137
[root@k8s-master1 containerd]# crictl images
IMAGE                                     TAG                 IMAGE ID            SIZE

192.168.0.72:5000/nginx                   1.26.1-alpine       98abffe47b9c4       20.5MB

相关文章:

containerd配置私有仓库registry

机器ip端口regtisry192.168.0.725000k8s-*-------k8s集群 1、镜像上传 rootadmin:~# docker push 192.168.0.72:5000/nginx:1.26.1-alpine The push refers to repository [192.168.0.72:5000/nginx] 6961f0b8531c: Pushed 3112cd521249: Pushed d3f50ce9b5b5: Pushed 9efaf2eb…...

深入解析语音识别中的关键技术:GMM、HMM、DNN和语言模型

目录 一、高斯混合模型(GMM)与期望最大化(EM)算法二、隐马尔可夫模型(HMM)三、深度神经网络(DNN)四、语言模型(LM)五、ASR系统的整体工作流程结论 在现代语音…...

C++循环引用

C循环引用‌指的是两个或多个类之间互相引用对方,形成一个循环的引用关系。 循环引用的问题: 编译错误‌:编译器在编译过程中会按照包含关系依次编译每个文件,当编译ClassA时,它会尝试包含ClassB.h文件,而…...

dayseven-因果分析-图模型与结构因果模型

在数学上,​“图”(graph)是顶点(vertex,也可以称为节点)和边(edge)的集合,表示为图G(V,E),其中V是节点的集合,E是边的集合,图中的节点之间通过边相连(也可以不相连&…...

并发编程(8)—— std::async、std::future 源码解析

文章目录 八、day81. std::async2. std::future2.1 wait()2.2 get() 八、day8 之前说过,std::async内部的处理逻辑和std::thread相似,而且std::async和std::future有密不可分的联系。今天,通过对std::async和std::future源码进行解析&#x…...

稻米分类和病害检测数据集(猫脸码客 第237期)

稻米分类图像数据集:推动农业智能化发展的关键资源 在农业领域,稻米作为世界上最重要的粮食作物之一,其品种繁多,各具特色。然而,传统的稻米分类方法往往依赖于人工观察和经验判断,不仅耗时费力&#xff0…...

HANDLINK ISS-7000v2 网关 login_handler.cgi 未授权RCE漏洞复现

0x01 产品简介 瀚霖科技股份有限公司ISS-7000 v2网络网关服务器是台高性能的网关,提供各类酒店网络认证计费的完整解决方案。由于智慧手机与平板电脑日渐普及,人们工作之时开始使用随身携带的设备,因此无线网络也成为网络使用者基本服务的项目。ISS-7000 v2可登录300至1000…...

基于Multisim串联型连续可调直流稳压正电源电路设计与仿真

设计任务和要求: (1)输出直流电压 1.5∽10V 可调; (2)输出电流 IOm300mA;(有电流扩展功能) (3)稳压系数 Sr≤0.05; (4&…...

【QT】Qt文件和多线程

个人主页~ Qt系统内容 一、Qt文件1、文件读写读写 2、文件和目录信息 二、多线程1、线程使用timethread.hwidget.htimethread.cppwidget.cpp 2、线程安全(1)互斥锁QMutexQMutexLocker一个例子mythread.hmythread.cppwidget.cpp QReadWriteLocker、QReadL…...

PN结如何实现不同反向耐压及达到高反向耐压

目录 1. PN结实现不同耐压值 2. PN如何达到高反向耐压 1. PN结实现不同耐压值 主要通过以下几个方面: • PN结设计:不同耐压值的二极管在PN结的设计上有所不同。通过调整PN结的宽度和深度,可以改变空间电荷区的大小,从而影响二极…...

【bug日志-水】解决本地开发下代理和url同名导致刷新404的问题

bug描述 在本地开发,并且路由是history的模式下,代理和url同名的情况下,刷新会404。 {path: /googleAds,//如果有个代理也叫googleAds,刷新时就会404name: googleAds,icon: sound,routes: [{path: /googleAds/GoogleAdsSettingPag…...

Hive面试题-- 查询各类型专利 top10 申请人及专利申请数

在数据处理中,尤其是涉及到专利信息等复杂数据时,Hive 是一个强大的工具。本文将详细介绍如何使用 Hive 查询语句来获取各类型专利 top10 申请人以及他们对应的专利申请数,以下是基于给定的 t_patent_detail 表结构的分析和查询步骤。 建表语…...

996引擎 - 活捉NPC

996引擎 - 活捉NPC 引擎触发 - 引擎事件(QF)事件处理模块 GameEvent测试文件参考资料 引擎触发 - 引擎事件(QF) cfg_game_data 配置 ShareNpc1 可以将QM和机器人的触发事件全部转到 QF 引擎触发是通用的,TXT的所有触发转换成小写后在LUA中就可使用,如说明书中缺省可反馈至对接群…...

航展畅想:从F35机载软件研发来看汽车车载软件研发

两款经典战机的机载软件 F-22和F-35战斗机的研制分别始于1980年代和1990年代末,F-22项目在1981年启动,主要由洛克希德马丁(Lockheed Martin)和波音公司(Boeing)合作开发,以满足美军“先进战术战…...

用Dify搭建AI知识库

Dify 可以上传各种格式文档和抓取网页数据训练自已的知识库 一 安装 1 Docker安装 我基于Docker来安装的,所以本机先装Docker Desktop, Docker 安装方法在这里 2 Dify 安装 git clone https://github.com/langgenius/dify.git cd dify/docker copy .env.exampl…...

架构师:如何提高web网站的请求并发响应量?

文章目录 一、提出问题二、相关概念三、如何提高网站请求响应能力?四、负载均衡有那些方式?五、常用微服务架构图及推荐书籍 一、提出问题 今天,突然想到一个问题,双十一,那些电商网站的并发量是多大? 简…...

图论基础--孤岛系列

孤岛系列有: 孤岛总面积求解(用了dfs、bfs两种方法)和沉没孤岛(这里只写了dfs一种) 简单解释一下: 题目中孤岛的定义是与边缘没有任何接触的(也就是不和二维数组的最外圈连接)&…...

Docker学习—Docker的安装与使用

Docker安装 1.卸载旧版 首先如果系统中已经存在旧的Docker,则先卸载: yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine2.配置Docker的yum库 首先…...

HC-SR04超声波传感器详解(STM32)

HC-SR04是一款广泛使用的超声波传感器,它通过发射和接收超声波来测量距离。本文将详细介绍HC-SR04的工作原理、引脚描述、STM32的接线方式以及如何通过STM32控制HC-SR04来测量距离。 一、HC-SR04传感器介绍 HC-SR04超声波传感器的主要参数如下: 工作电…...

如何在BSV区块链上实现可验证AI

​​发表时间:2024年10月2日 nChain的顶尖专家们已经找到并成功测试了一种方法:通过区块链技术来验证AI(人工智能)系统的输出结果。这种方法可以确保AI模型既按照规范运行,避免严重错误,遵守诸如公平、透明…...

车载以太网gPTP时间同步实战:LinuxPTP工具链配置与避坑指南

车载以太网gPTP时间同步实战:从硬件验证到系统调优的全链路指南 当激光雷达的扫描点云与摄像头图像帧的时间戳偏差超过100纳秒,自动驾驶系统的感知模块就可能出现"重影"现象。这正是我们团队在开发L4级自动驾驶平台时遇到的真实挑战——传统时…...

如何零门槛集成专业金融图表?从技术选型到上线的全流程攻略

如何零门槛集成专业金融图表?从技术选型到上线的全流程攻略 【免费下载链接】charting-library-examples Examples of Charting Library integrations with other libraries, frameworks and data transports 项目地址: https://gitcode.com/gh_mirrors/ch/charti…...

MIT6.S081 Lab11实战:手把手教你实现E1000网卡驱动的关键函数(附避坑指南)

MIT6.S081 Lab11实战:从零实现E1000网卡驱动的核心逻辑 在操作系统开发领域,网络驱动是连接内核与物理世界的关键桥梁。MIT6.S081课程的Lab11将带领我们深入xv6内核,亲手实现Intel E1000网卡驱动的核心功能。这个实验不仅考验我们对DMA、环形…...

ConcurrentHashMap讲解

在 Java 并发编程中,ConcurrentHashMap 是高频使用的线程安全 Map 实现,也是面试中几乎必问的核心知识点。它完美解决了 HashMap 线程不安全、Hashtable 性能极差的痛点,在高并发场景下实现了安全与性能的平衡。本文将从设计背景、JDK1.7/JDK…...

Phi-3-Mini-128K应用场景:新能源电池BMS固件日志智能归因与故障预测

Phi-3-Mini-128K应用场景:新能源电池BMS固件日志智能归因与故障预测 想象一下,你是一家新能源车企的BMS(电池管理系统)软件工程师。凌晨三点,你的手机响了,生产线告警:一批电池包的固件在测试中…...

超越传统RPA!用Magentic-UI实现人机协作式网页自动化(含工作流调试技巧)

超越传统RPA:Magentic-UI的人机协作革命与实战进阶 当传统RPA工具还在追求"全自动"的乌托邦时,微软开源的Magentic-UI已经开辟了一条更务实的道路——人机协同智能。这个基于多智能体架构的系统不是要取代人类,而是通过"可干预…...

3步实现文献影响力自动化追踪:Zotero学术插件使用指南

3步实现文献影响力自动化追踪:Zotero学术插件使用指南 【免费下载链接】zotero-google-scholar-citation-count Zotero plugin for fetching number of citations from Google Scholar. 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-google-scholar-citat…...

引入电转气协同的含碳捕集与垃圾焚烧虚拟电厂优化调度

【文章复现 可】计及电转气协同的含碳捕集与垃圾焚烧 虚拟电厂优化调度 引入碳捕集电厂–电转气–燃气机组协同利用框架,碳捕集的 CO2可作为电转气原料,生成的天然气则供应给燃气机组;并通过联合调度将碳捕集能耗和烟气处理能耗进行负荷转移…...

NanoPC-T6开发板实战:手把手教你为RK3588编译并烧录Recovery镜像

NanoPC-T6开发板实战:从零构建RK3588 Recovery镜像的完整指南 当你的NanoPC-T6开发板因系统崩溃变成"砖头"时,一个可靠的Recovery镜像就是救命稻草。本文将带你深入Rockchip RK3588平台的恢复系统构建全流程,从工具链准备到最终烧录…...

Mac 系统高效安装 ChatGPT 全攻略:从环境配置到性能优化

在 Mac 上折腾 ChatGPT 的安装,尤其是想跑个本地化的 CLI 工具或者集成到自己的项目里,相信不少朋友都踩过坑。原生安装方式看似简单,但 Python 版本管理混乱、依赖包冲突、系统权限问题,常常让一个简单的 pip install openai 变成…...