尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
2.6.升级 containerd
更新前/usr/local/bin/下的 containerd 相关文件# ll /usr/local/bin/ total 279M lrwxrwxrwx 1 root root 33 Jul 14 2025 nerdctl - /usr/local/containerd/bin/nerdctl -rwxr-xr-x 1 demo demo 23M Mar 28 2025 etcd -rwxr-xr-x 1 demo demo 18M Mar 28 2025 etcdctl -rwxr-xr-x 1 root root 27M Mar 18 2025 ctd-decoder -rwxr-xr-x 1 root root 55M Mar 18 2025 crictl -rwxr-xr-x 1 root root 56M Mar 18 2025 critest -rwxr-xr-x 1 root root 39M Mar 18 2025 containerd -rwxr-xr-x 1 root root 6.4M Mar 18 2025 containerd-shim -rwxr-xr-x 1 root root 7.4M Mar 18 2025 containerd-shim-runc-v1 -rwxr-xr-x 1 root root 13M Mar 18 2025 containerd-shim-runc-v2 -rwxr-xr-x 1 root root 18M Mar 18 2025 containerd-stress -rwxr-xr-x 1 root root 19M Mar 18 2025 ctr解压新版本--strip-components1去掉压缩包内的bin/目录层级直接覆盖到/usr/local/bin/# tar tf containerd-2.3.2-linux-amd64.tar.gz bin/ bin/containerd bin/containerd-shim-runc-v2 bin/ctr bin/containerd-stress # tar -xzvf containerd-2.3.2-linux-amd64.tar.gz --strip-components1 -C /usr/local/bin/更新后containerd 主程序及相关组件更新为Jun 19时间戳注意旧版的containerd-shim、containerd-shim-runc-v1等 2.0 已废弃的 shim 仍保留但不再使用# ll /usr/local/bin/ total 286M -rwxr-xr-x 1 root root 42M Jun 19 07:14 containerd -rwxr-xr-x 1 root root 8.1M Jun 19 07:14 containerd-shim-runc-v2 -rwxr-xr-x 1 root root 22M Jun 19 07:14 containerd-stress -rwxr-xr-x 1 root root 25M Jun 19 07:14 ctr lrwxrwxrwx 1 root root 33 Jul 14 2025 nerdctl - /usr/local/containerd/bin/nerdctl -rwxr-xr-x 1 demo demo 23M Mar 28 2025 etcd -rwxr-xr-x 1 demo demo 18M Mar 28 2025 etcdctl -rwxr-xr-x 1 root root 27M Mar 18 2025 ctd-decoder -rwxr-xr-x 1 root root 55M Mar 18 2025 crictl -rwxr-xr-x 1 root root 56M Mar 18 2025 critest # 2.0 已废弃 -rwxr-xr-x 1 root root 6.4M Mar 18 2025 containerd-shim # 2.0 已废弃 -rwxr-xr-x 1 root root 7.4M Mar 18 2025 containerd-shim-runc-v12.7.重启 containerd 并验证systemctl restart containerd systemctl status containerd3.验证升级结果逐节点升级完成后确认运行时版本已更新为containerd://2.3.2# kubectl get node -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME x.x.x Ready control-plane 344d v1.35.6 x.x.x.x Ubuntu 24.04.4 LTS 6.8.0-124-generic containerd://2.3.2 x.x.x Ready control-plane 344d v1.35.6 x.x.x.x Ubuntu 24.04.4 LTS 6.8.0-124-generic containerd://2.3.2 x.x.x Ready control-plane 344d v1.35.6 x.x.x.x Ubuntu 24.04.4 LTS 6.8.0-124-generic containerd://2.3.2问题处理1.Kubernetes 问题处理1.1.基础镜像版本不一致问题原因新版 kubeadm 默认使用的 pause 镜像版本与节点上 containerd 配置的不一致。表现形式在执行 kubeadm upgrade apply 时可能会出现基础镜像不一致的告警detected that the sandbox image registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.8 of the container runtime is inconsistent with that used by kubeadm. It is recommended to use registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.10 as the CRI sandbox image.解决方式查看当前 kubeadm 期望的镜像版本# kubeadm config images list # 此处报错是由于无法连接 https://dl.k8s.io/release/stable-1.txt,但不影响输出所需镜像 W0626 10:30:12.306990 2755682 version.go:108] could not fetch a Kubernetes version from the internet: unable to get URL https://dl.k8s.io/release/stable-1.txt: Get https://dl.k8s.io/release/stable-1.txt: context deadline exceeded (Client.Timeout exceeded while awaiting headers) W0626 10:30:12.307154 2755682 version.go:109] falling back to the local client version: v1.35.6 registry.k8s.io/kube-apiserver:v1.35.6 registry.k8s.io/kube-controller-manager:v1.35.6 registry.k8s.io/kube-scheduler:v1.35.6 registry.k8s.io/kube-proxy:v1.35.6 registry.k8s.io/coredns/coredns:v1.13.1 registry.k8s.io/pause:3.10.1 registry.k8s.io/etcd:3.6.6-0 # 查看当前 containerd 实际配置 grep -i pause: /etc/containerd/config.toml sandbox_image registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.8把 containerd 配置中的 pause 版本更新到提示的新版本然后重启 containerd 即可sed -i s#pause:3.8#pause:3.10.1# /etc/containerd/config.toml systemctl restart containerd1.2.集群更新使用的版本格式问题问题原因升级时kubeadm upgrade apply所用版本不是 K8s 版本号表现形式升级时提示版本无效# kubeadm upgrade apply 1.33.13-1.1 error execution phase preflight: the version argument is invalid due to these errors: - Specified version to upgrade to v1.33.13-1.1 is an unstable version and such upgrades werent allowed via setting the --allow-*-upgrades flags Can be bypassed if you pass the --force flag解决方式kubeadm upgrade apply所用的版本必须是K8s 版本号如1.33.13而不是 apt 包的 Ubuntu 格式如1.33.13-1.1# kubeadm upgrade apply 1.33.131.3.集群配置中 controlPlaneEndpoint 与实际 bindPort 不一致问题原因这个告警无需在意它只是提示controlPlaneEndpoint覆盖了bindPort。本集群用 HAProxy 做负载均衡前端监听16443再转发给后端 kube-apiserver 的6443所以这个覆盖正是预期行为。表现形式升级过程中 kubeadm upgrade 输出WARNING: port specified in controlPlaneEndpoint overrides bindPort in the controlplane address解决方式符合预期即可无需解决# ss -nltup | grep 6443 tcp LISTEN 0 2000 0.0.0.0:16443 0.0.0.0:* users:((haproxy,pid1892947,fd10)) tcp LISTEN 0 2000 127.0.0.1:16443 0.0.0.0:* users:((haproxy,pid1892947,fd11)) tcp LISTEN 0 16384 *:6443 *:* users:((kube-apiserver,pid1697748,fd4)) # kubectl -n kube-system get cm kubeadm-config -o yaml | grep -i controlPlaneEndpoint controlPlaneEndpoint: 10.51.0.249:16443 # cat /etc/haproxy/haproxy.cfg global maxconn 2000 ulimit-n 16384 log 127.0.0.1 local0 err stats timeout 30s defaults log global mode http option httplog timeout connect 5000 timeout client 50000 timeout server 50000 timeout http-request 15s timeout http-keep-alive 15s frontend monitor-in bind *:33305 mode http option httplog monitor-uri /monitor frontend k8s-master bind 0.0.0.0:16443 bind 127.0.0.1:16443 mode tcp option tcplog tcp-request inspect-delay 5s default_backend k8s-master backend k8s-master mode tcp option tcplog option tcp-check balance roundrobin default-server inter 10s downinter 5s rise 2 fall 2 slowstart 60s maxconn 250 maxqueue 256 weight 100 server x.x.x x.x.x.x:6443 check server x.x.x x.x.x.x:6443 check server x.x.x x.x.x.x:6443 check1.4.集群更新使用的 containerd 版本过旧问题原因使用的 containerd 版本较旧K8s 1.36 版本后会删除 从 kubelet 配置读 cgroupDriver 这个老机制fallback改用 CRI 的RuntimeConfig方法从 containerd 直接探测。但当前 containerd 1.7 不支持这个新方法所以出现警告。根据官网说明在 K8s 1.38 版本前完成 containerd 升级即可。表现形式在v1.34.x升级到v1.35.x时kubeadm 输出ContainerRuntimeVersion告警# kubeadm upgrade apply 1.35.6 [upgrade/preflight] Running preflight checks [WARNING ContainerRuntimeVersion]: You must update your container runtime to a version that supports the CRI method RuntimeConfig. Falling back to using cgroupDriver from kubelet config will be removed in 1.36. For more information, see https://git.k8s.io/enhancements/keps/sig-node/4033-group-driver-detection-over-cri解决方式升级 containerd 版本即可2.Containerd 问题处理
RELATED

相关推荐

影刀RPA新手教程:界面布局完全指南——指令区、画布区、属性区深度解析与使用技巧

影刀RPA新手教程:界面布局完全指南——指令区、画布区、属性区深度解析与使用技巧

影刀RPA新手教程:界面布局完全指南——指令区、画布区、属性区深度解析与使用技巧 作者:林焱 | 界面操作心得,都是实战踩坑总结 写在前面 很多人装好影刀RPA之后,面对那个三栏界面是一脸懵的。 指令区在哪?画布怎么拖…

📅 2026/9/1 20:23:51
LangChain使用deep agent并且加载SKILL

LangChain使用deep agent并且加载SKILL

行业趋势。 从TRAE线下到LangChain落地,我见证SKILLS从概念到普及的半年 最早接触SKILLS这个概念,是在2025年去字节参加TRAE线下活动的时候。活动现场有观众提问,说CLAUDE新推出的SKILLS机制特别实用,想问字节的TRAE什么时候会跟…

📅 2026/9/1 20:23:50
LLM嵌入运动规划内核:语义约束自动转数学表达

LLM嵌入运动规划内核:语义约束自动转数学表达

1. 项目概述:这不是又一个“LLM机器人”的概念包装“LLM驱动的语义约束合成与自适应轨迹优化”——光看标题,很多人第一反应是:这又是个把大模型当万能胶水、往工业控制里硬贴的PPT项目?我干这行十多年,从ABB RobotStu…

📅 2026/9/21 6:54:47
MORE NEWS

更多资讯

📰

分布式对象存储系统设计与性能优化实践

1. 分布式对象系统概述分布式对象系统是现代云计算和大数据基础设施的核心组件之一。它通过将数据分散存储在多个物理节点上,同时对外提供统一的访问接口,解决了传统集中式存储系统在可扩展性和可靠性方面的瓶颈。典型的分布式对象系统由以下几个关键部分…

📰

LaTeX脚注设置全解析:编号、版式与特殊环境排错指南

1. 脚注这东西,为什么值得单独拎出来说排一本稍微正式点的稿子,正文写得再顺,到了脚注这一块,基本都要停下来折腾半天。LaTeX 脚注设置看起来就一句\footnote{...},可真要让它按你的意思走——编号从哪开始、每页重排还…

📰

Kafka核心价值与大数据应用实战解析

1. Kafka在大数据领域的核心价值解析Kafka作为分布式消息系统的标杆产品,在大数据生态中扮演着数据管道的关键角色。我曾在某电商平台的实时数仓项目中,用Kafka处理日均百亿级的用户行为数据。这种高吞吐、低延迟的特性,使其成为大数据场景下…

📰

百度文库文档免费下载技术方案全解析

1. 百度文库文档下载需求背景解析百度文库作为国内最大的文档分享平台,汇集了超过8亿份专业文档资源。但平台设置的下载限制让许多用户感到困扰——需要VIP会员或下载券才能获取完整内容。这种机制催生了大量对免费下载方法的需求,特别是在学生群体和职场…

📰

RFID射频识别技术试卷:命题逻辑、答题主线与工程能力分层

射频识别这门课,期末那张“rfid射频识别技术试卷”往往比教材更能暴露教学的边界:教材可以按章节铺陈,试卷却必须在有限篇幅里把频段、耦合、编码、防碰撞、协议栈、系统集成这几条线拧到一起。我带过几届相关课程的上机与答疑,也参与过几套卷子的命题和批改,最深的一个感受是—…

📰

Agent记忆不跟工具搬家:分层设计与跨框架迁移实战

1. 当Agent换了工具就"失忆",问题到底出在哪做过Agent开发的人大概率都经历过这种尴尬:花了两周调教好的一个智能体,在某个框架里跑得挺顺,对话上下文记得住、用户偏好拎得清、任务进度跟得上。结果一换框架、一换编排工…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