配置集合管理
场景说明
在企业环境中,通常存在业务部门与运维部门的职责分离:
- 业务部门负责业务需求,需要创建虚拟服务、服务器池等资源,但出于安全考虑,不应直接登录矩尺管理节点操作。
- 运维部门负责平台的安全稳定运行,但面对大量业务部门的资源申请,逐一代为配置不仅繁琐,而且对业务细节并不了解。
配置集合管理正是为解决这一矛盾而设计:业务部门按照约定的格式编写 YAML/JSON 配置文件,交由运维部门上传到配置集合,一键同步即可自动创建所有资源。运维部门无需了解业务具体内容,业务部门也无需直接接触管理节点。
工作流程
业务部门 运维部门 矩尺平台
│ │ │
├─ 按规则编写 YAML 配置文件 ──────→│ │
│ (health.yaml 定义健康检查) │ │
│ (pool.yaml 定义服务器池) │ │
│ (vs.yaml 定义虚拟服务) │ │
│ ├─ 创建配置集合 │
│ ├─ 上传 YAML 文件 │
│ ├─ 点击"立即同步" ────────────→│
│ │ ├─ 自动解析依赖关系
│ │ ├─ 创建健康检查策略
│ │ ├─ 创建服务器池
│ │ └─ 创建虚拟服务
│ │ │
│◄─ 测试业务,验证虚拟服务已生效 ──│ │配置文件格式
配置文件采用 YAML 或 JSON 格式,每个文件对应一种资源类型。文件通过 ref 引用机制互相依赖,实现资源间的关联。
YAML 文件的具体字段定义(如健康检查的参数、服务器池的节点配置等)请参考矩尺平台内置的 API 文档(登录管理节点后点击导航栏右侧的链接按钮打开),所有字段与 API 接口一一对应。
文件依赖示例
以下三个文件展示了从健康检查 → 服务器池 → 虚拟服务的完整链路:
health.yaml — 定义健康检查策略
# 创建健康检查策略,被 pool.yaml 引用
health_check:
name: "health-check-api"
type: HTTP
http:
host: "example.com"
method: GET
url_path: "/health"
expect_code: 200
interval: 5
timeout: 3
tries: 3pool.yaml — 定义服务器池
# 创建服务器池,引用 health.yaml 中定义的 health_check
pool:
name: "pool-api"
algorithm: "round_robin"
health_check:
$ref: "./health.yaml#/health_check" # 引用 health.yaml 中的健康检查
nodes:
- ip: "192.168.1.10"
port: 8080
weight: 1
- ip: "192.168.1.11"
port: 8080
weight: 1vs.yaml — 定义虚拟服务
# 创建虚拟服务,引用 pool.yaml 中定义的 pool
virtual_service:
name: "vs-api"
mode: "http"
listen:
- ip: "0.0.0.0"
port: 80
server_pool:
$ref: "./pool.yaml#/pool" # 引用 pool.yaml 中的服务器池引用规则:
- 使用
$ref语法引用同一配置集合内其他文件定义的资源- 引用路径格式为
./文件名#/资源路径- 系统自动解析依赖关系,按正确的顺序创建资源
- 如果 A 依赖 B,则只需将 A 和 B 上传到同一个配置集合即可,系统会先创建 B 再创建 A
操作步骤
第一步:创建配置集合
入口:【平台系统 → 配置管理 → 配置集合管理】。
点击"新增",输入配置集合的名称(如 c1),点击确定。

第二步:上传配置文件
- 在配置集合列表中,点击刚创建的配置集合名称,进入详情页面。
- 点击"上传"按钮,选择业务部门提供的 YAML/JSON 文件。
- 支持
.yml、.yaml、.json、.jsonc格式文件。

可以一次上传一个文件,也可以将多个文件逐个上传到同一个配置集合中。
第三步:同步配置
上传完成后,返回配置集合列表。找到对应的配置集合,点击右侧 "立即同步" 按钮。

系统将自动执行以下操作:
- 解析依赖关系 — 分析各文件间的
$ref引用,确定创建顺序 - 语法校验 — 检查每个文件的格式和字段合法性
- 逐个创建资源 — 按依赖顺序依次创建,任一资源创建失败则整个变更回滚
- 返回同步结果 — 显示同步状态和耗时
注意:如果配置集合内的文件依赖关系不全(如引用了不存在的资源)或语法验证失败,系统将拒绝执行同步,并提示具体错误信息。
理解同步状态
| 状态 | 含义 | 说明 |
|---|---|---|
| 待同步 | 文件已上传或发生变动,尚未同步 | 新增文件后自动进入此状态 |
| 同步中 | 正在执行同步操作 | 此时不可重复点击 |
| 同步成功(未检测到资源变动) | 文件内容与上次同步时无变化 | 系统跳过执行,无需处理 |
| 同步成功(耗时 X.X 秒) | 所有资源创建成功 | 业务部门可开始测试 |
| 同步失败:<变更执行失败> | 文件解析成功,但资源创建时发生冲突 | 检查资源是否已存在或有冲突 |
| 同步失败:<具体错误> | 权限、依赖、格式等校验未通过 | 根据错误提示修正文件后重新同步 |
其他字段说明:
- 最近修改时间:配置集合内上次创建或删除文件的时间。
- 最近执行时间:上次点击"立即同步"的时间。如果系统检测到文件未发生变化,点击同步不会实际执行,执行时间也不会更新。
常见场景
场景一:业务部门独立编写配置
业务部门按照 API 文档格式编写 YAML 文件,在自己的环境中通过语法校验后,将文件包发给运维部门。运维部门直接上传并同步,全程无需理解业务含义。
场景二:增量更新已有资源
如需修改已有资源(如调整服务器池节点),只需更新对应的 YAML 文件内容,然后重新上传并同步。系统会识别变更并执行更新。
场景三:删除资源
如需删除通过配置集合创建的虚拟服务,只需从配置集合中删除对应的 vs.yaml 文件,然后点击"立即同步",系统会自动删除对应的虚拟服务资源。
注意:删除文件后同步,会删除之前通过该文件创建的资源。请谨慎操作。
场景四:多个业务共享运维
运维部门可以为每个业务部门或项目创建独立的配置集合(如 c1、c2、c3),每个集合内包含各自业务的配置文件,互不干扰,统一管理。
最佳实践
- 一个文件定义一个资源:每个 YAML/JSON 文件只定义一个资源,便于维护和复用
- 合理命名:配置集合和文件的命名应体现用途,如
production-vs.yaml、staging-pool.yaml - 先校验后同步:在上传前确认 YAML 格式正确,缩进规范
- 关注同步结果:同步失败时查看错误信息,根据提示修正后重新同步
- 测试验证:同步成功后通知业务部门验证,确保资源按预期生效
