rook-ceph CRD资源配置时效困难

news/2025/9/20 16:09:03/文章来源:https://www.cnblogs.com/tlnshuju/p/19102536

rook-ceph CRD资源配置时效困难

2025-09-20 16:05  tlnshuju  阅读(0)  评论(0)    收藏  举报

背景

编辑crd,短时间内更改的配置可以生效,长时间修改再加载的话会报错。

案例截图
在这里插入图片描述
在这里插入图片描述

原因

要理解 “编辑时间太久会报错,时间短不会”,需先明白 Kubernetes 的资源版本冲突机制:

核心原因:资源版本(resourceVersion)冲突

Kubernetes 用 resourceVersion 字段标记资源的 “版本”,确保多个操作不会互相覆盖。

1. 「时间短不报错」的逻辑

执行 kubectl get cephcluster … > cephcluster.yaml 时,会把集群中 CephCluster 的 *当前版本(含 resourceVersion) 保存到本地 YAML。

若编辑时间很短,集群中该资源的 resourceVersion 没被其他操作修改(比如没有其他人 / 程序修改 CephCluster)。

执行 kubectl apply 时,Kubernetes 会校验本地 YAML 的 resourceVersion 是否与集群最新版本一致 → 一致则允许更新。

2. 「时间久报错」的逻辑

若编辑时间过长,集群中的 CephCluster 资源已被其他操作修改(比如 Rook Operator 自动更新、其他同事修改),导致其 resourceVersion 发生变化。

此时本地 YAML 的 resourceVersion 是 “旧版本”,与集群最新版本不一致 → Kubernetes 拒绝更新,报错:
the object has been modified; please apply your changes to the latest version and try again

解决方法

每次修改前拉取最新版本

编辑前,先获取最新版本的资源 YAML,再修改:

kubectl get cephcluster rook-ceph -n rook-ceph -o yaml > cephcluster.yaml
(快速编辑 cephcluster.yaml)
kubectl apply -f cephcluster.yaml

若编辑时间不可避免很长,需在 apply 前重新拉取最新 YAML,将本地修改合并到最新版本后再提交。

简单说:时间久了资源被 “别人” 改了,Kubernetes 为了防止冲突,会拒绝基于旧版本的修改;时间短则资源没被改,所以能成功。

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

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

相关文章

实用指南:conda常见问题

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

关于1200模拟量输入滤波的问题

参考:为什么使用S7-1200模拟量输入模块时接收到变动很大的不稳定的值?unstable 参考:关于模拟量输入滤波的问题-SIMATIC S7-1500系列-找答案-西门子中国滤波周期设置和模拟量输入反馈速率有关!!! 调整为无时,可…

在Ubuntu 16.04上安装openjdk-6/7/8-jdk的步骤

由于Ubuntu 16.04的标准库可能不包含更早版本的OpenJDK,你可能需要添加额外的存储库或者下载特定的安装包。对于OpenJDK的这些旧版本,你可以使用Third-party PPA(个人软件包归档),或者从OpenJDK档案站点下载相应的…

物流行业信息咨询智能问答系统

物流行业信息咨询智能问答系统2025-09-20 15:58 dribs 阅读(0) 评论(0) 收藏 举报背景 练手rag项目 LLM都是基于过去的经验数据进行训练完成;无法处理获取实时的信息,需结合RAG实现;处理私域的数据 流程原理项目…

插座(SOCKET)

程序用来“上网说话”的工具。1:什么是套接字? 应用程序与网络协议栈之间进行数据收发的编程接口(API) 2.如何理解? 应用程序需要套接字才能接入网络,与其他计算机上的程序进行通信(插座---->电器需要插入插…

线性代数 行列式 | 子式 / 主子式 / 顺序主子式 / 余子式 / 代数余子式 - 教程

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

Red Hat 8.5.0-18 部署ceph文件系统 - 实践

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

kettle从入门到精通 第108课 ETL之kettle 国产麒麟系统安装kettle教程

场景:最近vip群小伙伴在国产麒麟系统安装kettle时遇到无法正常启动的问题,今天周末远程连麦小伙伴一起解决此问题,梳理成章,方便后续小伙伴。 1、报错信息 国产麒麟系统安装kettle时遇到无法正常启动,提示错误信息…

部署 Squid 代理服务

安装 Squid: sudo apt install squid编辑配置文件: sudoedit /etc/squid/squid.confhttp_port 3128启动 Squid 服务 sudo systemctl start squid sudo systemctl enable squid

k8s--etcd - 详解

k8s--etcd - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Cou…

HBase 的自带命令行工具 hbase shell 的基本使用

1. 进入 HBase Shell 首先,通过以下命令连接到您的 HBase 集群命令行界面: hbase shell 连接成功后,提示符会变为 hbase(main):001:0>,表示您已经可以在里面执行 HBase 专属命令了。 2. 查看集群状态和表列表(…

市场交易反心理特征之一:太过完美而不敢买入

市场交易的最大特点就是“反心理”性。经常盘后看起来非常简单的事情,在盘前、盘中都会变得莫名复杂。明明盘前根据自己的交易策略可以轻松选出的牛股,开盘后没买,买了另一个,结果牛股涨停,买的票要么下跌,要么不…

3peak DCDC转换芯片选型列表

Part Number Subcategory VIN (V) Output (V) Max Output Current (A) PackageTPE15017 以太网供电 24~57 / / QFN3X4-19TPM1525 功率级DrMOS 7~140 / 1 SOP8TPM6501 隔离电源 2.5~25 / 1 SOT23-5TPM6501Q 隔离电源 2.…

重塑公司绩效管理的 6 种方法

有远见的公司开始了解绩效管理的真正潜力。通过将传统绩效管理转变为持续绩效管理——建立在定期签到、持续反馈和认可时刻的基础上——公司可以通过让员工发挥最大潜力来优化绩效。 1、通过真实和积极的文化建立信任基…

详细介绍:从“下山”到AI引擎:全面理解梯度下降(上)

详细介绍:从“下山”到AI引擎:全面理解梯度下降(上)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas&…

flask下的MySQL增删改查

flask下的MySQL增删配置 添加数据 @app.route(/add) def add_data():u = UserInfo()new_user1 = UserInfo(nickname=flask_test1, mobile=13888888888, signature=理想, create_time=datetime.now(), role_id=1)new_us…

tips图解数组名与指针的关系

在图解前需要先了解一下数组退化为指针的相关内容,下面先陈述数组退化为指针的概念、本质、以及什么情况下数组会退化为指针,什么情况下不会 概念定义 "数组名退化为指针"是C/C++语言中的一个重要特性,指…

Confluent-Kafka-go 发布超过 1M 消息失败困难克服

Confluent-Kafka-go 发布超过 1M 消息失败困难克服2025-09-20 15:34 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; displ…

mysql查看数据库大小,可以通过查询系统表来实现

要查看 MySQL 数据库的大小,可以通过查询系统表 information_schema.tables 来实现,以下是具体方法:查看所有数据库的大小 sql SELECT table_schema AS 数据库名, ROUND(SUM(data_length + index_length) / 1024 / …

TPP21206替代MPQ8633,12A电流同步降压DCDC

TPP21206是2.7V至16V输入,集成远端反馈和精确电流保护的同步降压变换器,稳态可持续输出12A的负载电流,广泛应用于服务器、交换机和光模块等应用中。TPP21206采用了思瑞浦自主研发的定频COT控制架构,在实现传统自适应…