检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
serviceName:服务名称。目前服务名称仅接受英文大小写字母、数字及中划线(-)的组合。在服务发布中,创建服务名称其输入长度最大为64个字符。 version:服务的版本号。服务版本号请遵循SemVer规范进行书写,但不支持SemVer中带有+的版本号。 服务包各个文件命名以及约束 名称 格式 建议参数说明
表1 目录结构 名称 目录/文件 描述 必选 元数据文件 metadata.yaml 存放服务包的基本属性和相关信息,包括名称、版本、描述等相关信息。 是 资源集合 manifests 存放Resources资源定义的集合,以及平台公共能力。 是 第三方目录 raw 存放兼容的第三方
服务内容说明 服务商用发布版本上架到OSC云原生市场后,会读取服务包的部分描述信息并展示在服务包详情中,因此需要用户在服务包中填写必要的信息,从而保证详情页面展示正常。 根据服务包格式类型,需补充说明内容如下: Helm Chart服务包 Chart服务包其主体描述信息存储在Chart
Operator包含三类核心文件: 软件包清单:package.yaml 集群服务版本:csv.yaml 自定义资源:crd.yaml # Opeartor结构 {Operator-Package} ├─ xxx.package.yaml #【必选】软件包清单 └─ {version}
以CSV格式的表格文件导出,该CSV文件包含了本次查询结果的所有事件,且最多导出5000条信息。 单击按钮,可以获取到事件操作记录的最新信息。 在需要查看的事件左侧,单击展开该记录的详细信息。 在需要查看的记录右侧,单击“查看事件”,会弹出一个窗口显示该操作事件结构的详细信息。
├─ lifecycle.yaml └─ README.md 表1 资源集合结构 目录或文件名称 描述 必选 xxx_crd.yaml 服务包的资源,例如kafka、redis,一个服务包可以包含一个或者多个具体资源目录。 是,至少一个 xxx_csd
vendor目录 公共能力目录:{OSC-Package}/manifests/vendor,用于存放平台提供的能力配置文件,用于manifests目录中的CRD引用。 公共能力目录结构: {OSC-Package}/ ├─ metadata.yaml ├─ manifests/
string控件:满足一般的文本输入。 number控件:满足一般的数字输入。 boolean控件:开关控件,支持设置布尔值。 object控件:支持结构体格式输入,具有多层嵌套能力。 array类型:支持数组结构的输入,可以动态增删。 string控件 一般场景的文本输入,支持校验规则的配置。 配置示例:
约束与说明 OSC的服务规范兼容Helm和Operator,提供商无需修改业务代码,只需要打包成满足OSC规范的服务包,就可以发布到OSC上。 想使用OSC提供的高级能力,比如监控、日志等运维能力,在Helm或者Operator服务包中添加配置文件,对接平台运维能力,然后再按照制作流程的指导制作服务包。
├─ charts/ └─ templates └─ xxx.yaml 经转换后的OSC服务包结构 {OSC-Package}/ ├─ metadata.yaml #【必选】新增元数据文件 ├─ manifests/
阅读本章节前,用户需要拥有一个符合Operator规范的服务包,Operator服务规范可以参考Operator规范,下面以Operator开源服务datadog-operator为例进行详细说明。 接入流程 用户参考附录oscctl工具使用中的链接下载oscctl工具oscctl-22.8
md,描述该服务包的功能介绍、使用说明等信息。按照下面一级目录编写。 <!--Markdown格式,按照以下目录结构--> # 介绍 # 功能 # 版本列表 # 服务架构 # 快速上手 <!-- 可提供链接 或者 文字--> # 许可证 使用说明文件中引用的文件或者文档链接尚未设计,作为后续规划。
生成服务包 最终的服务目录结构如下: $ tree hwfka-operator-package hwfka-operator-package ├── lifecycle.yaml ├── manifests │ ├─ hwfka_crd.yaml │ └─ hwfka_csd
statusDescriptor用于描述自定义资源中状态字段的属性,其配置在csd.yaml文件的status字段。statusDescriptors的结构与specDescriptors相似,包括相同的字段。 text x-descriptors: 文本形式公开实例的状态字段。 status: [PATH_TO_THE_FIELD]:
使用Kubebuilder,可通过在API结构的属性上定义Markers,自动生成CRD中的spec.validation.openAPIV3Schema,即基于OpenAPI的校验规则,以便校验用户创建的CR中字段值的合法性。如上述设置size属性的最小值和最大值: // +kubeb
修改服务包内容 修改lifecycle.yaml文件。该文件包括OSC服务包的生命周期的相关信息,例如:安装方式、安装时需要的集群/命名空间级别权限、日志目录等。 install: clusterPermissions: # 集群级别权限,请按照Kubernetes RABC相关规范填写
放置镜像到images目录 images目录下存放服务部署时需要的所有镜像。以etcd为例,etcd服务包含x86和ARM两种CPU架构的镜像,分别叫etcd-3.5.0-x86_64.tar,etcd-3.5.0-aarch64.tar,那么目录结构为: etcd/ | --- package/
a实例的管理,同时Kafka实例将以三节点集群的形式对外提供服务。对于Kafka实例/集群而言,需要依托于zookeeper进行构建,zookeeper用作Kafka集群的元数据管理,每个Kafka实例在各节点上会有一个zookeeper实例与其对应,存储broker内的消息、t
#【必选】参数值文档,为templates下的文档配置参数值 ├─ values.schema.json #【可选】一个使用JSON结构的values.yaml文件 ├─ charts/ #【可选】包含chart依赖的其他chart └─ templates
Successfully created original package to OSC package! 检查服务包目录结构。 # 服务包的结构 $ tree hwfka-operator-package hwfka-operator-package ├── lifecycle