检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
可以部署在OSC平台使用的服务。OSC为客户提供开箱即用的云原生服务,可以通过OSC部署到任意基础设施,包括云容器引擎、华为云UCS等场景。开发者可以遵从OSC自身的服务规范,或者直接使用开源Helm、Operator-Framework规范进行开发部署使用。 图1 OSC服务规范场景下开发整体流程图
Center,OSC)能够提供大量开箱即用的云原生服务,支持服务的开发、发布、订阅、部署、升级、更新等,其面向对象包括服务开发者、服务使用者和服务提供商。本文旨在帮助开发者如何接入OSC平台并使用OSC能力。 优势 更高效的利用华为云基础设施 OSC作为开发者与华为云基础设施的桥梁,提供了统一的对接方式,
控件类型 表单控件类型 1. 使用默认crd.yaml文件自动生成表单 由CRD中定义的openAPIV3Schema字段规定CR中可配置的参数以及这些参数的类型、范围,应用在创建CR的时候通过YAML文件指定这些参数。 2. 使用自定义csd.yaml文件生成表单 自动生成的创
操作步骤 登录OSC控制台。 在控制台右上角的用户名下拉菜单中选择“云容器引擎”。 在左侧导航栏中选择“集群管理”,选择用户当前使用的集群,单击集群名称进入集群控制台。 在左侧导航栏选择“节点管理”,选择“节点”页签,选择节点,找到IP地址栏中标有弹性公网的ip节点地址。 登录上节点
约束与说明 OSC的服务规范兼容Helm和Operator,提供商无需修改业务代码,只需要打包成满足OSC规范的服务包,就可以发布到OSC上。 想使用OSC提供的高级能力,比如监控、日志等运维能力,在Helm或者Operator服务包中添加配置文件,对接平台运维能力,然后再按照制作流程的指导制作服务包。
服务管理 初次使用私有服务上传功能前,如何关联企业仓库实例? 集群中服务Operator CR被误删后,页面删除实例失败时应如何处理? 商用服务预上架失败,报"缺少必要的服务提供者的联系信息" 服务Operator资源被误删后,删除实例失败时如何清理? 集群安装新版本服务包后,crd不会自动更新
#【必选】参数值文档,为templates下的文档配置参数值 ├─ values.schema.json #【可选】一个使用JSON结构的values.yaml文件 ├─ charts/ #【可选】包含chart依赖的其他chart └─
开发Operator 开发原理 在本章节以Kafka为例,构建Kafka-Operator进行Kafka实例的管理,同时Kafka实例将以三节点集群的形式对外提供服务。对于Kafka实例/集群而言,需要依托于zookeeper进行构建,zookeeper用作Kafka集群的元数据
构建Operator CRD介绍 创建Operator项目 创建API和Controller 父主题: 开发Operator
制作镜像 制作实例镜像 制作Operator镜像 父主题: 如何从零开始开发Operator
Operator代码示例 CRD典型格式 Controller实现 挂载存储 创建存储 父主题: 附录
附录 如何从零开始开发Operator OSC扩展说明 Operator代码示例 安装Controller
yaml #【必选】生命周期文件 └─ README.md #【可选】使用说明文件 Helm包可通过oscctl工具方便地转成OSC服务包,也可通过手工转换。其中Helm规范参见Helm规范。 Helm原始包结构 {Helm}/ ├─
行下载。 # 通过git clone及本地编译的方法安装kubebuilder可以避免因操作系统类型、系统架构输入错误导致 # kubebuilder二进制文件因操作系统和系统架构导致错误导致的无法使用。同时,通过git操作避免 # 在使用curl过程中需要对开发环境进行证书配置等操作
制作流程 制作服务包目录 放置镜像到images目录 打包到package目录 替换镜像地址配置 父主题: 服务包制作
权限配置 单租户下多IAM用户使用企业仓库场景如何配置权限? 单租户下如何使用IAM系统策略对各IAM子用户进行细粒度权限划分
服务包规范 本规范主要面向对象为初次开发的服务以及想要使用OSC平台提供的附加能力进行规范转换的服务。 如果开发者已有或仅想使用Helm/Operator-Framework规范的服务,可以直接参考章节开源服务包规范。 OSC服务包介绍 元数据Metadata 资源集合Manifests
Operator规范 Operator包含三类核心文件: 软件包清单:package.yaml 集群服务版本:csv.yaml 自定义资源:crd.yaml # Opeartor结构 {Operator-Package} ├─ xxx.package.yaml
实现Operator 定义API 实现Controller 生成代码和资源描述文件 父主题: 开发Operator
制作服务包 创建服务包模板 修改服务包内容 生成服务包 父主题: 如何从零开始开发Operator