更新时间:2024-06-13 GMT+08:00
分享

OSC服务规范介绍

简介

云原生服务中心(Operator Service Center,OSC)服务规范旨在给出一种与云平台解耦的云原生服务的标准定义,可描述云原生服务在分布式云的部署和治理。

  • 部署:云原生服务中心联合华为云分布式服务UCS,能够将应用部署到华为云集群、多云集群、本地集群、附着集群、伙伴集群五种场景,实现应用的跨云和全域部署。
  • 治理:容器化只是服务云原生化的第一步,服务部署之后需要治理,不仅包括监控、日志、告警等基本运维能力,还包括弹性伸缩、数据备份恢复、故障迁移、故障恢复等高级运维能力,这些能力是服务高可靠、高可用、高SLA的必要条件。严重依赖云平台的能力,对开发者而言都是重复开发工作,高效快速地赋予服务这些能力是开发者面临的一个难题。

当前最常用的服务管理标准Helm和Operator都没有提供开箱即用的治理能力,为此华为云推出了云原生服务中心OSC,开发者基于服务规范和华为云OSC快速赋予服务全域部署能力和治理能力。

特性

云原生服务由业务功能和运维功能两部分组成,业务功能由开发者完成,运维能力可以由开发者自行提供,也可以直接接入OSC服务规范,托管于平台,让平台来提供。后者开发完成的服务,在OSC云平台可以确保业务功能正常并实现自动化运维。

核心特性
  • 指定部署平台:选择服务可部署的应用平台,支持云容器引擎、华为云UCS应用部署平台。
  • 声明式对接平台运维能力:在服务包中添加运维能力对应的配置文件,无需修改业务代码,就能对接监控、日志、弹性伸缩等运维能力。
  • 服务编排:可指定服务之间的拓扑依赖关系。
  • 兼容社区规范:全面兼容Helm和Operator Framework服务管理规范。
包含服务
  • 服务元数据Metadata:声明服务的核心数据,包括服务类型、支持架构、服务分类、使用场景等必要信息。
  • 资源集合Manifests:Resources资源定义的集合,对资源增强的服务能力配置,以及平台公共能力配置信息。
  • 第三方兼容Raw:兼容常用第三方服务管理标准,目前支持Helm规范。
  • 生命周期Lifecycle:声明服务包的安装、升级等有关服务包的生命周期等相关信息。
    图1 领域模型

    Raw目录下内容有且仅支持Helm类型服务的管理标准,即服务包类型为Operator,也可能存在Raw目录,但是会在服务包上传部署过程中将Raw目录及目录下内容进行忽略。

服务生命周期

服务包分为商品服务包和私有服务包。商品包只能由具备ISV资质的租户(服务提供商)进行发布,发布前需经过服务包格式校验、镜像扫描、镜像地址替换、服务自验证等流程,经审核后方可上架。上架后的服务可被其他租户(服务使用者)所使用。而私有包可以由任何一个租户发布,发布后仅由租户自己使用。

商品服务生命周期

  1. 服务提供商将服务包上传到华为云云市场,发布成为云市场的商品服务
  2. 服务使用者在云市场购买商品服务,该商品服务变成该用户的已订阅服务
  3. 服务使用者通过已订阅服务创建服务实例
  4. 服务使用者可对服务实例进行编辑、升级、监控等治理操作。
  5. 服务使用者可针对不需要的服务实例进行销毁。
    图2 商品服务生命周期

私有服务生命周期

  • 华为云租户将服务包上传为私有服务。
  • 华为云租户使用私有服务创建服务实例。
  • 华为云租户可对服务实例进行编辑、升级、监控等治理操作。
  • 华为云租户可针对不需要的服务实例进行销毁。
    图3 私有服务生命周期

术语

表1 主要术语

名称

介绍

服务包

符合OSC服务包规范的一系列文件聚合,分为公有包和私有包,分别由服务提供商和一般租户开发。

服务目录

OSC平台提供,对公共服务包进行聚合呈现。

公共能力

由OSC平台提供的监控、运维等能力,所有服务包均可通过在vendor目录中声明配置文件,使用公共能力。

订阅

对已发布的商品服务进行订阅,以备进行服务部署。

服务实例

用户通过部署服务后创建的实例。

自定义资源

服务开发者根据自身需求定制的Kubernetes资源对象。

自定义服务

OSC设计的通过声明式为CRD增强服务能力,包括能力引用,服务依赖,服务访问,交互体验等。

相关文档