Kubernetes 1.33 重磅发布:Sidecar 容器正式 GA,服务网格的补丁时代结束了
Kubernetes 1.33 重磅发布Sidecar 容器正式 GA服务网格的补丁时代结束了作者人间凡尔赛前言2026 年 8 月Kubernetes 1.33代号 Octarine的 Beta 特性陆续进入社区视野其中原生 Sidecar 容器正式 GA、In-place Pod Resize 转 Beta 等特性引发广泛讨论。Sidecar 是服务网格、日志采集、可观测性三大基础设施的基石模式此次原生支持落地意味着从 Istio 到 Filebeat 的部署方式都将迎来一次去 Hack 化的范式升级。---一、十年之痒为什么 Sidecar 需要原生支持Sidecar边车模式的概念可以追溯到 2015 年 Kubernetes 官方博客对组合容器的描述在同一个 Pod 中与应用主容器并列部署一个辅助容器为其扩展和增强能力。如今 Sidecar 已成为最普遍的 K8s 部署模式之一Istio/Envoy 网络代理、Filebeat/Fluent Bit 日志采集、Prometheus exporter 指标暴露全是典型 Sidecar。但很长一段时间里Kubernetes 对 Sidecar 没有任何原生支持这带来了一系列棘手的生命周期问题| 痛点 | 表现 ||------|------|| 启动顺序 | 无法保证 Sidecar 先于主容器就绪网络代理未就绪主容器请求已发出 || 优雅终止 | Job 型 Pod 结束运行时日志 Sidecar 被同时杀掉最后一批日志丢失 || 独立重启 | Sidecar 崩溃后无法单独拉起只能整 Pod 重建 || 网格 Hack | Istio 必须借助 iptables 流量重写 PostStart 钩子来管理注入容器的生命周期 |社区为此吵了多年有人用 init 容器但 init 容器跑完即退出无法常驻有人用普通容器 preStop 钩子 各种脚本强行编排顺序。直到 2019 年 KEP-753 正式提案2023 年 1.28 以 Alpha 引入2026 年 1.33 终于 GA。---二、原生 Sidecar 是什么一个 restartPolicy: Always 的 init 容器原生 Sidecar 的实现思路非常优雅——它本质上仍是 init 容器只是允许设置 restartPolicy: Always。Kubernetes 据此获得了一个关键信息这个容器不是跑一次就退出的初始化任务而是要陪主容器跑完整个生命周期的常驻伙伴。apiVersion: v1 kind: Pod metadata: name: app-with-native-sidecar spec: initContainers: # 传统 init 容器跑完即退出 - name: init-db-migrate image: busybox:1.36 command: [sh, -c, echo migrating... sleep 3] # 原生 SidecarrestartPolicy: Always → 常驻 - name: log-agent image: fluent/fluent-bit:3.2 restartPolicy: Always volumeMounts: - name: app-logs mountPath: /var/log/app containers: - name: main-app image: nginx:1.27 volumeMounts: - name: app-logs mountPath: /var/log/nginx volumes: - name: app-logs emptyDir: {}部署后观察 Pod 状态会发现两个容器都进入 Running$ kubectl get pod app-with-native-sidecar NAME READY STATUS RESTARTS AGE app-with-native-sidecar 2/2 Running 0 42s区别在于init-db-migrate 完成后变成 Completed而 log-agent 会一直运行直到 Pod 被删除。---三、GA 带来的四大核心能力3.1 启动顺序保证先 Sidecar后主容器这是服务网格的刚需。过去 Istio 注入的 Envoy 必须抢在主容器之前完成 iptables 规则注入否则应用流量直接绕过代理。原生 Sidecar 让这个顺序变成语言级保证所有 Sidecar 按声明顺序启动完成后主容器才会启动。spec: initContainers: - name: envoy-proxy # 第 1 个启动 image: envoyproxy/envoy:v1.32 restartPolicy: Always - name: otel-agent # 第 2 个启动 image: otel/opentelemetry-collector-contrib:0.115.0 restartPolicy: Always containers: - name: app # 最后启动 image: myapp:latest3.2 优雅终止Sidecar 撑到最后过去最经典的翻车现场Job 跑完kubectl logs 里永远缺最后几行日志——因为日志 Sidecar 和主容器同时收到 SIGTERM双双退出日志缓冲来不及 flush。原生 Sidecar 的终止语义是主容器先退出Sidecar 继续存活直到 Pod 删除完成保证日志、指标、连接追踪都能完整落盘。这对批处理、AI 训练任务尤为重要。3.3 独立重启Sidecar 崩了不用整 Pod 陪葬普通容器模式的 Sidecar 一旦 OOM 或 panickubelet 只能重启整个 Pod主容器被迫跟着闪断。原生 Sidecar 的 restartPolicy: Always 让 kubelet 可以单独重启 Sidecar 本身$ kubectl get pod app-with-native-sidecar -o jsonpath{.status.containerStatuses}当 log-agent 崩溃时只有它的 restartCount 增加主容器零感知。3.4 完整探针支持Ready 状态终于算数GA 版本补齐了 Sidecar 的健康话语权支持 startupProbe、readinessProbe、livenessProbe 全部探针且Sidecar 的就绪状态会影响整个 Pod 的 Ready 状态——只有 Envoy 就绪了Pod 才算就绪流量才会打进来。initContainers: - name: envoy-proxy image: envoyproxy/envoy:v1.32 restartPolicy: Always ports: - name: admin containerPort: 9901 readinessProbe: httpGet: path: /ready port: admin initialDelaySeconds: 3 periodSeconds: 5 livenessProbe: httpGet: path: /healthz port: admin periodSeconds: 10---四、服务网格去 HackIstio 与 Linkerd 的新姿势原生 Sidecar 最大受益者就是服务网格。过去 Istio 注入 Envoy 需要三步 Hack① init 容器设置 iptables 规则劫持流量② postStart 钩子等代理就绪③ 各种 holdApplicationUntilProxyStarts 之类的开关。现在直接声明原生 Sidecar生命周期交给 kubelet网格数据面第一次拥有了一等公民待遇。apiVersion: apps/v1 kind: Deployment metadata: name: payments namespace: default spec: template: metadata: annotations: sidecar.istio.io/inject: true # 开启 Istio 原生 Sidecar 模式1.19 sidecar.istio.io/nativeSidecar: true spec: initContainers: - name: istio-proxy image: auto restartPolicy: Always效果立竿见影• 不再需要 iptables 重写与 PostStart 钩子的时序魔法• 网格代理崩溃可独立重启业务进程稳如泰山• Job/CronJob 短任务结束后代理优雅退出不再拖住 Pod 无法完成---五、1.33 里同样值得关注的三件事原生 Sidecar 是 1.33 的主角但这几个特性同样值得后端架构师关注5.1 In-place Pod Resize 转 Beta默认开启过去调整 Pod 的 CPU/内存必须重建 Pod重启应用1.33 支持原地修改资源通过 PodResizePending / PodResizeInProgress 两个 Condition 观察进度$ kubectl patch pod web-0 --subresourceresize \ -p {spec:{containers:[{name:app,resources:{requests:{cpu:2,memory:4Gi}}}]}} $ kubectl get pod web-0 -o jsonpath{.status.conditions[?(.typePodResizeInProgress)]}大促扩容再也不用滚动重启了长连接、缓存热数据全部保留。5.2 User Namespaces 默认开启每个 Pod 的 UID/GID 被映射到宿主机的非特权 ID即使容器内以 root 运行、被攻破也无法在宿主机上提权——容器逃逸的横向移动路径被彻底切断多租户集群安全水位大幅提升。5.3 Job 批量能力收尾JobBackoffLimitPerIndex 与 JobSuccessPolicy 双双 GA索引级重试 自定义成功判定让大规模并行数据处理如 AI 数据预处理的失败重试策略精确到每一条。---六、迁移建议三步切换到原生 Sidecar如果你的集群已升级到 1.33该特性默认启用可以按以下路径平滑迁移# 1. 确认特性可用 $ kubectl get nodes -o wide | head -3 $ kubectl api-resources | grep -i sidecar # 无需独立 CRD直接用 initContainers # 2. 把常驻型 init 容器加上 restartPolicy: Always # 日志采集、网格代理、配置热加载器等 # 3. 观察 Pod 生命周期重启测试、缩容测试、Job 完成测试 $ kubectl rollout restart deployment/log-collector迁移的三个判断准则• 需要常驻、需保证先于主容器启动 → 原生 SidecarrestartPolicy: Always• 跑完即退的一次性初始化 → 保持传统 init 容器• 无依赖顺序的纯并行辅助容器 → 保持普通容器即可无需迁移---七、总结从 2015 年的概念博客到 2019 年的 KEP-753再到 2026 年的正式 GASidecar 原生支持走完了模式 → 提案 → Alpha → Beta → Stable的完整旅程。它带来的不只是 YAML 里多一个字段而是把 Sidecar 从需要各种 Hack 才能跑起来的二等公民升级为生命周期受 kubelet 全权托管的头等公民。对后端与平台工程师来说这意味着服务网格更稳了、日志一条不丢了、Pod 重启更少了。1.33 的 Sidecar GA或许正是云原生基础设施走向零 Hack的一块重要里程碑。你的集群升级到 1.33 了吗打算把哪些 Sidecar 迁移到原生模式欢迎在评论区交流。---本文为原创技术分享数据与特性说明基于 Kubernetes 1.33 官方 Release Notes 与社区讨论整理。

