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

[k8s实战]Containerd 1.7.2 离线安装与配置全指南(生产级优化)

[k8s实战]Containerd 1.7.2 离线安装与配置全指南(生产级优化)

摘要:本文详细讲解在无外网环境下部署 Containerd 1.7.2 容器运行时的完整流程,涵盖二进制包安装、私有镜像仓库配置、Systemd服务集成等关键步骤,并提供生产环境调优建议。适用于Kubernetes集群、边缘计算等隔离场景。

一、环境准备与架构设计

1.1 系统要求

项目最低要求推荐配置
操作系统CentOS 7+/Ubuntu 18+CentOS 7.6+/Ubuntu 22.04 LTS
内核版本≥ 4.14≥ 5.4
磁盘空间≥ 1GBSSD + 50GB
架构支持x86_64ARM64(需对应包)

二、离线安装全流程

2.1 安装包处理

# 上传并解压二进制包(所有节点执行)
mkdir -p /root/containerd
tar -zxvf containerd-1.7.2-linux-amd64.tar.gz -C /root/containerd# 复制可执行文件到系统路径
cp /root/containerd/bin/* /usr/bin/
cp /root/containerd/bin/ctr /usr/local/bin/# 验证安装
containerd --version  # 应输出 containerd github.com/containerd/containerd v1.7.2

安装截图:
在这里插入图片描述

三、生产级配置调优

3.1 生成默认配置文件

mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml

3.2 关键配置修改

# 文件路径:/etc/containerd/config.toml# 容器数据存储路径(根据磁盘规划调整)
root = "/data/containerd"  # 启用systemd cgroup驱动(必须与K8S一致)
SystemdCgroup = true# 配置私有镜像仓库(替换实际IP和端口)
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]endpoint = ["http://192.167.14.119:5000"]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.k8s.io"]endpoint = ["http://192.167.14.119:5000"]# 修改pause镜像地址(国内源)
sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.9"

四、Systemd服务集成

4.1 创建服务文件

cat > /usr/lib/systemd/system/containerd.service <<EOF
[Unit]
Description=Containerd Container Runtime
Documentation=https://containerd.io
After=network.target[Service]
ExecStartPre=/sbin/modprobe overlay
ExecStart=/usr/bin/containerd --config /etc/containerd/config.toml
Restart=always
RestartSec=5
LimitNOFILE=infinity[Install]
WantedBy=multi-user.target
EOF

4.2 服务管理命令

# 重载配置
systemctl daemon-reload# 启停服务
systemctl enable containerd --now
systemctl restart containerd# 查看状态
systemctl status containerd

设置为系统服务截图:
在这里插入图片描述

五、功能验证与测试

5.1 基础功能测试

# 拉取测试镜像(使用私有仓库)
ctr image pull docker.io/library/nginx:alpine# 运行容器
ctr run -d --net-host docker.io/library/nginx:alpine nginx-test# 查看运行容器
ctr container ls

5.2 私有仓库连通性验证

ctr image pull registry.k8s.io/pause:3.9
ctr image list | grep pause

六、生产环境调优建议

6.1 存储驱动优化

# 使用 overlay2 存储驱动(需内核支持)
[plugins."io.containerd.grpc.v1.cri".containerd]snapshotter = "overlayfs"

6.2 日志配置

# 限制日志大小与保留时间
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]SystemdCgroup = true[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options.log]max_size = "100MB"max_file = 3

6.3 资源限制

# 修改服务文件限制
[Service]
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity

七、故障排查指

现象排查命令解决方案
服务启动失败journalctl -u containerd -xe检查配置文件语法和路径
镜像拉取失败ctr image pull -v验证仓库证书及网络连通性
容器无法创建ctr run --rm -t debug检查存储驱动和cgroup配置
节点资源耗尽df -h /data/containerd清理旧镜像或扩容存储

扩展工具推荐

  • nerdctl:Containerd的Docker兼容CLI
  • crictl:K8S CRI调试工具

通过本文,您已完成Containerd的离线部署与生产级调优。建议结合Kubernetes集群验证运行时集成效果!

如果本教程帮助您解决了问题,请点赞❤️收藏⭐支持!欢迎在评论区留言交流技术细节!欲了解密码学知识,请订阅《密码学实战》专栏 → 密码学实战

相关文章:

[k8s实战]Containerd 1.7.2 离线安装与配置全指南(生产级优化)

[k8s实战]Containerd 1.7.2 离线安装与配置全指南&#xff08;生产级优化&#xff09; 摘要&#xff1a;本文详细讲解在无外网环境下部署 Containerd 1.7.2 容器运行时的完整流程&#xff0c;涵盖二进制包安装、私有镜像仓库配置、Systemd服务集成等关键步骤&#xff0c;并提供…...

C++中const与constexpr的区别

在C中&#xff0c;const和constexpr都用于定义常量&#xff0c;但它们的用途和行为有显著区别&#xff1a; ### 1. **初始化时机** - **const**&#xff1a;表示变量是只读的&#xff0c;但其值可以在**编译时或运行时**初始化。 cpp const int a 5; // 编译…...

解决Windows安全中心显示空白页面

1、电脑重装系统后&#xff0c;发现原本一些软件打不开了&#xff0c;电脑莫名认为有病毒&#xff0c;自动删除插件。附图。 2、第一反应是电脑防火墙的原因&#xff0c;默认威胁防护识别到了病毒软件&#xff0c;自动删除。在开始屏幕搜Windows安全中心&#xff0c;打开之后发…...

三国战纪119通关笔记

文章目录 诸葛一币通关孙姬马王夏侯渊孟优夏侯惇张辽貂蝉吕蒙沙摩柯破阵及吕布陆逊左慈(跳)许褚黄盖彻里吉(跳)魏延(跳)司马懿曹操道具的安排道具-天师符(废弃)道具-九节杖道具-援军令(废弃)道具-土雷(废弃) 笔者是个菜鸡&#xff0c;什么天王难度无伤&#xff0c;天王难度5禁什…...

Android audio系统五 AudioPolicy 策略配置详解

引用&#xff1a;Android 音频策略配置文件解析流程 audio_policy_configuration.xml 是 Android 音频系统的核心配置文件&#xff0c;它定义了音频硬件接口、设备路由和基本策略。下面我将详细介绍这个文件的结构、关键配置项和实际应用。audio_policy_configuration.xml 是 …...

【MQ篇】初识MQ!

目录 一、什么是MQ&#xff1f;简单来说就是个“快递中转站” &#x1f4e6;二、为什么要用MQ&#xff1f;用了它&#xff0c;好处多多&#xff01;&#x1f929;三、MQ的应用场景&#xff1a;各行各业都能用&#xff01;&#x1f30d;四、MQ的优缺点&#xff1a;硬币的两面&am…...

2、SpringAI接入ChatGPT与微服务整合

2、SpringAI接入ChatGPT与微服务整合 小薛博客AI 大模型资料 1、SpringAI简介 https://spring.io/projects/spring-ai Spring AI是一个人工智能工程的应用框架。其目标是将Spring生态系统的设计原则&#xff08;如可移植性和模块化设计&#xff09;应用于人工智能领域&#…...

【Linux】多进程任务模块

创建多个进程&#xff0c;同时完成任务 task.c #include <sys/types.h> #include <unistd.h> #include<stdio.h> #include <sys/wait.h> int create_process_tasks(Task_fun_t tasks[],int tsak_cnt) {pid_t pid;int i 0;for(i 0;i < 4;i){pid …...

榕壹云预约咨询系统:基于ThinkPHP+MySQL+UniApp打造的灵活预约小程序解决方案

数字化咨询场景的痛点与解决方案 在心理咨询、医疗问诊、法律咨询等需要预约服务的场景中&#xff0c;传统线下预约存在效率低、管理复杂、资源分配不均等问题。榕壹云预约咨询系统基于ThinkPHPMySQLUniApp技术栈开发&#xff0c;为咨询类行业提供了一套高效、安全、可扩展的数…...

鸿蒙NEXT开发LRUCache缓存工具类(单例模式)(ArkTs)

import { util } from kit.ArkTS;/*** LRUCache缓存工具类&#xff08;单例模式&#xff09;* author 鸿蒙布道师* since 2025/04/21*/ export class LRUCacheUtil {private static instance: LRUCacheUtil;private lruCache: util.LRUCache<string, any>;/*** 私有构造函…...

opencv 图像矫正的原理

图像矫正的原理是透视变换&#xff0c;下面来介绍一下透视变换的概念。 听名字有点熟&#xff0c;我们在图像旋转里接触过仿射变换&#xff0c;知道仿射变换是把一个二维坐标系转换到另一个二维坐标系的过程&#xff0c;转换过程坐标点的相对位置和属性不发生变换&#xff0c;…...

计算机前沿技术课程论文 K-means算法在图像处理的应用

K-means算法在图像处理的应用 这是本人在计算机前沿技术课程中的课程论文文章&#xff0c;为了方便大家参考学习&#xff0c;我把完整的论文word文档发到了我的资源里&#xff0c;有需要的可以自取。 点击完整资源链接 目录 K-means算法在图像处理的应用摘要&#xff1a;引言1…...

【股票数据API接口37】如何获取股票指数实时数据之Python、Java等多种主流语言实例代码演示通过股票数据接口获取数据

​ 如今&#xff0c;量化分析在股市领域风靡一时&#xff0c;其核心要素在于数据&#xff0c;获取股票数据&#xff0c;是踏上量化分析之路的第一步。你可以选择亲手编写爬虫来抓取&#xff0c;但更便捷的方式&#xff0c;莫过于利用专业的股票数据API接口。自编爬虫虽零成本&a…...

【仓颉 + 鸿蒙 + AI Agent】CangjieMagic框架(17):PlanReactExecutor

CangjieMagic框架&#xff1a;使用华为仓颉编程语言编写&#xff0c;专门用于开发AI Agent&#xff0c;支持鸿蒙、Windows、macOS、Linux等系统。 这篇文章剖析一下 CangjieMagic 框架中的 PlanReactExecutor。 1 PlanReactExecutor的工作原理 #mermaid-svg-OqJUCSoxZkzylbDY…...

docker harbor私有仓库登录报错

docker harbor私有仓库登录报错如下&#xff1a; [rootsrv-1 ~]# docker login -u user1 -p pwd1 harbor.chinacloudapi.cn WARNING! Using --password via the CLI is insecure. Use --password-stdin. Error response from daemon: Get "https://harbor.chinacloudapi.…...

IQ信号和实信号的关系与转换的matlab实现

IQ信号 IQ信号通常是指两路正交的信号(I路和Q路),在实际信号采样中,通常会进行IQ采样,将实信号转换为复基带信号进行存储。 IQ信号转实信号 IQ信号转为实信号,其实就是将IQ两路正交信号通过上变频合并为一个实数的带通信号,这通常在通信系统中用于将基带信号调制到载…...

WSL2-Ubuntu22.04安装URSim5.21.3

WSL2-Ubuntu22.04安装URSim5.21.3 准备安装启动 准备 名称版本WSL2Ubuntu22.04URSim5.21.3VcXsrvNaN WSL2安装与可视化请见这篇:WSL2-Ubuntu22.04-配置。 安装 我们是wsl2-ubuntu22.04&#xff0c;所以安装Linux版本的URSim&#xff0c;下载之前需要注册一下&#xff0c;即…...

blender 录课键位显示插件(图文傻瓜式安装)

1、下载 点击这个链接进行下载https://github.com/nutti/Screencast-Keys 下载好不用解压 2、安装 打开blender进行安装 点击编辑选择偏好设置 选择插件再点击这个下箭头 选择从磁盘安装 然后找到自己刚刚下载好的&#xff0c;点击从磁盘安装 安装完成后勾选上插件 …...

天翼云手机断开连接2小时关机

2025-04-21 天翼云手机断开连接2小时自动 天翼云手机 4元1个月 天翼云手机永不关机 天翼云手机不休眠 天翼云手机断开连接时&#xff0c;界面显示&#xff1a;离线运行&#xff0c;2小时后自动关机 电脑每小时自动连接一次 手机每小时自动连接一次...

基于 FFmpeg 的音视频处理基础原理与实验探究

目录 1 基本知识1.1 解封装1.2 AAC和ADTS说明 1.3 H2641.3.1 H264编码结构解析1.3.2 NALU1.3.2 分类 2 实验1 探究音视频信息2.1 重要结构体介绍2.2 相关的API 3 实验二 提取AAC数据4 实验三 提取h264 1 基本知识 1.1 解封装 封装的逆向操作&#xff1a;封装是把音频流、视频流…...

【Rust 精进之路之第5篇-数据基石·下】复合类型:元组 (Tuple) 与数组 (Array) 的定长世界

系列&#xff1a; Rust 精进之路&#xff1a;构建可靠、高效软件的底层逻辑 作者&#xff1a; 码觉客 发布日期&#xff1a; 2025-04-20 引言&#xff1a;从原子到分子——组合的力量 在上一篇【数据基石上】中&#xff0c;我们仔细研究了 Rust 的四种基本标量类型&#xff1…...

【前端样式】用 aspect-ratio 实现等比容器:视频封面与图片占位的终极解决方案

在网页开发中&#xff0c;处理视频封面、图片卡片等需要固定比例的容器一直是前端工程师的必修课。本文将以 aspect-ratio 属性为核心&#xff0c;深入探讨如何优雅实现等比容器&#xff0c;并通过完整代码示例和常见问题解析&#xff0c;助你彻底掌握这一现代布局利器。 目录…...

【网络安全】OWASP 十大漏洞

1. OWASP 十大漏洞 为了应对未来的风险&#xff0c;安全专业人员需要随时掌握最新信息。之前&#xff0c;您了解了CVE 列表&#xff0c;这是一个公开的已知漏洞和暴露列表。CVE 列表是全球安全社区相互共享信息的重要信息来源。 在本文中&#xff0c;您将了解安全专业人士参考…...

我用deepseek做了一个提取压缩文件夹下pdf和word文件工具

由于最近需要把大量的压缩文件的pdf和word文件统一复制到一个文件夹中。 我们一般正常操作方式的是把一个压缩文件一个一个解压&#xff0c;然后在把一个的解压好的文件夹下文件复制到另外一个文件夹中。 这个也需太繁琐了&#xff0c;从以往统计的需要花费两个小时间&#x…...

【Docker】在容器中使用 NVIDIA GPU

解决容器 GPU 设备映射问题&#xff0c;实现 AI 应用加速 &#x1f517; 官方文档&#xff1a;NVIDIA Container Toolkit GitHub 常见错误排查 若在运行测试容器时遇到以下错误&#xff1a; docker: Error response from daemon: could not select device driver ""…...

机器人进阶---视觉算法(五)仿射变换和投影变换有什么区别

仿射变换和投影变换有什么区别 1. 定义2. 几何特性3. 变换矩阵4. 应用场景5. Python代码示例仿射变换投影变换6. 总结仿射变换和投影变换都是图像处理中常用的几何变换方法,但它们在变换性质、应用场景和变换矩阵等方面存在一些关键区别。 1. 定义 仿射变换 (Affine Transform…...

如何在 Amazon EC2 上部署 Java(Spring Boot 版)

让我们学习如何将 Java Spring Boot Web 服务器部署到 Amazon EC2。每月只需 3 美元。 使用 Azure&#xff0c;您可能不知道要花费多少钱。 Spring Boot 项目示例 在本教程中&#xff0c;我们将重点介绍如何将 Java Spring Boot 服务器部署到 Amazon EC2&#xff0c;因此我们不…...

IDEA打不开、打开报错

目录 场景异常原因解决 场景 1、本机已经安装了IDEA 2、再次安装另外一个版本的IDEA后打不开、打开报错 异常 这里忘记截图了。。。 原因 情况1-打不开&#xff1a;在同一台电脑安装多个IDEA是需要对idea的配置文件进行调整的&#xff0c;否则打不开 情况2-打开报错&#…...

【React】项目的搭建

create-react-app 搭建vite 搭建相关下载 在Vue中搭建项目的步骤&#xff1a;1.首先安装脚手架的环境&#xff0c;2.通过脚手架的指令创建项目 在React中有两种方式去搭建项目&#xff1a;1.和Vue一样&#xff0c;先安装脚手架然后通过脚手架指令搭建&#xff1b;2.npx create-…...

如何提高单元测试的覆盖率

一、定位未覆盖的代码 ​利用 IDEA 的覆盖率工具​&#xff1a; 右键测试类 → ​Run with Coverage&#xff0c;或使用 AltShiftF10&#xff08;Windows&#xff09;打开运行菜单选择覆盖率。​查看高亮标记​&#xff1a; ​绿色​&#xff1a;已覆盖代码行。​红色​&#x…...