检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
生成服务包 最终的服务目录结构如下: $ tree hwfka-operator-package hwfka-operator-package ├── lifecycle.yaml ├── manifests │ ├─ hwfka_crd.yaml │ └─ hwfka_csd.yaml
生成代码和资源描述文件 修改api/v1/memcached_types.go或controller中的markers之后,需要重新生成代码和资源描述文件。
该CR包含三个属性:size、image、storage,下文在定义API时需要为其定义Marker,以便自动生成OpenAPI schema。
oscctl工具使用 oscctl是一款用于生成华为云OSC服务包脚手架或者将开源Helm或Operator服务包转换为OSC服务包的命令行工具。
服务包镜像名称约束 镜像目录存放部署目录中需要使用到的镜像文件,镜像文件以tar格式存储。镜像文件命名规范只允许包含大小写字母、数字、下划线、中划线及点,且不能以下划线、中划线及点结尾。
制作服务包 创建服务包模板 修改服务包内容 生成服务包 父主题: 如何从零开始开发Operator
使用oscctl create命令会在manifests目录下生成一个vendor文件夹,该文件夹下存放日志、监控的扩展内容,扩展目录结构如下: # 以hwfka-operator-package为示例 hwfka-operator-package ├─ metadata.yaml
访问密钥ID:输入访问密钥ID(包含临时访问凭证和永久访问密钥)。 时间范围:可选择查询最近1小时、最近1天、最近1周的操作事件,也可以自定义最近1周内任意时间段的操作事件。 在事件列表页面,您还可以导出操作记录文件、刷新列表、设置列表展示信息等。
使用默认crd.yaml文件自动生成表单 由CRD中定义的openAPIV3Schema字段规定CR中可配置的参数以及这些参数的类型、范围,应用在创建CR的时候通过YAML文件指定这些参数。 2.
配置表单控件 创建实例应用时,往往涉及大量的参数配置,为方便用户使用,OSC console提供了自动生成表单的能力。 在Kubernetes 1.8中,CRD定义基于OpenAPI v3的验证模式的能力。基于OpenAPI v3能力,可用于自动生成用于创建实例的表单。
自定义控件 基于CRD自动生成表单的基础能力控件已经能很好的呈现表单输入,但是为了对用户更友好,更好的表达字段的含义以及隐藏一些非面向用户的字段,因此引入了x-descriptors描述符来定义自定义的控件。
是 operator部署包 {serviceName}-{Version}.zip 服务名+版本号+zip命名 operator部署包,参考Operator framework方式生成。
基础控件 OSC console依据crd.yaml文件可以自动生成Operator的创建表单。crd.yaml文件中的properties(openAPIV3Schema.properties.spec.properties)对象会自动映射到对应的UI组件。
每次修改API定义后,需要执行命令自动重新生成代码和CRD: $ make generate $ make manifests 父主题: 实现Operator
因为该文件由Kubernetes社区提供的controller-gen及kustomize生成校验,所以可以直接作为标准CRD资源用户集群内CRD部署。
安装Controller 安装 kustomize 基于模板生成YAML文件,下载kustomize二进制压缩包:https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v3.8.1/kustomize_v3.8.1
OSC平台支持OSC服务规范,开源Helm或Operator-Framework的规范服务,开发者可参考开源服务包规范确保服务包符合helm或者operator-framework规范,或参考制作服务包,生成符合OSC规范的服务包。
的crd服务 │ └── helmrelease_csd.yaml # osc附加能力定义文件,需和crd文件联动使用 ├── metadata.yaml └── raw # raw目录下存放的是原始的grafana
values.schema.json #【可选】一个使用JSON结构的values.yaml文件 ├─ charts/ #【可选】包含chart依赖的其他chart └─ templates #【必选】模板目录,当和values 结合时,可生成有效的
实现Operator 定义API 实现Controller 生成代码和资源描述文件 父主题: 开发Operator