检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
specDescriptors specDescriptors用于描述自定义资源中规范字段的属性。每个字段应包含以下内容: displayName -字段的用户友好名称。 description -字段表示内容的简单描述信息。 path -对象中字段以点分隔的路径。 restriction(可选):指定控件使用场景。
修改配置参数(可选) 部分服务支持实例配置参数动态修改功能,在服务实例详情界面会出现一个“配置修改”页签,单击该页签可以查看当前实例的配置并进行修改。 不同服务的支持情况请查看服务详情,或咨询服务提供商。 父主题: 服务实例日常操作
修改服务包内容 修改lifecycle.yaml文件。该文件包括OSC服务包的生命周期的相关信息,例如:安装方式、安装时需要的集群/命名空间级别权限、日志目录等。 install: clusterPermissions: # 集群级别权限,请按照Kubernetes RABC相关规范填写
statusDescriptor用于描述自定义资源中状态字段的属性,其配置在csd.yaml文件的status字段。statusDescriptors的结构与specDescriptors相似,包括相同的字段。 text x-descriptors: 文本形式公开实例的状态字段。 status: [PATH_TO_THE_FIELD]:
yaml文件确定OSC在values.yaml或者*.clusterserviceversion.yaml中哪些字段用于配置镜像地址。mapping.yaml有多种不同的字段替换方式,镜像根据实际情况选择对应字段,会将镜像分隔成不同内容回填到配置文件中。 instance:
更友好的displayName、更简洁的描述,以及更改表单字段顺序,或排除一些非面向用户的字段。这就是“(x-descriptors)规范描述符”的作用。 父主题: 配置表单控件
在定义CRD时,需同时定义基于OpenAPI的校验规则,其中包含创建CR时的字段及取值范围,以便校验用户创建的CR中字段值的合法性。使用Kubebuilder,可通过在API中定义Marker,自动生成spec.validation.openAPIV3Schema。 CRD字段说明 group,一般为组织名称,如:osctest。
提供者,包含name和url两个字段,注意,当前同一个服务不同版本须配置相同内容,一旦配置后当前不支持修改 参考样例 否 scenes 部署平台列表,取值列表:{CCE,UCS},分别表示CCE平台和UCS平台,大小写敏感,默认值为CCE。 该字段作为兼容性字段,依赖deployScenes属性:
在弹出的yaml编辑框中找到kafka和zookeeper的资源描述信息,副本数量一般为标准的kubernetes replicas字段。 图2 编辑服务实例的yaml信息 修改完成后,单击“确认”,等待实例状态重新变成可用,表示已完横向扩容。 横向扩容Kafka集群-表单模式 部分服务提供了表单方式的集群扩容功能,方便用户操作。
Helm Chart服务包 Chart服务包其主体描述信息存储在Chart.yaml文件中,其中Chart.yaml文件中有如下几个必填字段内容: version: 1.0.0 name: example-helm apiVersion: v1 description: A Helm
的CR中字段值的合法性。如上述设置size属性的最小值和最大值: // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=3 详细使用方法参见:CRD Validation。每次修改API定义
对接实例升级能力 修改csd.yaml,声明实例版本定义信息。新增配置如下: # 支持升级的镜像版本 versionDefinition: mode: url path: spec.image tags: - 0.0.1 - 0.0.2
mode配置为url,则会将上述所示defaultConfiguration字段下的"image"字段的值替换为"example:2.2.2" mode配置为tag后,则会将上述所示defaultConfiguration字段下的"image"字段的值替换为"2.2.2" 必填, 当mode配置之后,path和tags就成了必填项
生成代码和资源描述文件 修改api/v1/memcached_types.go或controller中的markers之后,需要重新生成代码和资源描述文件。 # 生成 api/v1/zz_generated.deepcopy.go make generate # 生成 config/crd/bases
Controller实现 修改controllers/hwfka_controller.go文件为如下内容: func (r *HwfkaReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result
打包到package目录 Helm模板或者operator包有两个修改点: 标记服务的来源,即是来源于开源、华为或者生态伙伴; 统一镜像地址,OSC格式包引用lifecycle.yaml及csd.yaml中配置,Helm模板引用values.yaml中的配置,operator引用*
镜像目录 images 固定名称,不可修改 存放服务包的镜像目录,当镜像是让用户从外部拉取,镜像目录可不要。 否 镜像文件 {images}.tar 镜像文件,tar格式结尾 镜像文件。 否 镜像地址索引文件 mapping.yaml 固定名称,不可修改 OSC通过这个文件判断Helm
hwDnatElbAccess(公网访问):支持通过弹性公网IP访问实例。 hidden(字段隐藏):支持对基于CRD自动生成控件的字段表单隐藏。 statusDescriptors: text(展示文本): 实例的状态字段一般文本展示。 link(访问链接): 公开实例的外部链接。 specDescriptors
制作Operator镜像 修改hwfka-operator/Dockerfile内容如下: FROM centos:latest COPY bin/manager / RUN chmod ug+x /manager WORKDIR / 构建容器镜像命令如下: $ make && make
logpath 日志目录 参见样例 否 对于lifecycle文件中配置了upgrade字段的服务包,需要确保该服务operator能够管理的实例版本(由CSD文件中的versionDefinition字段规定)与被升级的operator所能管理的实例版本相兼容,否则会导致上传服务包或升