检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
开源服务包规范 OSC服务规范同时支持当前业界使用较为广泛的两种开发服务规范:Helm服务规范和Operator-Framework服务规范。 OSC服务平台支持部署上述两种开源的服务包,但是如需同时使用OSC对外提供的运维和表单控件能力,则需要将部署包转换为符合OSC规范格式的
把operator包压缩成zip格式,放至package目录下。 package目录下只能包含一个Operator压缩包,确保使用这个包可以将整个服务部署起来。 etcd/ | --- package/ | --- etcd-operator-0.9.4.zip
#【可选】第三方目录,支持存放helm原始包 ├─ lifecycle.yaml #【必选】生命周期文件 └─ README.md #【可选】使用说明文件 Helm包可通过oscctl工具方便地转成OSC服务包,也可通过手工转换。其中Helm规范参见Helm规范。
服务包扩展目录 运维能力是在OSC服务规范基础上产生的能力,因此如果需要对接运维能力,需要先确保服务包的格式转换为OSC自身的规范才行,默认的开源规范当前只支持安装部署等基本功能。 运维能力扩展 为了保证适用OSC的服务规范,将使用oscctl工具作为创建、转换OSC服务包,并且统一服务包格式。使用oscctl
industries: education,media 参数名称 参数描述 参数示例 必选 source 包来源,取值范围:{ISV, OpenSource, HuaweiProvided},分别表示独立服务供应商、开源服务、华为自有服务,仅支持配置一个值。默认值为OpenSource
{} skips: - example-operator.v0.0.2 replaces: example-operator.v0.0.1 customresourcedefinitions: ... 参数名称 参数描述 参数示例 必选 source 包来源,取值范围:{ISV
path: image x-descriptors: - 'urn:alm:descriptor:com.tectonic.ui:text' - displayName: Size description: The desired number
定义替换上面address字段中的镜像路径是来自images目录中的镜像tar包 x86_64: xxx.tar # 声明使用x86格式的镜像tar包替换 aarch64: xxx.tar
README 使用说明文件:{OSC-Package}/README.md,描述该服务包的功能介绍、使用说明等信息。按照下面一级目录编写。 <!--Markdown格式,按照以下目录结构--> # 介绍 # 功能 # 版本列表 # 服务架构 # 快速上手 <!-- 可提供链接
只需要打包成满足OSC规范的服务包,就可以发布到OSC上。 想使用OSC提供的高级能力,比如监控、日志等运维能力,在Helm或者Operator服务包中添加配置文件,对接平台运维能力,然后再按照制作流程的指导制作服务包。 服务包目录结构约束 服务包镜像名称约束 服务内容说明 镜像拉取配置说明
确保operator包中的镜像配置都引用*.clusterserviceversion.yaml中的配置,如果不满足,请参见排查和编辑镜像地址排查和整改。 如果服务需要支持多CPU架构部署场景,请确保提供的不同架构镜像都能够使用同一部署包资源描述文件进行部署。 父主题: 服务包制作
制作流程 制作服务包目录 放置镜像到images目录 打包到package目录 替换镜像地址配置 父主题: 服务包制作
manifest文件 └─ xxx.yaml #【可选】Helm包的Kubernetes manifest若干文件 更多介绍参见官网Helm。 上传至OSC的helm包中,Chart.yaml文件的icon字段不生效,仅支持以图片形式配置logo,配置方式为:在与Chart
资源集合Manifests 资源集合 自定义资源CRD 自定义服务CSD vendor目录 父主题: 服务包规范
vendor目录 公共能力目录:{OSC-Package}/manifests/vendor,用于存放平台提供的能力配置文件,用于manifests目录中的CRD引用。 公共能力目录结构: {OSC-Package}/ ├─ metadata.yaml ├─ manifests/
Operator包含三类核心文件: 软件包清单:package.yaml 集群服务版本:csv.yaml 自定义资源:crd.yaml # Opeartor结构 {Operator-Package} ├─ xxx.package.yaml #【必选】软件包清单 └─ {version}
的联系信息"。 报此错误主要是由于ISV用户上传的商用服务包中缺少相关的服务提供者联系信息,这会导致用户对服务包存在相关诉求而无法快速联系对应提供者,因此要求用户在软件包中进行描述。 操作步骤 上传服务包为helm服务包格式,需要在Chart.yaml文件中增加维护者信息,具体配置如下所示,参考更多。
README.md 表1 资源集合结构 目录或文件名称 描述 必选 xxx_crd.yaml 服务包的资源,例如kafka、redis,一个服务包可以包含一个或者多个具体资源目录。 是,至少一个 xxx_csd.yaml 自定义服务文件,每个csd文件对应于一个crd文件。
r-runtime库。 下载源码controller-tools-0.3.0。 构建二进制并安装。 $ unzip controller-tools-0.3.0.zip $ go build -a -o controller-gen cmd/controller-gen/main
放置镜像到images目录 images目录下存放服务部署时需要的所有镜像。以etcd为例,etcd服务包含x86和ARM两种CPU架构的镜像,分别叫etcd-3.5.0-x86_64.tar,etcd-3.5.0-aarch64.tar,那么目录结构为: etcd/ |