DR 容灾etcd-sync 动态 ConfigMap 迁移
etcd-sync 动态 ConfigMap 迁移
主题入口,串起 handbook 与 spec
etcd-sync 动态 ConfigMap 迁移
把原先集中在默认规则 ConfigMap 里的产品规则,迁移到产品各自维护、运行时动态加载的 ConfigMap。
文档地图
按角色找入口:
| 角色 | 该读哪一篇 |
|---|---|
| 准备做迁移的产品 | migration-handbook.md |
| 想确认本产品要迁哪些规则 | ownership-migration-inventory.md |
| 写规则或做 Agent 消费的规则提供方 | provider-spec.md |
不确定先看哪份时,按以下顺序读:
ownership-migration-inventory.md——先确认本产品在迁移清单里的边界,以及尚未归属的<Unknown>项migration-handbook.md——再走一遍迁移步骤provider-spec.md——做实现或自动化时回头校对字段语义
一页速查
关键约定:
| 项目 | 取值 |
|---|---|
| 启用标签 | etcd-sync.cpaas.io/enabled: "true" |
| 优先级注解 | etcd-sync.cpaas.io/weight(非负整数,越大越高,默认 0) |
| 排序 | weight 降序,namespace/name 升序 |
| 状态回写字段 | status / message / observed-weight / observed-hash / processed-at |
| 共享快照对象 | etcd-sync-rule-snapshot,数据键 snapshot.json |
| 默认规则来源 | etcd-sync-ignore-text |
关键问答:
| 问题 | 答案 |
|---|---|
| 规则从哪里迁出 | 默认规则来源 etcd-sync-ignore-text |
| 规则迁到哪里 | 产品自己的 ConfigMap |
| 怎么生效 | 加上启用标签,运行时自动发现 |
| 多个来源谁先生效 | 先比 weight,相同再比 namespace/name |
| 都没命中怎么办 | 默认忽略 |
| 新版本规则非法怎么办 | 拒绝当前版本,上一版成功内容继续生效 |