检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
服务包制作 以etcd operator 0.9.4版本和etcd helm 6.7.0版本为例,介绍如何制作服务包。 前置检查 约束与说明 制作流程
开源服务包规范 OSC服务规范同时支持当前业界使用较为广泛的两种开发服务规范:Helm服务规范和Operator-Framework服务规范。 OSC服务平台支持部署上述两种开源的服务包,但是如需同时使用OSC对外提供的运维和表单控件能力,则需要将部署包转换为符合OSC规范格式的
约束与说明 OSC的服务规范兼容Helm和Operator,提供商无需修改业务代码,只需要打包成满足OSC规范的服务包,就可以发布到OSC上。 想使用OSC提供的高级能力,比如监控、日志等运维能力,在Helm或者Operator服务包中添加配置文件,对接平台运维能力,然后再按照制作流程的指导制作服务包。
使用ISV账号登录OSC控制台,单击左侧导航栏“服务发布”,查看右侧服务发布流程。 单击“创建服务”按钮,在“创建服务”弹框页面填写“名称”、“描述”,并选择模板仓库和镜像仓库的后端地址。 名称:填写需要上传的服务包中的名称。 描述:用于描述此服务的相关功能描述等。 模板仓库:用于存储服务包中的operator、helm
ui:fieldDependency:field_dependency_test.value1:true" 图7 控件显示联动 资源配置 和K8S配套的资源控件,可以设置limit和request。 配置示例: - path: resources displayName: 单节点规格 description:
#【可选】包含chart依赖的其他chart └─ templates #【必选】模板目录,当和values 结合时,可生成有效的Kubernetes manifest文件 └─ xxx.yaml #【可选】Helm包的Kubernetes
比如X86或ARM。 多CPU架构:由多个单架构容器镜像制作而成,能够根据节点架构类型而选择对应的架构镜像并运行,多架构镜像制作方法可以参考CCE中使用x86和ARM双架构镜像。 如果服务仅支持一种CPU架构,则直接提供对应CPU架构的镜像即可;如果支持多CPU架构,则需要同时提供适配不同CPU架构
#【必选】生命周期文件 表1 目录结构 名称 目录/文件 描述 必选 元数据文件 metadata.yaml 存放服务包的基本属性和相关信息,包括名称、版本、描述等相关信息。 是 资源集合 manifests 存放Resources资源定义的集合,以及平台公共能力。 是 第三方目录
行业列表,范围不限,如"education,media" education 否 scenes 部署平台列表,取值列表:{CCE,UCS},分别表示CCE平台和UCS平台,大小写敏感,默认值为CCE。 CCE,UCS 否 父主题: Helm规范
行业列表,范围不限,如"education,media" education 否 scenes 部署平台列表,取值列表:{CCE,UCS},分别表示CCE平台和UCS平台,大小写敏感,默认值为CCE。 CCE,UCS 否 父主题: Operator规范
osc定义helm release的crd服务 │ └── helmrelease_csd.yaml # osc附加能力定义文件,需和crd文件联动使用 ├── metadata.yaml └── raw # raw目录下存放的是原始的grafana
OSC开发规范完全兼容Operator Framework以及Helm社区标准,其中Operator Framework支持版本v0.19.0+,Helm支持V3和V2的语法。满足Operator Framework以及Helm规范的服务无需修改,发布到云市场后可以通过OSC直接部署到用户的云容器引擎、华为云UCS。
return ctrl.Result{}, nil, false } 创建controllers/constants.go文件,用来统一管理常量。 package controllers const ( // 配置 label LabelProvider = "osctest
x86_64或者aarch64之一即可,如果是多CPU架构,则x86_64和aarch64都需配置,osc服务会将两个服务制作成共架构服务包并将最终镜像地址回填到部署文件中。以下分别通过一个Helm服务和Operator服务举例说明,以镜像swr.cn-east-3.myhuaweicloud
yaml,该文件内容包含Chart.yaml,具体规范参见元数据Metadata。 新增资源目录manifests,根据Chart.yaml的name创建对应的CRD和CSD。 新增自定义资源文件helmrelease_crd.yaml,该文件以下划线命名,由工具生成,无需改动。参见HelmRelease CRD示例。