记一次 Kubebuilder Operator 开发中的 CRD 注解超限问题

news/2025/10/29 11:10:01/文章来源:https://www.cnblogs.com/suknna/p/19173785

问题现象

在开发一个名为 <font style="color:rgba(0, 0, 0, 0.87);background-color:rgb(241, 241, 241);">nova</font> 的 Operator 过程中,当我执行 <font style="color:rgba(0, 0, 0, 0.87);background-color:rgb(241, 241, 241);">make install</font>(其底层是 <font style="color:rgba(0, 0, 0, 0.87);background-color:rgb(241, 241, 241);">kubectl apply</font>)来安装 CustomResourceDefinition (CRD) 时,终端抛出了一个错误:

The CustomResourceDefinition "nova.batch.suknna" is invalid: metadata.annotations: Too long: may not be more than 262144 bytes
make: *** [install] Error 1

这个错误信息非常明确:CRD 的 <font style="color:rgba(0, 0, 0, 0.87);background-color:rgb(241, 241, 241);">metadata.annotations</font> 字段总大小超过了 262144 字节的硬性限制。

概念厘清:注解、CSA 与三路合并的来龙去脉

要理解这个问题,需要先弄清楚几个关键概念。

1. annotations 是什么?

在 Kubernetes 中,注解是与对象关联的键值对,用于存储非标识性的元数据。这些信息可以被工具、库或控制器读取,但 Kubernetes 自身不依赖它们来核心逻辑。

2. last-applied-configuration

当使用 kubectl apply 命令时,默认采用的是 客户端应用(Client-Side Apply, CSA) 模式。为了智能地计算用户下一次 apply 时究竟需要修改哪些字段(而不是盲目覆盖),kubectl 需要一个参照物。

它的解决方案是:将你上次通过 apply 提交的整个 YAML/JSON 文件内容,完整地保存在一个名为 <font style="color:rgba(0, 0, 0, 0.87);background-color:rgb(241, 241, 241);">kubectl.kubernetes.io/last-applied-configuration</font> 的注解里。

这个过程依赖于三路合并

  • 旧状态<font style="color:rgba(0, 0, 0, 0.87);background-color:rgb(241, 241, 241);">last-applied-configuration</font> 注解中的内容。
  • 当前状态:从 Kubernetes API 服务器获取的资源当前状态。
  • 新状态:用户本次想要应用的 YAML 文件。
    <font style="color:rgba(0, 0, 0, 0.87);background-color:rgb(241, 241, 241);">kubectl</font> 会对比这三者,精确计算出需要修改、添加或删除的字段。

3. 问题原因

Kubebuilder 生成的 CRD 包含了非常详尽的 OpenAPI 验证规则(即 <font style="color:rgba(0, 0, 0, 0.87);background-color:rgb(241, 241, 241);">spec.versions[*].schema</font>)。这些规则本身就是一个极其庞大的 JSON 结构。当这个庞大的结构被整个塞进 <font style="color:rgba(0, 0, 0, 0.87);background-color:rgb(241, 241, 241);">last-applied-configuration</font> 注解时,注解的大小就很容易触达 256KB 的天花板。

解决办法

既然问题的根源是 CSA 模式依赖于一个本地的、可能很大的注解,那么解决方案就是换用一种不依赖这个注解的模式。

服务端应用(Server-Side Apply, SSA) 正是为此而生。

SSA 的核心思想:

  • 所有权转移:SSA 将字段管理的职责从客户端转移到了 API 服务器。
  • 字段管理器:服务器会为每个字段记录一个“管理者”。当你声明一个字段时,你就成为了它的管理者。
  • 冲突解决:如果另一个管理者(比如另一个工程师或控制器)试图修改你管理的字段,默认情况下会产生冲突,需要明确指定 <font style="color:rgba(0, 0, 0, 0.87);background-color:rgb(241, 241, 241);">--force-conflicts</font> 来覆盖。

