Couchbase 使用 CAO 暂停门进行升级:支持友好的概述
使用 CAO 本机暂停门、运行状况检查和 XDCR 感知监控进行受控滚动升级
如果您支持 Couchbase 平台(或者当没有行为时您会收到传呼),升级可能感觉像是在“放手和希望”与“手动和冒险”之间进行选择。这篇文章抓住了一个务实的中间立场:控制滚动升级,用于在Couchbase 自治操作员 (CAO)下运行的 Couchbase 服务器,由 CAO 的本机spec.paused字段调整。
这是谁的
- 技术支持/事件响应者:在交换重新平衡期间“正常”是什么样子以及什么被视为危险信号。
- SRE / 平台工程师:可重复程序,具有预检检查、浸泡门和回滚触发器。
- 数据库工程师:重新平衡期望、XDCR 行为和升级后验证。
- 开发人员:您的平台在维护时段期间正在执行哪些操作(以及您应该发出警报的内容)。
典型 CAO 托管拓扑(概念性)
下图是操作手册的思维导图:操作员所在的位置、CouchbaseClusterCR 控制的内容以及在升级过程中应关联哪些信号。
大创意:使用暂停门调整 CAO
CAO 通过交换重新平衡执行滚动升级。该运行手册特意添加了一个安全门:暂停节点之间的协调、稳定、验证运行状况,然后恢复。这样,如果节点 N 在交换后出现异常行为,您可以在节点 N+1 启动之前捕获它。
为什么暂停门值得
- 更少的惊喜:将症状隔离到单个节点更改。
- 更清晰的信号:将延迟、错误率、重新平衡状态和 XDCR 滞后与一次交换相关联。
- 更安全的推出:在您调查时握住
spec.paused=true,可以快速停止“传送带”。
升级过程中“好”的样子
- Pod 映像:旧→新逐步;最好一次交换一个。
- 集群阶段:在交换之间经常返回到
Available;预计再平衡期间会出现短暂的过渡。 - XDCR(如果启用):
changes_left在重新平衡期间上升,然后在稳定期间耗尽。 - 重新启动:新 Pod 从
RESTARTS=0开始。任何增加都是暂停和调查的信号。
预检检查可在以后为您节省
在您进行任何操作之前,请确保集群为绿色(无主动重新平衡,无警告事件),备份是当前的和可恢复的,并且您已记录回滚映像标签。预先决定您的 XDCR 策略:在升级期间禁用以获得更安静的生产信号,继续在预生产中运行以练习实际行为,或使用第三个备用集群进行战略切换。
回滚现实检查
成熟运行手册大声说出的令人不安的事实:只有在至少一个节点仍保留在旧版本上时,回滚才有可能实现。一旦每个 Pod 都被交换并且集群完全重新平衡,“降级”就可以变成“从备份恢复”。这就是节奏很重要的原因:它可以让回滚窗口保持更长时间的打开状态。
Next steps
- Read the full operational guide:Couchbase Server rolling upgrade under CAO (paced + pause gate)
- Related background:Couchbase high availability in production (XDCR + Kubernetes operator)