检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
概述 OSC服务开发者指南面向OSC服务开发者,帮助开发者能够快速开发一个新服务或者将已有的服务转换成可以部署在OSC平台使用的服务。OSC为客户提供开箱即用的云原生服务,可以通过OSC部署到任意基础设施,包括云容器引擎、华为云UCS等场景。开发者可以遵从OSC自身的服务规范,或者
开源服务包规范 OSC服务规范同时支持当前业界使用较为广泛的两种开发服务规范:Helm服务规范和Operator-Framework服务规范。 OSC服务平台支持部署上述两种开源的服务包,但是如需同时使用OSC对外提供的运维和表单控件能力,则需要将部署包转换为符合OSC规范格式的
创建controllers/constants.go文件,用来统一管理常量。 package controllers const ( // 配置 label LabelProvider = "osctest.huawei.com/service_provider" LabelInstance
存放兼容的第三方文件,如Helm/Operator-Framework。 否 生命周期文件 lifecycle.yaml 存放服务包的安装部署、升级等生命周期相关信息。 是 服务包约束 命名规则:只允许包含大小写字母、数字、下划线、中划线及点,且不能以下划线、中划线及点结尾。{service
概述 服务使用者是搭建企业级应用的用户,在OSC服务中心选择所需服务和规格,进行服务订阅、服务实例部署,从而完成企业级应用的搭建。同时,还可使用服务实例运维视图辅助应用的监控运维。本文档介绍如何订阅服务、创建服务实例、服务运维操作及管理服务插件。 图1 商品服务生命周期 图2 私有服务生命周期
放置镜像到images目录 images目录下存放服务部署时需要的所有镜像。以etcd为例,etcd服务包含x86和ARM两种CPU架构的镜像,分别叫etcd-3.5.0-x86_64.tar,etcd-3.5.0-aarch64.tar,那么目录结构为: etcd/ |
附录 如何从零开始开发Operator OSC扩展说明 Operator代码示例 安装Controller
服务管理 初次使用私有服务上传功能前,如何关联企业仓库实例? 集群中服务Operator CR被误删后,页面删除实例失败时应如何处理? 商用服务预上架失败,报"缺少必要的服务提供者的联系信息" 服务Operator资源被误删后,删除实例失败时如何清理? 集群安装新版本服务包后,crd不会自动更新
动Kubernetes源码的情况下,通过一个或多个Operator来扩展集群能力,遵照自身业务需求、场景等灵活开发,节省运维成本。流程包括安装Kubernetes、构建Operator和实现Operator。 创建Operator 本章节以应用名称为hwfka、取项目名称为hwf
续使用Makefile去编译operator的二进制文件及打包镜像时,都可能会重复下载使用controller-gen二进制文件,建议提前安装controller-gen二进制,并修改Makefile中有关这个命令为使用系统命令,而非每次通过go get下载并编译后使用。 该命令主要执行以下动作:
r三节点集群作为kafka启动的基础条件,然后启动Kafka三个节点实例(即broker实例)进行服务的提供,同时启动一个KafkaManager用作可视化管理。整体结构如下: 安装Kubebuilder 构建Operator 实现Operator 父主题: 如何从零开始开发Operator
5.4版本。 服务管理限制 取消订阅会同时清理已创建的实例及实例所在集群的控制组件。 私有服务删除服务包前,先删除已创建的实例,以及实例所在集群的服务管理Operator。 上传同名不同版本的私有服务时,旧版本的服务会被新版本服务覆盖。 生态类型为“Helm”的服务暂不支持版本升级、回退。
storageClassName: csi-nas SFS Turbo极速文件存储:按需申请,快速供给,弹性扩展,适用于DevOps、容器微服务、企业办公等场景。 针对CCE敏捷版,提供local pv的方式创建本地目录存储。 apiVersion: v1 kind: PersistentVolumeClaim
创建服务包模板 通过OSC提供的oscctl工具创建服务包模板,oscctl工具使用详情请参见oscctl工具使用。 使用oscctl工具创建服务包模板。 # 使用oscctl工具,创建服务包 $ oscctl create -o ./hwfka-operator-package
生成服务包 最终的服务目录结构如下: $ tree hwfka-operator-package hwfka-operator-package ├── lifecycle.yaml ├── manifests │ ├─ hwfka_crd.yaml │ └─ hwfka_csd
状态属性。 参数 size:应用实例包含的实例数量。 image:应用的容器镜像地址。 storage:应用数据存储相关配置。 状态 phase:应用实例安装状态。 server:应用访问地址。 以创建一个Kafka应用,指定其Pod数量为3为例,设计CR如下: apiVersion:
使用说明文件:{OSC-Package}/README.md,描述该服务包的功能介绍、使用说明等信息。按照下面一级目录编写。 <!--Markdown格式,按照以下目录结构--> # 介绍 # 功能 # 版本列表 # 服务架构 # 快速上手 <!-- 可提供链接 或者 文字-->
服务包规范 本规范主要面向对象为初次开发的服务以及想要使用OSC平台提供的附加能力进行规范转换的服务。 如果开发者已有或仅想使用Helm/Operator-Framework规范的服务,可以直接参考章节开源服务包规范。 OSC服务包介绍 元数据Metadata 资源集合Manifests
服务内容说明 服务商用发布版本上架到OSC云原生市场后,会读取服务包的部分描述信息并展示在服务包详情中,因此需要用户在服务包中填写必要的信息,从而保证详情页面展示正常。 根据服务包格式类型,需补充说明内容如下: Helm Chart服务包 Chart服务包其主体描述信息存储在Chart
资源集合Manifests 资源集合 自定义资源CRD 自定义服务CSD vendor目录 父主题: 服务包规范