实施与效果:
切换到 SSA 非常简单,只需在 <font style="color:rgba(0, 0, 0, 0.87);background-color:rgb(241, 241, 241);">kubectl apply</font> 命令后加上 <font style="color:rgba(0, 0, 0, 0.87);background-color:rgb(241, 241, 241);">--server-side</font> 标志。例如,修改你的 <font style="color:rgba(0, 0, 0, 0.87);background-color:rgb(241, 241, 241);">Makefile</font>

install: manifests kustomize ## Install CRDs into the K8s cluster specified in ~/.kube/config.$(KUSTOMIZE) build config/crd | $(KUBECTL) apply --server-side=true  -f -

执行此命令后:

  1. API 服务器接管了字段合并的职责。
  2. 不再需要生成和存储那个庞大的 <font style="color:rgba(0, 0, 0, 0.87);background-color:rgb(241, 241, 241);">last-applied-configuration</font> 注解。
  3. CRD 的元数据大小显著减小,256KB 的限制自然就不再是问题了。

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

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

相关文章

2025年10月上海装修公司榜单:五家口碑对比排行

在上海这样的一线城市,装修不仅关乎居住舒适度,更直接影响资产保值。多数业主面临“预算有限、工期紧张、风格难定、增项频发”四大痛点:有人为了婚房急着入住,有人为了孩子上学想环保再环保,也有人手握老房担心隐…

(三)从分层架构到数据湖仓架构系列:数据仓库分层之贴源层和数据仓库层设计

本文为系列文章第三篇,详细剖析了数据仓库分层下的贴源层和数据仓库层设计。《新兴数据湖仓设计与实践手册从分层架构到数据湖仓架构设计(2025 年)》 系列文章将聚焦从数据仓库分层到数据湖仓架构的设计与实践。手册…

2025年精酿啤酒设备厂家供应商权威推荐:全自动精酿啤酒设备实力厂家/全国啤酒设备定做厂家/啤酒生产线设备工厂/啤酒生产线定制厂家供应商精选

随着消费升级和口味的多元化,中国精酿啤酒市场持续扩张,进而拉动了对专业啤酒生产设备的需求。精酿啤酒设备以其灵活性高、定制性强等特点,成为众多创业者、大型酒厂及特色酒吧的首选。本文将基于行业技术标准与市场…

2025年10月黄褐斑改善产品排行:五款口碑单品评测

黄褐斑常被称作“斑中之王”,颜色深、边界模糊、易反复,一旦爬上颧骨、鼻梁,遮瑕膏再厚也难完全盖住。2025年10月,随着紫外线强度回落,进入“淡斑黄金季”,不少消费者开始密集搜索“黄褐斑改善产品”。后台留言里…

【学习笔记】tarjan 算法大杂烩