相关新闻

深耕区域数字化:南湖网站建设公司如何为本地企业打造高转化率专属网站平台

深耕区域数字化:南湖网站建设公司如何为本地企业打造高转化率专属网站平台

本文关键词:南湖网站建设公司在这个移动互联网渗透率已经接近极致的今天,我们不得不承认一个看似悖论却又无比真实的现象:尽管微信、抖音、快手等平台占据了用户绝大部分的注意力时长,但对于大多数正规经营的企业来说,一个属于自己的、独立可控的官方网站,依然扮演着“数…

2026/10/5 9:22:26 阅读更多 →
Webpack项目必备!Sentry Webpack Plugin配置参数全攻略(含最佳实践)

Webpack项目必备!Sentry Webpack Plugin配置参数全攻略(含最佳实践)

Webpack项目必备!Sentry Webpack Plugin配置参数全攻略(含最佳实践) 【免费下载链接】sentry-webpack-plugin Repo moved to https://github.com/getsentry/sentry-javascript-bundler-plugins. Please open any issues/PRs there. 项目地址…

2026/10/9 7:32:04 阅读更多 →
Ethermint-archive横向扩展能力详解:轻松应对高并发区块链需求

Ethermint-archive横向扩展能力详解:轻松应对高并发区块链需求

Ethermint-archive横向扩展能力详解:轻松应对高并发区块链需求 【免费下载链接】ethermint-archive Ethereum on Tendermint using Cosmos-SDK! 项目地址: https://gitcode.com/gh_mirrors/et/ethermint-archive Ethermint-archive作为基于Tendermint共识和C…

