检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
制作服务包 创建服务包模板 修改服务包内容 生成服务包 父主题: 如何从零开始开发Operator
部署平台列表,取值列表:{CCE,UCS},分别表示CCE平台和UCS平台,大小写敏感,默认值为CCE。 该字段作为兼容性字段,依赖deployScenes属性: 1)当deployScenes不为空,该字段不起作用 2)当deployScenes为空时,该字段起作用 - CCE - UCS 否
行业列表,范围不限,如"education,media" education 否 scenes 部署平台列表,取值列表:{CCE,UCS},分别表示CCE平台和UCS平台,大小写敏感,默认值为CCE。 CCE,UCS 否 父主题: Helm规范
制作服务包目录 新建一个文件夹,可任意命名,以etcd服务为例,暂定命名为etcd,在etcd文件夹下创建两个子目录,分别命名为package,images。 etcd | --- package | --- images 父主题: 制作流程
生成服务包 最终的服务目录结构如下: $ tree hwfka-operator-package hwfka-operator-package ├── lifecycle.yaml ├── manifests │ ├─ hwfka_crd.yaml │ └─ hwfka_csd
categories: Database architecture: x86_64,aarch64 scenes: CCE # 华为云 categories表示此服务包所属类别,当前支持的有如下几种: AI/Machine Learning: AI/机器学习。
服务包目录结构约束 OSC作为一个服务生命周期管理平台,有自定义的服务模型,服务需满足目录格式要求才能被OSC解析,发布到OSC上。 {ServiceName}-{Version}.zip #【必选】服务包 └─{ServiceName}/
OSC服务包介绍 目录结构 {OSC-Package}/ ├─ metadata.yaml #【必选】元数据文件 ├─ manifests/ #【必选】资源集合 ├─ raw/ #【可选】第三方目录 └─ lifecycle
服务包制作 以etcd operator 0.9.4版本和etcd helm 6.7.0版本为例,介绍如何制作服务包。 前置检查 约束与说明 制作流程
Chart.yaml内容。 HelmRelease CRD示例(crd.yaml) apiVersion: apiextensions.k8s.io/v1 # 默认创建v1版本的CRD kind: CustomResourceDefinition metadata: name:
服务包规范 本规范主要面向对象为初次开发的服务以及想要使用OSC平台提供的附加能力进行规范转换的服务。 如果开发者已有或仅想使用Helm/Operator-Framework规范的服务,可以直接参考章节开源服务包规范。 OSC服务包介绍 元数据Metadata 资源集合Manifests
EnvNamespace = "NAMESPACE" EnvInstance = "INSTANCE" EnvPodUid = "POD_UID" EnvPodName = "POD_NAME" EnvPodIp
/... 示例: /apis/osc.huawei.com/v1/namespaces/*/memcacheds/... *代表所有namespace,可以使用指定namespace名称查询特定namespace下的CR。 父主题: Operator代码示例
开源服务包规范 OSC服务规范同时支持当前业界使用较为广泛的两种开发服务规范:Helm服务规范和Operator-Framework服务规范。 OSC服务平台支持部署上述两种开源的服务包,但是如需同时使用OSC对外提供的运维和表单控件能力,则需要将部署包转换为符合OSC规范格式的
r监听资源的namespace。 Operator作用域 Operator的作用域分namespace级和cluster级,cluster级的operator可以监听和管理任意namespace的资源。使用kubebuilder init命令默认初始化cluster级的opera
约束与说明 OSC的服务规范兼容Helm和Operator,提供商无需修改业务代码,只需要打包成满足OSC规范的服务包,就可以发布到OSC上。 想使用OSC提供的高级能力,比如监控、日志等运维能力,在Helm或者Operator服务包中添加配置文件,对接平台运维能力,然后再按照制作流程的指导制作服务包。
go.mod: module tmp Downloading sigs.k8s.io/controller-tools/cmd/controller-gen@v0.7.0 go get: added sigs.k8s.io/controller-tools v0.7.0 /mnt/d
前置检查 服务包发布到云市场中,需要提供病毒扫描报告,保证发布上架的服务中不存在任何病毒,并在发布商品时提供给云市场运营人员审核,审核通过后商品方可发布成功。 确保Helm模板中的镜像配置都引用values.yaml中的配置,如果不满足,请参见排查和编辑镜像地址排查和整改。 确保operator包中的镜像配置都引用*
制作流程 制作服务包目录 放置镜像到images目录 打包到package目录 替换镜像地址配置 父主题: 服务包制作
README 使用说明文件:{OSC-Package}/README.md,描述该服务包的功能介绍、使用说明等信息。按照下面一级目录编写。 <!--Markdown格式,按照以下目录结构--> # 介绍 # 功能 # 版本列表 # 服务架构 # 快速上手 <!-- 可提供链接