检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
元数据Metadata 元数据文件:{OSC-Package}/metadata.yaml,配置的是服务包的基本信息,包括名称、版本、描述等相关信息。 metadata.yaml样例: name: example-operator version: "1.0.0" appVersion:
开发Operator 开发原理 在本章节以Kafka为例,构建Kafka-Operator进行Kafka实例的管理,同时Kafka实例将以三节点集群的形式对外提供服务。对于Kafka实例/集群而言,需要依托于zookeeper进行构建,zookeeper用作Kafka集群的元数据
如何清理集群中OSC冗余插件数据 使用场景 用户使用OSC平台部署了相关OSC服务后,因为自身原因需要将集群中的OSC等插件信息清理掉,可以参考此章节进行处理。 使用前提 确保集群可以执行kubectl命令,以避免无法执行清理命令。 操作步骤 登录kubernetes集群后台节点
# 通过git clone及本地编译的方法安装kubebuilder可以避免因操作系统类型、系统架构输入错误导致 # kubebuilder二进制文件因操作系统和系统架构导致错误导致的无法使用。同时,通过git操作避免 # 在使用curl过程中需要对开发环境进行证书配置等操作 $
监控、日志、告警等基本运维能力,还包括弹性伸缩、数据备份恢复、故障迁移、故障恢复等高级运维能力,这些能力是服务高可靠、高可用、高SLA的必要条件。严重依赖云平台的能力,对开发者而言都是重复开发工作,高效快速地赋予服务这些能力是开发者面临的一个难题。 当前最常用的服务管理标准Hel
服务包规范 本规范主要面向对象为初次开发的服务以及想要使用OSC平台提供的附加能力进行规范转换的服务。 如果开发者已有或仅想使用Helm/Operator-Framework规范的服务,可以直接参考章节开源服务包规范。 OSC服务包介绍 元数据Metadata 资源集合Manifests
管理。格式示例请参见CRD典型格式。 OpenAPI校验 在定义CRD时,需同时定义基于OpenAPI的校验规则,其中包含创建CR时的字段及取值范围,以便校验用户创建的CR中字段值的合法性。使用Kubebuilder,可通过在API中定义Marker,自动生成spec.validation
部署。 高效开发,自动运维 容器化只是服务云原生化的第一步,服务部署之后需要治理,不仅包括监控、日志、告警等基本运维能力,还包括弹性伸缩、数据备份恢复、故障迁移、故障恢复等高级运维能力,这些能力是服务高SLA的必要条件,严重依赖云平台的能力,对开发者而言都是重复开发工作,高效快速
#【必选】元数据文件 ├─ manifests/ #【必选】资源集合 ├─ raw/ #【可选】第三方目录 └─ lifecycle.yaml #【必选】生命周期文件 表1 目录结构 名称 目录/文件 描述 必选 元数据文件 metadata
create api命令,可以发现在重复下载controller-gen的二进制文件,包括后续使用Makefile去编译operator的二进制文件及打包镜像时,都可能会重复下载使用controller-gen二进制文件,建议提前安装controller-gen二进制,并修改Makefil
hwfka_crd.yaml │ └─ hwfka_csd.yaml │ └─ vendor └── metadata.yaml #【必选】元数据文件 父主题: 制作服务包
IO读写时延:连续两次进行读写操作所需要的最小时间间隔。 IOPS:每秒进行读写的操作次数。 吞吐量:每秒读取和写入的数据量。 更多信息请参见云硬盘EVS:磁盘类型及性能介绍,云磁盘计费方式请参见云硬盘计费说明。 通过在集群中创建PVC的方式创建存储,创建方式请参见创建存储。 RBAC权限管理
对接原理 开源的Prometheus是目前业界广泛应用的监控指标采集系统,其服务端可作为时间序列数据库,采集客户端应用不同时间周期上报的监控指标数据并存储,还可用来查询数据和图形化展示数据趋势。其针对不同的应用,提供了多种客户端exporter实现,用来上报监控指标,如:https://github
`json:"image"` // Hwfka 镜像地址 Storage *StorageSpec `json:"storage"` // Hwfka 数据存储相关配置 } type StorageSpec struct { Class string
实现Operator 定义API 实现Controller 生成代码和资源描述文件 父主题: 开发Operator
生成代码和资源描述文件 修改api/v1/memcached_types.go或controller中的markers之后,需要重新生成代码和资源描述文件。 # 生成 api/v1/zz_generated.deepcopy.go make generate # 生成 config/crd/bases
eased无法被其他PVC申请,需要删除并重新创建PV; # Recycle清除PV中的数据,相当于rm -rf /thevolume/*。自动启动一个Pod删除PV中的数据,删除后PV的STATUS恢复为Available; # Delete删除存储资源。
构建Operator CRD介绍 创建Operator项目 创建API和Controller 父主题: 开发Operator
一定自动运维能力。可以在不改动Kubernetes源码的情况下,通过一个或多个Operator来扩展集群能力,遵照自身业务需求、场景等灵活开发,节省运维成本。流程包括安装Kubernetes、构建Operator和实现Operator。 创建Operator 本章节以应用名称为h
io/zone:创建云硬盘所在的可用区,必须和工作负载规划的可用区保持一致。zone对应的值请参见地区和终端节点。 SFS文件存储:适用于媒体处理、内容管理、大数据分析、分析工作负载等多读多写的场景。 apiVersion: v1 kind: PersistentVolumeClaim metadata: