检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
制作服务包目录 新建一个文件夹,可任意命名,以etcd服务为例,暂定命名为etcd,在etcd文件夹下创建两个子目录,分别命名为package,images。 etcd | --- package | --- images 父主题: 制作流程
服务包扩展目录 运维能力是在OSC服务规范基础上产生的能力,因此如果需要对接运维能力,需要先确保服务包的格式转换为OSC自身的规范才行,默认的开源规范当前只支持安装部署等基本功能。 运维能力扩展 为了保证适用OSC的服务规范,将使用oscctl工具作为创建、转换OSC服务包,并且统一服务包格式。使用oscctl
第三方目录Raw 第三方目录:{OSC-Package}/raw。raw目录下会包含原始Helm包的内容。其他类型服务包不存在该目录。 {OSC-Package}/ ├─ metadata.yaml #【必选】元数据文件 ├─ manifests/
服务包目录结构约束 OSC作为一个服务生命周期管理平台,有自定义的服务模型,服务需满足目录格式要求才能被OSC解析,发布到OSC上。 {ServiceName}-{Version}.zip #【必选】服务包 └─{ServiceName}/
放置镜像到images目录 images目录下存放服务部署时需要的所有镜像。以etcd为例,etcd服务包含x86和ARM两种CPU架构的镜像,分别叫etcd-3.5.0-x86_64.tar,etcd-3.5.0-aarch64.tar,那么目录结构为: etcd/ |
服务使用者通过已订阅服务创建服务实例。 服务使用者可对服务实例进行编辑、升级、监控等治理操作。 服务使用者可针对不需要的服务实例进行销毁。 图2 商品服务生命周期 私有服务生命周期 华为云租户将服务包上传为私有服务。 华为云租户使用私有服务创建服务实例。 华为云租户可对服务实例进行编辑、升级、监控等治理操作。
自定义服务CSD 在不同业务环境下,服务对平台有着不同的诉求,Kubernetes提供自定义资源CRD的轻量化机制。而在实践过程中,发现对于服务能力如服务依赖、服务访问、服务部署、监控日志等公共能力欠缺。 因此围绕CRD自研CSD,通过声明式配置CRD的能力引用,增强服务治理能力。
服务包镜像名称约束 镜像目录存放部署目录中需要使用到的镜像文件,镜像文件以tar格式存储。镜像文件命名规范只允许包含大小写字母、数字、下划线、中划线及点,且不能以下划线、中划线及点结尾。 images目录下存放服务运行所需的容器镜像,根据服务实际情况确定支持单CPU架构还是多CPU架构:
自定义资源CRD 自定义资源CRD是Kubernetes服务遵循,一个自定义资源对应一个目录,遵循Kubernetes CRD规范,详细介绍参考官方CustomResourceDefinition。 父主题: 资源集合Manifests
clusterserviceversion.yaml中的配置,在部署服务实例时,拉取镜像会失败。 标识服务来源 OSC提供来自开源、华为自研以及生态伙伴的服务,生态伙伴需要在服务包中固定字段进行标记说明服务来自生态伙伴。 operator服务 以etcd operator为例,etcdoperator
为服务的一个实例,一个服务可以拥有多个实例。 集群 集群指容器运行所需要的云资源组合,关联了若干云服务器节点、负载均衡等云资源。您可以理解为集群是“同一个子网中一个或多个弹性云服务器(又称:节点)”通过相关技术组合而成的计算机群体,为容器运行提供了计算资源池。 命名空间 命名空间
vendor目录 公共能力目录:{OSC-Package}/manifests/vendor,用于存放平台提供的能力配置文件,用于manifests目录中的CRD引用。 公共能力目录结构: {OSC-Package}/ ├─ metadata.yaml ├─ manifests/
图1 服务部署流程 操作步骤 查找服务。 登录OSC控制台,可以使用服务目录页面顶部的搜索框,按照服务名称查询所需的服务。 如果不确定服务名,在服务目录页面单击“更多服务”,按照服务类型、应用场景等条件来筛选。OSC提供以下筛选条件,帮助用户快速获取所需服务。 表1 筛选条件
服务包规范 本规范主要面向对象为初次开发的服务以及想要使用OSC平台提供的附加能力进行规范转换的服务。 如果开发者已有或仅想使用Helm/Operator-Framework规范的服务,可以直接参考章节开源服务包规范。 OSC服务包介绍 元数据Metadata 资源集合Manifests
修改服务包内容 修改lifecycle.yaml文件。该文件包括OSC服务包的生命周期的相关信息,例如:安装方式、安装时需要的集群/命名空间级别权限、日志目录等。 install: clusterPermissions: # 集群级别权限,请按照Kubernetes RABC相关规范填写
表1 资源集合结构 目录或文件名称 描述 必选 xxx_crd.yaml 服务包的资源,例如kafka、redis,一个服务包可以包含一个或者多个具体资源目录。 是,至少一个 xxx_csd.yaml 自定义服务文件,每个csd文件对应于一个crd文件。 否 公共能力目录 公共能力目
如何配置监控 使用前提 对接监控,需要在csd.yaml文件中配置能力插件依赖功能声明,具体参考服务包扩展目录 capabilityRequirements示例 对接原理 开源的Prometheus是目前业界广泛应用的监控指标采集系统,其服务端可作为时间序列数据库,采集客户端应用
制作流程 制作服务包目录 放置镜像到images目录 打包到package目录 替换镜像地址配置 父主题: 服务包制作
on集群服务版本文件,可多个。 └─ xxx_crd.yaml #【必选】CustomResourceDefinition自定义资源定义文件,可多个。 更多介绍参见官网Operator Framework。 接入规范说明 父主题: 开源服务包规范
对接运维能力(可选) 服务包扩展目录 如何配置监控 对接配置日志 对接实例升级能力 父主题: 服务接入