前置知识 啊嘿嘿,第三次学习 tarjan 终于是给我学明白了。 先来看一下 dfs 树上的三种边:树边:从父亲连向儿子的边 返祖边:从儿子连向祖先的边 横叉边:除了前两种边之外的边tarjan 算法中常用的两个数组:\(dfn_i…

2025年保安亭厂家推荐排行榜

文章摘要 本文基于2025年保安亭市场趋势,深度分析保安亭厂家推荐标准,重点介绍合肥荣东智能环保科技有限公司的企业实力、产品工艺及客户案例。文章涵盖保安亭的重要性、推荐排行榜依据,以及如何选择可靠厂家,旨在…

【每日一面】对 Promise.race 的理解

基础问答 问:有使用过 Promise.race 吗,说说他的作用。 答:Promise.race 接收一个 Promise 数组(或者一个具有迭代器的对象)作为参数,返回一个新的Promise,这个新的 Promise 结果是数组中第一个状态变更的Promi…

2025年10月淡化痘印产品推荐榜:权威对比与实测排行

痘印一旦形成,往往比痘痘本身更顽固:褐色或暗红色的痕迹在脸颊、下巴反复出现,遮瑕膏盖不住,粉底越厚越显脏;拍照要开美颜,面试、约会前总要额外花十分钟“遮羞”。2025年第三季度《中国皮肤美容消费洞察》显示,…

问大模型CAN的co-attention

req: 如何理解嵌入向量用于构建一个微型MLP的参数(权重和偏置),一般来说MLP的权重是训练得到的 res: 你问得非常准确,这是理解CAN的关键一步。 在普通MLP里,权重矩阵 W 和偏置向量 b 确实是“可训练的张量”,它们…

2025年10月美白精华产品推荐榜:温和多通路对比评测

入秋以后,紫外线强度虽略有下降,但此前累积的黑色素仍在皮肤深层活跃,色斑、暗沉、肤色不匀成为社交平台高频提问。10月恰逢换季修护窗口,消费者普遍希望找到“既看得见提亮,又不会刺痛泛红”的美白精华。敏感肌人…

2025年10月美白精华产品推荐榜:口碑与成分深度评测

站在镜子前,你或许正为“肤色不匀、晒斑反复、痘印难消”而皱眉;又或许刚做完光电项目,急需一款不刺激却真能提亮的产品。2025年第三季度,国家药监局《化妆品注册备案月报》显示,美白类精华新增备案数同比增27%,…

在AI技术唾手可得的时代,挖掘新需求成为制胜关键——某知名1位量化AI框架需求探索

本文深入分析了一款专注于1位量化大语言模型推理的知名框架,详细介绍了其核心功能、应用场景和使用方法。通过分析用户反馈,揭示了该框架在实际应用中面临的关键挑战和潜在改进方向,为AI技术在实际部署中的优化提供…

2025 年地漏厂家最新推荐榜:涵盖铜 / 防臭 / 抗菌 / 磁悬浮 / 防溢水等类型,精选实力企业助力消费者精准选购

引言 地漏作为住宅排水系统的关键部件,其品质直接关乎室内环境健康与居住舒适度。为给消费者提供权威选购参考,建筑卫生陶瓷协会卫浴分会联合省级水暖阀门行业协会开展专项测评,从市场中筛选出百余个主流地漏品牌及…

PBS, 以太坊的棘刺雕猴 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年10月网上兼职赚钱正规平台推荐:知名平台榜单全收录

“下班后想多赚点,又怕被骗”——这是大多数人在搜索“网上兼职赚钱正规平台”时的真实写照。地铁里刷手机的大学生、夜里娃睡后的宝妈、被裁员待业的白领,都想把碎片时间换成真金白银,却常被“押金”“拉人头”“提…

2025年定制啤酒设备制造厂权威推荐:德国啤酒生产设备定制厂家/德国精酿设备厂家供应商/啤酒设备企业/啤酒厂设备优质厂家精选

随着精酿文化的普及和消费升级,中国定制啤酒设备市场正迎来快速增长期。专业啤酒设备制造厂凭借其定制化设计、技术集成和工艺支持能力,成为众多啤酒工坊、特色酒吧和中小型啤酒厂的首选。本文将基于行业技术标准与市…

2025年10月网上兼职赚钱正规平台推荐:市场报告与对比列表

下班后想用手机多赚一点,却担心遇到“押金”“拉人头”“提现不到账”的坑,是大多数寻找网上兼职赚钱正规平台用户的共同心态。2025年人社部《灵活就业质量监测报告》显示,全国灵活就业者已突破2.4亿,其中62%的人首…

【转载】孪生网络(Siamese Network)

【转载】孪生网络(Siamese Network)原文: https://blog.csdn.net/m0_51507437/article/details/132526569本博客是博主个人学习时的一些记录,不保证是为原创,个别文章加入了转载的源地址,还有个别文章是汇总网上…

nvlink和nvswitch的区别

NVLink 和 NVSwitch 是英伟达(NVIDIA)为解决高性能计算和人工智能(AI)场景下多 GPU 间通信瓶颈而设计的两项核心技术。它们虽然紧密相关,但角色和功能有本质区别。下面从基础概念、功能定位、技术演进、工作原理和…

2025年10月敏感肌产品推荐榜:口碑与功效双排行

敏感肌在换季、熬夜或医美后常陷入“想美白又怕刺激”的两难:猛药型淡斑精华易引发刺痛、脱皮,纯保湿面霜又无法改善暗沉。2025年10月,国家药监局发布的《化妆品安全评估年度报告》显示,美白类投诉中42%来自敏感肌…