检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
生成服务包 最终的服务目录结构如下: $ tree hwfka-operator-package hwfka-operator-package ├── lifecycle.yaml ├── manifests │ ├─ hwfka_crd.yaml │ └─ hwfka_csd
生成代码和资源描述文件 修改api/v1/memcached_types.go或controller中的markers之后,需要重新生成代码和资源描述文件。 # 生成 api/v1/zz_generated.deepcopy.go make generate # 生成 config/crd/bases
使用默认crd.yaml文件自动生成表单 由CRD中定义的openAPIV3Schema字段规定CR中可配置的参数以及这些参数的类型、范围,应用在创建CR的时候通过YAML文件指定这些参数。 2. 使用自定义csd.yaml文件生成表单 自动生成的创建表单已经很强大,但有时可能需
安装Controller 安装 kustomize 基于模板生成YAML文件,下载kustomize二进制压缩包:https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v3.8.1/kustomize_v3
什么是云原生服务中心 云原生服务中心(Operator Service Center,OSC)是面向服务提供商和服务使用者的云原生服务生命周期治理平台,提供大量开箱即用的云原生服务,支持服务的开发、发布、订阅、部署、升级、更新等,帮助您简化云原生服务的生命周期管理。 功能介绍 云
`json:"server,omitempty"` // Hwfka 访问地址 } 使用Kubebuilder,可通过在API结构的属性上定义Markers,自动生成CRD中的spec.validation.openAPIV3Schema,即基于OpenAPI的校验规则,以便校验用户创建的CR中字段值的
基础控件 OSC console依据crd.yaml文件可以自动生成Operator的创建表单。crd.yaml文件中的properties(openAPIV3Schema.properties.spec.properties)对象会自动映射到对应的UI组件。 目前提供的基础类型
oscctl工具使用 oscctl是一款用于生成华为云OSC服务包脚手架或者将开源Helm或Operator服务包转换为OSC服务包的命令行工具。 工具安装 下载链接:https://oscctl.obs.cn-east-3.myhuaweicloud.com/oscctl-22
为了保证适用OSC的服务规范,将使用oscctl工具作为创建、转换OSC服务包,并且统一服务包格式。使用oscctl create命令会在manifests目录下生成一个vendor文件夹,该文件夹下存放日志、监控的扩展内容,扩展目录结构如下: # 以hwfka-operator-package为示例
线及点结尾。 images目录下存放服务运行所需的容器镜像,根据服务实际情况确定支持单CPU架构还是多CPU架构: 单CPU架构:一般制作生成的容器镜像,其默认只能在某一种CPU架构的节点上运行,比如X86或ARM。 多CPU架构:由多个单架构容器镜像制作而成,能够根据节点架构类
需要上报监控指标数据的应用,并通过sidecar方式,为应用监控指标数据注入instance_id字段,用以区分不同实例的指标,并分层分级生成监控仪表盘,图形化展示监控数据。 对接流程 获取OSC规范开发的服务包,如果只有原生的helm或OperatorFramework包,可以参考章节服务包转换进行转换。
创建实例应用时,往往涉及大量的参数配置,为方便用户使用,OSC console提供了自动生成表单的能力。 在Kubernetes 1.8中,CRD定义基于OpenAPI v3的验证模式的能力。基于OpenAPI v3能力,可用于自动生成用于创建实例的表单。 控件类型 表单控件 表单控件配置组合示例 父主题:
实现Operator 定义API 实现Controller 生成代码和资源描述文件 父主题: 开发Operator
制作服务包 创建服务包模板 修改服务包内容 生成服务包 父主题: 如何从零开始开发Operator
#【可选】包含chart依赖的其他chart └─ templates #【必选】模板目录,当和values 结合时,可生成有效的Kubernetes manifest文件 └─ xxx.yaml #【可选】Helm包的Kubernetes
自定义控件 基于CRD自动生成表单的基础能力控件已经能很好的呈现表单输入,但是为了对用户更友好,更好的表达字段的含义以及隐藏一些非面向用户的字段,因此引入了x-descriptors描述符来定义自定义的控件。 x-descriptors描述符主要用于specDescriptors
2《服务包规范》转换operator或Helm生成的服务包。 是 operator部署包 {serviceName}-{Version}.zip 服务名+版本号+zip命名 operator部署包,参考Operator framework方式生成。 是 helm部署包 {serviceName}-{Version}
包含创建CR时的字段及取值范围,以便校验用户创建的CR中字段值的合法性。使用Kubebuilder,可通过在API中定义Marker,自动生成spec.validation.openAPIV3Schema。 CRD字段说明 group,一般为组织名称,如:osctest。 API版本,第一个版本一般为v1。
hwfka-operator image: hwfka-operator:0.0.1 # 该镜像为制作Operator镜像章节生成的镜像,请修改为实际的镜像地址 imagePullPolicy: Always serviceAccountName:
ui:hwDnatElbAccess" 其中restriction.scenes字段表示该控件只在特定的部署平台下展示。 hidden 此描述符用于隐藏并自动生成的表单的字段:如果基于CRD自动生成的表单字段有些不需要呈现给用户可以配置hidden隐藏。 配置示例 - description: "" displayName: