用途:管理 CockroachDB 各部署层级的计划性集群维护。自托管(Self-Hosted)由用户自行排空并重启节点,用于操作系统补丁、硬件更换、配置更新;Advanced/BYOC 由 Cockroach Labs 在维护窗口内滚动应用补丁,用户负责配置窗口、延期策略与监控;Standard/Basic 为全托管,无需客户操作。
主要能力:按层级路由维护流程;自托管提供维护前检查(节点存活、排空状态、副本不足、版本一致性、运行中作业、存储利用率)、节点排空、停止/维护/重启、重启后验证与存储维护(ballast 文件、磁盘利用率);Advanced/BYOC 提供维护窗口配置、补丁延期(30/60/90 天)、维护期间监控与云厂商可见性;Standard/Basic 说明预期行为与应用准备。
必要用法:自托管排空前运行 cockroach node status --decommission --certs-dir=<certs-dir> --host=<any-live-node>,确认无 is_live=false、is_draining=true、ranges_underreplicated>0 及多版本并存;排空用 cockroach node drain --self --certs-dir=<certs-dir> --host=<node-address>,长查询可加 --drain-wait=60s;Kubernetes 用 kubectl delete pod <pod-name> 或 kubectl rollout restart statefulset cockroachdb;systemd 用 sudo systemctl stop/start cockroachdb;手动进程用 kill -TERM,避免 kill -9。Advanced/BYOC 在 Cloud Console → Cluster → Settings → Maintenance 设置每周 6 小时窗口,Upgrades 中设置延期。
适用场景:操作系统补丁、硬件变更、配置更新、补丁延期、维护窗口配置、维护期间监控与应用准备。
限制:自托管一次只排空一个节点,排空开始后不可取消;单节点集群维护期间会停机;延期仅推迟不跳过;BYOC 不得修改 CRL 管理的资源;Standard/Basic 无维护窗口可配。永久移除节点、健康检查、版本升级请使用相关技能。部分细节(如具体价格、平台支持范围)暂未提供。