检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
元数据Metadata 元数据文件:{OSC-Package}/metadata.yaml,配置的是服务包的基本信息,包括名称、版本、描述等相关信息。 metadata.yaml样例: name: example-operator version: "1.0.0" appVersion
构建Operator CRD介绍 创建Operator项目 创建API和Controller 父主题: 开发Operator
制作Operator镜像 修改hwfka-operator/Dockerfile内容如下: FROM centos:latest COPY bin/manager / RUN chmod ug+x /manager WORKDIR / 构建容器镜像命令如下: $ make && make
替换镜像地址配置 OSC需替换values.yaml或者*.clusterserviceversion.yaml中的镜像地址,mapping.yaml文件确定OSC在values.yaml或者*.clusterserviceversion.yaml中哪些字段用于配置镜像地址。mapping.yaml
vendor目录 公共能力目录:{OSC-Package}/manifests/vendor,用于存放平台提供的能力配置文件,用于manifests目录中的CRD引用。 公共能力目录结构: {OSC-Package}/ ├─ metadata.yaml ├─ manifests/
创建Operator项目 背景 Operator是Kubernetes的扩展软件,通过定制资源管理应用和其他组件,实现一定自动运维能力。可以在不改动Kubernetes源码的情况下,通过一个或多个Operator来扩展集群能力,遵照自身业务需求、场景等灵活开发,节省运维成本。流程包括安装
对接实例升级能力 修改csd.yaml,声明实例版本定义信息。新增配置如下: # 支持升级的镜像版本 versionDefinition: mode: url path: spec.image tags: - 0.0.1 - 0.0.2
变更实例规格 云原生服务中心OSC的服务来自不同的服务提供商,不同类别的服务实例规格变更方式存在差异,具体请咨询服务提供商,以服务实例的展示界面为准。以Kafka为例,展示如何变更实例规格。 纵向扩容kafka集群 单击服务实例页面右上角的编辑按钮,编辑服务实例的yaml信息。 在弹出的
附录 如何从零开始开发Operator OSC扩展说明 Operator代码示例 安装Controller
概述 OSC服务开发者指南面向OSC服务开发者,帮助开发者能够快速开发一个新服务或者将已有的服务转换成可以部署在OSC平台使用的服务。OSC为客户提供开箱即用的云原生服务,可以通过OSC部署到任意基础设施,包括云容器引擎、华为云UCS等场景。开发者可以遵从OSC自身的服务规范,或者直接使用开源
定义API 在设计的CR spec中,包含size、image、storage属性,因此需要修改api/v1/hwfka_types.go中HwfkaSpec和HwfkaStatus部分,为应用定义参数和状态属性。 package v1 import ( corev1 "k8s.io
放置镜像到images目录 images目录下存放服务部署时需要的所有镜像。以etcd为例,etcd服务包含x86和ARM两种CPU架构的镜像,分别叫etcd-3.5.0-x86_64.tar,etcd-3.5.0-aarch64.tar,那么目录结构为: etcd/ |
第三方目录Raw 第三方目录:{OSC-Package}/raw。raw目录下会包含原始Helm包的内容。其他类型服务包不存在该目录。 {OSC-Package}/ ├─ metadata.yaml #【必选】元数据文件 ├─ manifests/
前置说明 上传商用服务的账号须具有ISV权限,具体申请方式请参见如何加入华为云云市场。 使用商用服务发布的账号需要在上海一region下创建一个OBS桶,桶创建要求如下: 表1 OBS桶创建参数说明 参数 值 说明 区域 上海一 只能选上海一,不能选其它区域,OSC虽然是Global
自定义控件 基于CRD自动生成表单的基础能力控件已经能很好的呈现表单输入,但是为了对用户更友好,更好的表达字段的含义以及隐藏一些非面向用户的字段,因此引入了x-descriptors描述符来定义自定义的控件。 x-descriptors描述符主要用于specDescriptors和
注册资产 前置条件 用户已经将对应服务包提交验证申请,并有管理员审批通过。 操作步骤 使用ISV账号登录OSC控制台,单击左侧导航栏“服务发布”。 选择需要注册资产的服务版本。 单击对应服务版本的“注册资产”按钮,弹框查看对应的服务和默认资产信息,检查无误后,单击“确认”后进行资产注册
约束与说明 OSC的服务规范兼容Helm和Operator,提供商无需修改业务代码,只需要打包成满足OSC规范的服务包,就可以发布到OSC上。 想使用OSC提供的高级能力,比如监控、日志等运维能力,在Helm或者Operator服务包中添加配置文件,对接平台运维能力,然后再按照制作流程的指导制作服务包
Operator代码示例 CRD典型格式 Controller实现 挂载存储 创建存储 父主题: 附录
集群中服务Operator CR被误删后,页面删除实例失败时应如何处理? 使用场景 用户在OSC平台上架了一个服务,并且成功发布服务以及通过服务安装了一个服务实例,然后用户在集群控制节点上手动删除了服务Operator CR,后续用户在OSC服务实例页面想要删除服务实例时,发现实例删除报错
statusDescriptors statusDescriptor用于描述自定义资源中状态字段的属性,其配置在csd.yaml文件的status字段。statusDescriptors的结构与specDescriptors相似,包括相同的字段。 text x-descriptors