配置、文件与交付
本文面向运维人员,说明如何用 Beacon v2 管理配置和文件,并通过变更单把它们安全交付到 Agent。业务插件不应直接调用控制面 HTTP;它们应使用本机 Agent API,见 业务插件 SDK。
版本边界:本文以 v2 为准。
/admin/v1的旧配置、文件树和覆盖集 API 仅为兼容参考,不能与 v2 的配置文件、文件资产、变更单混在一次发布中。
1. 先理解三类对象
| 对象 | 用途 | 是否直接改目标服 |
|---|---|---|
| 配置文件 | 受五层作用域覆盖的文本配置 | 否,先形成版本 |
| 文件资产 | Agent 扫描上报的本机文件清单 | 否,只读索引、预览与对比 |
| 变更单 | 把配置工件或文件差异投放到选定服务器的发布单元 | 是,由 Agent 执行 |
配置的作用域从低到高为:namespace → BCCluster → Region → Zone → server。相同配置文件在更具体层会覆盖更宽泛层;先使用有效预览确认结果,再创建交付。
2. 配置文件操作
- 在管理台的「配置」选择 namespace,并新建或打开目标配置文件。
- 选择要写入的作用域。全局默认放在 namespace;只针对某个小区或单服的差异放到 Zone 或 server,避免复制整份文件。
- 编辑前查看当前版本、历史版本和 Diff;保存时填写可追溯的变更说明。
- 运行格式/结构校验。校验失败先修复内容,不能以跳过校验的方式发布。
- 在「有效预览」选择一个实际目标服务器,核对合并后的内容、来源层和被删除的键。
- 如需撤销尚未交付的版本,使用该文件的版本回滚;已交付的变 更应按变更单回滚,不要手工覆写目标服文件。
建议把一项业务变更拆成小且可解释的配置版本。敏感值不要写入截图、审计备注、工单或 Wiki;需要保存敏感配置时,先确认控制面已按部署要求配置静态加密和密钥管理。
3. 文件资产与受管文件
Agent 可按本地 assets.enabled 和扫描周期上报 plugins 目录及服务器根目录的文件清单。它用于盘点、跨服比较和受控发布前的事实确认。
- 在「文件资产」按 namespace、服务器或路径搜索;先检查扫描时间和状态,过期时请求重新扫描。
- 用预览和比较确认内容、哈希、大小及差异范围。二进制或敏感文件应只查看允许的摘要/脱敏预览。
- 需要纳管的现存文件,先以受控导入或审核流程创建文件差异;不要在多台机器上手工复制后再假定内容一致。批量导入单次最多 2000 个文件(每文件需配一条等长的相对路径,两者按提交顺序一一对应);超限返回
422并带上限数字,数量不一致会报出两个实际数量——据此判断是拆批还是修表单。 - 对第三方插件的覆盖或重载,只能使用经过审批的变更单。Agent 本地
override.command-whitelist为空时不会执行任何重载命令;不要为方便而放宽白名单。
文件资产索引是只读事实,不等于文件已被 Beacon 托管。仅当变更单明确包含文件差异或配置工件时,才会写入目标 Agent。