服务目录API集成与平台门户基线校验 - 第1节

1.1 Service Catalog 定义

Service Catalog(服务目录)是云平台中面向最终用户和运维团队提供的标准化服务清单。它将底层复杂的资源编排、网络配置、中间件部署等操作封装为可被直接请求和消费的“服务项”,用户无需关心实现细节,只需通过门户选择所需服务并提交请求即可。

核心定义:Service Catalog 是一组经过审批、版本化、可重复部署的云服务模板集合,配合自动化引擎实现服务的“请求—审批—交付—回收”全生命周期管理。

1.2 核心价值

价值维度 说明 典型场景
标准化 消除“手工配置漂移”,所有服务按统一模板交付 开发环境统一使用 CentOS 7.9 + JDK 11 镜像
自助化 用户通过门户自行选择、配置并申请服务,无需联系管理员 业务线自助申请 4C8G 云主机,30 秒内完成
治理合规 内置审批流、配额限制、标签策略,确保资源合规使用 生产环境必须经二级审批且绑定安全组
效率提升 从“天级”人工交付变为“分钟级”自动化交付 数据库实例创建从 2 天缩短至 15 分钟
成本可追溯 每笔服务请求关联项目/成本中心,便于费用分摊 月度账单按部门展示资源消耗明细

1.3 在云平台中的角色

Service Catalog 在云平台整体架构中处于“承上启下”的关键位置:

  • 对上:对接云门户/自服务界面,提供统一的 API 接口供前端调用。
  • 对中:管理服务模板、版本、参数、审批策略和配额规则。
  • 对下:调用编排引擎(如 Terraform、Ansible、CloudFormation)或直接调用 IaaS/PaaS API 完成资源创建。
Service Catalog 在云平台中的角色 Service Catalog 在云平台中的角色 云门户 / 自服务界面 Service Catalog 核心层 模板管理 · 版本控制 · 审批流 · 配额 · 标签 编排引擎 Terraform / Ansible IaaS / PaaS API vSphere / OpenStack / K8s CMDB 配置项同步 说明: Service Catalog 作为中间层,向上屏蔽底层差异,向下统一调度多种资源池。 所有服务实例创建完成后,自动向 CMDB 同步配置项信息。

1.4 与 CMDB 的关系

CMDB(配置管理数据库)是记录 IT 环境中所有配置项(CI)及其关系的数据库。Service Catalog 与 CMDB 之间是“事前定义”与“事后记录”的协作关系:

对比维度 Service Catalog CMDB
定位 服务交付的“蓝图”和“入口” 服务运行后的“资产台账”
数据产生时机 服务申请前(模板定义阶段) 服务交付后(实例运行阶段)
核心数据 服务模板、参数、版本、审批策略 主机、数据库、中间件、网络等 CI 及其关系
变更驱动 用户请求触发服务创建/变更 自动发现或 Service Catalog 回调更新
典型交互 用户选择“MySQL 5.7 主从”模板并提交 记录该实例的 IP、端口、版本、所属项目
最佳实践:Service Catalog 在完成资源交付后,应通过回调接口或消息队列将实例信息(IP、主机名、规格、标签)自动写入 CMDB,确保 CMDB 数据实时准确。反之,CMDB 中的资源生命周期状态(如“已回收”)也应反馈给 Service Catalog,避免已释放的服务仍被展示为可用。
Service Catalog 与 CMDB 协作流程 Service Catalog 与 CMDB 协作流程 用户 Service Catalog 模板匹配 审批 · 配额校验 调用编排引擎 资源池 CMDB 自动发现 回调写入 状态同步 生命周期状态反馈(已回收/变更) 关键协作点: ① 服务交付后,Catalog 回调 CMDB 写入 CI 信息;② CMDB 发现资源变更或回收后,通知 Catalog 更新服务实例状态。
常见误区:不要试图用 Service Catalog 替代 CMDB,也不要将 CMDB 作为服务模板的存储库。两者职责不同:Catalog 管“怎么建”,CMDB 管“建了什么”。混淆职责会导致模板管理混乱、配置项数据失真。