检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
int32 `json:"size"` // Hwfka 应用包含的 broker 数量 Image string `json:"image"` // Hwfka 镜像地址 Storage *StorageSpec `json:"storage"`
OSC服务规范介绍 简介 云原生服务中心(Operator Service Center,OSC)服务规范旨在给出一种与云平台解耦的云原生服务的标准定义,可描述云原生服务在分布式云的部署和治理。 部署:云原生服务中心联合华为云分布式服务UCS,能够将应用部署到华为云集群、多云集群
yaml #【必选】参数值文档,为templates下的文档配置参数值 ├─ values.schema.json #【可选】一个使用JSON结构的values.yaml文件 ├─ charts/ #【可选】包含chart依赖的其他chart
CRD典型格式 以v1版本为例: apiVersion: apiextensions.k8s.io/v1 # 创建 CRD kind: CustomResourceDefinition metadata: # 名称必须采用复数 <plural-name>.<group>.<domain>
Chart.yaml │ ├─ values.yaml │ ├─ values.schema.json │ ├─ charts/ │ └─ templates │ └─ xxx
{Helm}/ ├─ Chart.yaml ├─ values.yaml ├─ values.schema.json ├─ charts/ └─ templates └─ xxx.yaml 经转换后的OSC服务包结构
ClusterServiceVersion metadata: annotations: alm-examples: {xxx} # json结构体,用于描述文件的cr内容 categories: Big Data description: An example
服务包目录结构约束 OSC作为一个服务生命周期管理平台,有自定义的服务模型,服务需满足目录格式要求才能被OSC解析,发布到OSC上。 {ServiceName}-{Version}.zip #【必选】服务包 └─{ServiceName}/
CRD介绍 CRD(CustomResourceDefinition)是一种自定义的Kubernetes资源,在定义CRD后,可通过在集群内创建对应 CR(CustomResource)对应用进行统一管理。格式示例请参见CRD典型格式。 OpenAPI校验 在定义CRD时,需同时
约束与限制 集群限制 使用OSC部署服务前,您需要创建或已有一个可用的CCE集群,并确保集群版本在v1.15及以上。 上传私有服务限制 每次最多只能添加5个服务包。 服务包大小不能超过4MB。 支持三种服务包打包压缩格式 Operator服务:支持遵循OpenShift包格式,以
服务包扩展目录 运维能力是在OSC服务规范基础上产生的能力,因此如果需要对接运维能力,需要先确保服务包的格式转换为OSC自身的规范才行,默认的开源规范当前只支持安装部署等基本功能。 运维能力扩展 为了保证适用OSC的服务规范,将使用oscctl工具作为创建、转换OSC服务包,并且统一服务包格式。使用oscctl
README 使用说明文件:{OSC-Package}/README.md,描述该服务包的功能介绍、使用说明等信息。按照下面一级目录编写。 <!--Markdown格式,按照以下目录结构--> # 介绍 # 功能 # 版本列表 # 服务架构 # 快速上手 <!-- 可提供链接
打包到package目录 Helm模板或者operator包有两个修改点: 标记服务的来源,即是来源于开源、华为或者生态伙伴; 统一镜像地址,OSC格式包引用lifecycle.yaml及csd.yaml中配置,Helm模板引用values.yaml中的配置,operator引用*
私有服务上传和部署 前提条件 已购买容器镜像服务的企业版实例,且实例可以正常运行。 准备好待上传的zip或tgz格式的helm/operator-framework/osc规范压缩包以及部署时需要运行的镜像。 服务部署流程 选择对应的仓库存储源,将服务包和镜像包分别上传到OSC以及SWR仓库中,进行部署即可。
服务包镜像名称约束 镜像目录存放部署目录中需要使用到的镜像文件,镜像文件以tar格式存储。镜像文件命名规范只允许包含大小写字母、数字、下划线、中划线及点,且不能以下划线、中划线及点结尾。 images目录下存放服务运行所需的容器镜像,根据服务实际情况确定支持单CPU架构还是多CPU架构:
如何配置监控 使用前提 对接监控,需要在csd.yaml文件中配置能力插件依赖功能声明,具体参考服务包扩展目录 capabilityRequirements示例 对接原理 开源的Prometheus是目前业界广泛应用的监控指标采集系统,其服务端可作为时间序列数据库,采集客户端应用
商用服务预上架失败,报"缺少必要的服务提供者的联系信息" 使用场景 合作伙伴使用账号进行商品发布,在触发安全扫描功能后,等待一段时间报"初始化失败"错误,鼠标放置上面展示详细错误信息,信息报"缺少必要的服务提供者的联系信息"。 报此错误主要是由于ISV用户上传的商用服务包中缺少相
自定义服务CSD 在不同业务环境下,服务对平台有着不同的诉求,Kubernetes提供自定义资源CRD的轻量化机制。而在实践过程中,发现对于服务能力如服务依赖、服务访问、服务部署、监控日志等公共能力欠缺。 因此围绕CRD自研CSD,通过声明式配置CRD的能力引用,增强服务治理能力。
创建Operator项目 背景 Operator是Kubernetes的扩展软件,通过定制资源管理应用和其他组件,实现一定自动运维能力。可以在不改动Kubernetes源码的情况下,通过一个或多个Operator来扩展集群能力,遵照自身业务需求、场景等灵活开发,节省运维成本。流程
Operator代码示例 CRD典型格式 Controller实现 挂载存储 创建存储 父主题: 附录