检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
1个StatefulSet,包含3个Pod分别启动ZooKeeper; 1个Service,用来暴露ZooKeeper访问地址; 1个StatefulSet,包含3个Pod分别启动Hwfka broker; 1个Service,用来暴露Hwfka访问地址; 1个Deployment,包含1个Pod启动KafkaManager;
controllers ├── hwfka_controller.go └── suite_test.go 在main.go的Manager启动时,创建Controller。 if err = (&controllers.HwfkaReconciler{ Client: mgr
ec.validation.openAPIV3Schema,即基于OpenAPI的校验规则,以便校验用户创建的CR中字段值的合法性。如上述设置size属性的最小值和最大值: // +kubebuilder:validation:Minimum=1 // +kubebuilder:
安装Controller 安装 kustomize 基于模板生成YAML文件,下载kustomize二进制压缩包:https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v3.8.1/kustomize_v3
case ResourceDeployment: rs = &appsv1.Deployment{} } // 设置其 owner 为实例 CR if err = ctrl.SetControllerReference(instance, obj,
被其他PVC申请,需要删除并重新创建PV; # Recycle清除PV中的数据,相当于rm -rf /thevolume/*。自动启动一个Pod删除PV中的数据,删除后PV的STATUS恢复为Available; # Delete删除存储资源。 persi
15集群使用的csi关联的storage class名称是csi-disk。 accessModes: 指定读写模式,v1.15集群版本只支持非共享卷,此字段设置为ReadWriteOnce。 storage:存储容量,单位为Gi。 另外需要指定: everest.io/disk-volume-ty
应,存储broker内的消息、topic等数据。对于整体架构而言,先启动一个zookeeper三节点集群作为kafka启动的基础条件,然后启动Kafka三个节点实例(即broker实例)进行服务的提供,同时启动一个KafkaManager用作可视化管理。整体结构如下: 安装Kubebuilder
安装Kubebuilder 环境准备 已安装go v1.16+。 已安装make。 已安装docker 17.03+。 已安装Kubernetes v1.15.0+ 。 已安装kustomize,安装方法请参见安装 kustomize。 已安装controller-gen,安装方
/0.15.0/jmx_prometheus_javaagent-0.15.0.jar。 创建配置文件 创建初始化ZooKeeper的配置启动参数脚本zkGenConfig.sh。 #!/bin/bash ZK_CONF_DIR=${ZK_CONF_DIR:-"/opt/kafka_2
接入规范说明 开源OLM服务(operator-framework)服务支持自定义配置服务场景、支持架构等配置,其描述说明定义在clusterserviceversion.yaml中,具体样例如下: apiVersion: operators.coreos.com/v1alpha1
ct、array类型。 string控件:满足一般的文本输入。 number控件:满足一般的数字输入。 boolean控件:开关控件,支持设置布尔值。 object控件:支持结构体格式输入,具有多层嵌套能力。 array类型:支持数组结构的输入,可以动态增删。 string控件
构建Operator CRD介绍 创建Operator项目 创建API和Controller 父主题: 开发Operator
CRD介绍 CRD(CustomResourceDefinition)是一种自定义的Kubernetes资源,在定义CRD后,可通过在集群内创建对应 CR(CustomResource)对应用进行统一管理。格式示例请参见CRD典型格式。 OpenAPI校验 在定义CRD时,需同时
创建Operator项目 背景 Operator是Kubernetes的扩展软件,通过定制资源管理应用和其他组件,实现一定自动运维能力。可以在不改动Kubernetes源码的情况下,通过一个或多个Operator来扩展集群能力,遵照自身业务需求、场景等灵活开发,节省运维成本。流程
实现Operator 定义API 实现Controller 生成代码和资源描述文件 父主题: 开发Operator
served: false # 需要卸载该版本时,先标记为 non-serving storage: false # 再将 storage 设置到可用的版本 - name: v1 served: true storage: true # 基于 openAPIV3Schema
制作Operator镜像 修改hwfka-operator/Dockerfile内容如下: FROM centos:latest COPY bin/manager / RUN chmod ug+x /manager WORKDIR / 构建容器镜像命令如下: $ make && make
Operator规范 Operator包含三类核心文件: 软件包清单:package.yaml 集群服务版本:csv.yaml 自定义资源:crd.yaml # Opeartor结构 {Operator-Package} ├─ xxx.package.yaml
Operator代码示例 CRD典型格式 Controller实现 挂载存储 创建存储 父主题: 附录