检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
实现Operator 定义API 实现Controller 生成代码和资源描述文件 父主题: 开发Operator
例在各节点上会有一个zookeeper实例与其对应,存储broker内的消息、topic等数据。对于整体架构而言,先启动一个zookeeper三节点集群作为kafka启动的基础条件,然后启动Kafka三个节点实例(即broker实例)进行服务的提供,同时启动一个KafkaManager用作可视化管理。整体结构如下:
创建实例应用时,往往涉及大量的参数配置,为方便用户使用,OSC console提供了自动生成表单的能力。 在Kubernetes 1.8中,CRD定义基于OpenAPI v3的验证模式的能力。基于OpenAPI v3能力,可用于自动生成用于创建实例的表单。 控件类型 表单控件 表单控件配置组合示例
#【可选】日志对接的默认配置,参见对接配置日志 │ └─ xxx_config.yaml #【可选】未来支持更多公共能力,如自定义指标、弹性伸缩、多云部署等 ├─ raw/ ├─ lifecycle.yaml └─ README.md
新增资源目录manifests,根据Chart.yaml的name创建对应的CRD和CSD。 新增自定义资源文件helmrelease_crd.yaml,该文件以下划线命名,由工具生成,无需改动。参见HelmRelease CRD示例。 新增自定义服务文件helmrelease_csd.yaml,可按需配置相关服务能力。
实例所在的容器集群的命名空间。 创建时间 实例的创建时间。 描述 服务实例部署时填写的信息,一般用来说明该实例用于什么场景。 其他信息 为各个服务自定义的展示内容,以Redis为例,展示的元素包含实例信息、访问地址、配置修改等信息,并提供了公网访问和集群扩容能力。 父主题: 服务实例日常操作
容器镜像仓库用户可以直接上传使用,云原生服务中心将会在容器镜像仓库新建一个独立的组织用于存储上传的数据包。因此用户使用此仓库时需要确保容器镜像仓库允许创建至少一个组织(详见如何确保容器镜像仓库允许创建至少一个组织?),以避免上传服务包失败。 容器镜像仓库可存储的服务包存在配额限制
metadata.yaml 存放服务包的基本属性和相关信息,包括名称、版本、描述等相关信息。 是 资源集合 manifests 存放Resources资源定义的集合,以及平台公共能力。 是 第三方目录 raw 存放兼容的第三方文件,如Helm/Operator-Framework。 否 生命周期文件
# 可用范围: Namespaced or Cluster scope: Namespaced version: v1 # 可定义多个版本 versions: - name: v1alpha1 served: false # 需要卸载该版本时,先标记为
力是开发者面临的一个难题。OSC提供开箱即用的云原生运维能力,支持服务声明式对接,无需修改业务代码。 应用级视图 传统的运维方式应用比较原始,都聚焦在资源层级,没有应用统一视图。OSC在实例详情页面可以查看本实例状态信息、配置信息、日志、监控信息,方便用户在一个页面查看实例相关的基础信息,无需切换到不同的运维平台。
服务Operator资源被误删后,删除实例失败时如何清理? 集群安装新版本服务包后,crd不会自动更新 如何确保容器镜像仓库允许创建至少一个组织? 如何解决界面显示运行中,但是实际集群中并没有该服务实例问题
5版本,但是可以先将0.0.2版本回退到0.0.1版本后再次升级到0.0.5版本 参见样例 否 operations 运维操作配置,以注解方式定义 参见样例 否 operations.logpath 日志目录 参见样例 否 对于lifecycle文件中配置了upgrade字段的服务包
服务接入 本章节主要介绍如何将一个现有的服务包接入OSC平台,并可以使用OSC附加功能,有效增加自身服务的运维能力。如开发者需要从头开始编写程序制作应用,可以参考附录如何从零开始开发Operator。 OSC平台支持OSC服务规范,开源Helm或Operator-Framewor
yaml #【必选】参数值文档,为templates下的文档配置参数值 ├─ values.schema.json #【可选】一个使用JSON结构的values.yaml文件 ├─ charts/ #【可选】包含chart依赖的其他chart └─
yaml └── samples └── osctest_v1_hwfka.yaml 新增api目录,包含CRD的类型定义。 hwfka-operator └── api └── v1 ├── groupversion_info.go
他PVC申请,需要删除并重新创建PV; # Recycle清除PV中的数据,相当于rm -rf /thevolume/*。自动启动一个Pod删除PV中的数据,删除后PV的STATUS恢复为Available; # Delete删除存储资源。 persist
version: "0.0.1" source: ISV 修改manifests/hwfka_crd.yaml文件。该文件为描述operator使用到的自定义资源(CRD),可以直接复用hwfka-operator/config/crd/bases/osctest.huawei.com_hwfkas
在服务详情页面的“服务依赖”标签页中,可展示实例的拓扑依赖关系,以及每个实例的运行状态,点击拓扑节点可以跳转到实例详情页面。 公测 自定义服务CSD 3 服务插件支持查看日志和事件 服务插件和服务管理页面,单击“日志”和“事件”,您可以查看插件的运行日志和事件。 公测 运维能力插件
patch); err != nil { return nil, err } } return secret, nil } 如果一个动作的处理时间较长,为了避免Reconcile阻塞,需要使请求返回并重新排队,有四种方法: // 请求成功,不再排队 return ctrl