Skip to content

配置集合管理:控制台管理 ​

场景说明 ​

在企业环境中,通常存在业务部门与运维部门的职责分离:

  • 业务部门负责业务需求,需要创建虚拟服务、服务器池等资源,但出于安全考虑,不应直接登录矩尺管理节点操作。
  • 运维部门负责平台的安全稳定运行,但面对大量业务部门的资源申请,逐一代为配置不仅繁琐,而且对业务细节并不了解。

配置集合管理正是为解决这一矛盾而设计:业务部门按照约定的格式编写 YAML/JSON 配置文件,交由运维部门上传到配置集合,一键同步即可自动创建所有资源。运维部门无需了解业务具体内容,业务部门也无需直接接触管理节点。

工作流程 ​

业务部门                          运维部门                        矩尺平台
   │                                 │                             │
   ├─ 按规则编写 YAML 配置文件 ──────→│                             │
   │   (health.yaml 定义健康检查)     │                             │
   │   (pool.yaml 定义服务器池)       │                             │
   │   (vs.yaml 定义虚拟服务)         │                             │
   │                                 ├─ 创建配置集合               │
   │                                 ├─ 上传 YAML 文件             │
   │                                 ├─ 点击"立即同步" ────────────→│
   │                                 │                             ├─ 自动解析依赖关系
   │                                 │                             ├─ 创建健康检查策略
   │                                 │                             ├─ 创建服务器池
   │                                 │                             └─ 创建虚拟服务
   │                                 │                             │
   │◄─ 测试业务,验证虚拟服务已生效 ──│                             │

配置文件格式 ​

支持 YAML、JSON、JSONC,每个文件以受支持的 API 资源路径为顶层键,值为资源对象列表。字段以目标管理节点的 API 文档为准;配置集合使用名称引用关联资源,不能直接把其他环境的对象 ID 当作引用。

最小配置示例 ​

yaml
"/slb/addr/":
  - name: "portal-addresses"
    content:
      - "192.0.2.10"
      - "198.51.100.0/24"

这是文档专用地址示例,使用前修改为实际配置。也可下载 Jenkins 指南中的 addr.yaml。一个文件可定义同类多个资源;按业务拆成多个文件更便于管理。顶层使用 health_check:、pool: 或 virtual_service: 的普通对象格式不符合配置集合格式。

资源关联 ​

定义资源配置集合顶层键关联字段示例
健康检查/slb/health_check/按名称供服务器池引用
服务器池/slb/upstream_pool/health_check_names 引用健康检查名称
七层分发规则/slb/l7_dispatch_rule/upstream_pool_name 或 static_resource_name
虚拟服务/slb/virtual_service/default_profile 内的 upstream_pool_name、static_resource_name 等;dispatch_rules_conf 按名称关联规则
目录映射静态资源/slb/static_resource/name、map_dir

表中仅列关联字段,不是完整资源定义;协议、监听、承载引擎和策略等必填字段按当前 API 文档准备。名称必须能在当前租户已有资源或本次集合中解析。系统按资源类型依赖处理配置,不使用 ./文件名#/路径 的 $ref 文件引用语法。

配置集合定义静态资源时仅支持目录映射,不上传压缩包文件。上传包型资源先由静态资源 API 创建,并完成普通虚拟服务/分发规则关联和承载引擎登记,再用于日常脚本发布。首次关联、新增承载引擎及两类资源的发布差异见 Jenkins 管理配置集合与静态资源。

操作步骤 ​

第一步:创建配置集合 ​

入口:【平台系统 → 配置管理 → 配置集合管理】。

点击"新增",输入配置集合的名称(如 c1),点击确定。

新增配置集合

第二步:上传配置文件 ​

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

上传配置集合文件

可以一次上传一个文件,也可以将多个文件逐个上传到同一个配置集合中。

第三步:同步配置 ​

上传完成后,返回配置集合列表。找到对应的配置集合,点击右侧 "立即同步" 按钮。

同步配置集合

系统将自动执行以下操作:

  1. 解析依赖关系 — 按资源类型和名称引用确定处理顺序
  2. 语法校验 — 检查每个文件的格式和字段合法性
  3. 创建或更新资源 — 按依赖顺序处理配置,再向转发引擎发布;失败时查看同步消息及实际业务状态
  4. 返回同步结果 — 显示同步状态和耗时

注意:如果配置集合内的文件依赖关系不全(如引用了不存在的资源)或语法验证失败,系统将拒绝执行同步,并提示具体错误信息。

理解同步状态 ​

状态含义说明
待同步文件已上传或发生变动,尚未同步新增文件后自动进入此状态
同步中正在执行同步操作此时不可重复点击
同步成功(未检测到资源变动)文件内容与上次同步时无变化系统跳过执行,无需处理
同步成功(耗时 X.X 秒)所有资源创建成功业务部门可开始测试
同步失败:<变更执行失败>文件解析成功,但资源创建时发生冲突检查资源是否已存在或有冲突
同步失败:<具体错误>权限、依赖、格式等校验未通过根据错误提示修正文件后重新同步

其他字段说明:

  • 最近修改时间:配置集合内上次创建或删除文件的时间。
  • 最近执行时间:上次点击"立即同步"的时间。如果系统检测到文件未发生变化,点击同步不会实际执行,执行时间也不会更新。

常见场景 ​

场景一:业务部门独立编写配置 ​

业务部门按照 API 文档格式编写 YAML 文件,在自己的环境中通过语法校验后,将文件包发给运维部门。运维部门直接上传并同步,全程无需理解业务含义。

场景二:增量更新已有资源 ​

如需修改已有资源(如调整服务器池节点),只需更新对应的 YAML 文件内容,然后重新上传并同步。系统会识别变更并执行更新。

场景三:删除资源 ​

如需删除通过配置集合创建的虚拟服务,只需从配置集合中删除对应的 vs.yaml 文件,然后点击"立即同步",系统会自动删除对应的虚拟服务资源。

注意:删除文件后同步,会删除之前通过该文件创建的资源。请谨慎操作。

场景四:多个业务共享运维 ​

运维部门可以为每个业务部门或项目创建独立的配置集合(如 c1、c2、c3),每个集合内包含各自业务的配置文件,互不干扰,统一管理。

最佳实践 ​

  1. 一个文件定义一个资源:每个 YAML/JSON 文件只定义一个资源,便于维护和复用
  2. 合理命名:配置集合和文件的命名应体现用途,如 production-vs.yaml、staging-pool.yaml
  3. 先校验后同步:在上传前确认 YAML 格式正确,缩进规范
  4. 关注同步结果:同步失败时查看错误信息,根据提示修正后重新同步
  5. 测试验证:同步成功后通知业务部门验证,确保资源按预期生效

相关文档 ​