2026/10/11 5:29:07 阅读更多 →

最新新闻

WASI 文件系统路径解析与沙箱机制深度剖析:从 openat 手动算法到 openat2 内核原语

WASI 文件系统路径解析与沙箱机制深度剖析:从 openat 手动算法到 openat2 内核原语

【免费下载链接】WASI WebAssembly System Interface 项目地址: https://gitcode.com/gh_mirrors/wa/WASI 点击查看 免费下载 导读 WASI(WebAssembly System Interface)的文件系统接口采用"能力导向(capability-oriented&a…

2026/10/12 7:34:22 阅读更多 →
基于Django+Vue.js的租房推荐系统设计与实现

基于Django+Vue.js的租房推荐系统设计与实现

1. 项目定位与整体方案拆解1.1 毕业设计选题怎么看每年毕业季都有大量同学选择"XX推荐系统"这类题目,租房推荐系统在其中算是非常经典也比较好落地的一个方向。原因很简单:推荐系统类题目天然自带算法亮点,又不缺业务场景&#xff…

2026/10/12 7:34:22 阅读更多 →
AnyPS5项目解析:技术定位与合规开发边界

AnyPS5项目解析:技术定位与合规开发边界

我无法基于当前输入生成符合要求的博文。原因如下:项目标题“AnyPS5”缺乏明确指向性,未说明是硬件改装、模拟器方案、跨平台兼容层、开发工具链,还是其他技术方向;项目正文为空,无任何功能描述、技术目标、实现方式或…

2026/10/12 7:34:22 阅读更多 →
4个工具型网站帮你快速读懂陌生项目源码

4个工具型网站帮你快速读懂陌生项目源码

1. 为什么读懂陌生项目源码这么难刚接手一个陌生的代码仓库,打开首页看到几十个文件夹、上百个源文件,README 写得云里雾里,这种感觉我相信每个开发者都经历过。尤其是当你需要在一周内摸清一个开源项目的架构,然后基于它做二次开…

2026/10/12 7:34:22 阅读更多 →
智能桌面宠物开发实战:从悬浮窗透明到AI对话的完整工程路径

智能桌面宠物开发实战:从悬浮窗透明到AI对话的完整工程路径

简介:面向电子爱好者、嵌入式开发者和创客玩家的智能桌面宠物完整资料包,整合了代码、固件、硬件图纸与视频教程,解决从零开始制作桌宠时遇到的烧录困难、环境配置和语音交互等问题。资源共82个文件,压缩包大小48.21MB&#xff0c…

2026/10/12 7:34:22 阅读更多 →
删数问题与贪心算法:从错误直觉到单调栈最优解

删数问题与贪心算法:从错误直觉到单调栈最优解

上个月帮几位朋友看算法实验作业,他们在头歌平台上刷贪心算法关卡,卡得最久的不是那些需要长篇大论设计的题目,而是一道看起来非常简单的"删数问题"。代码量不到二十行,解题思路也说得头头是道,可提交上去就…

2026/10/12 7:33:21 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →