检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
CRD介绍 CRD(CustomResourceDefinition)是一种自定义的Kubernetes资源,在定义CRD后,可通过在集群内创建对应 CR(CustomResource)对应用进行统一管理。格式示例请参见CRD典型格式。 OpenAPI校验 在定义CRD时,需同时
安装方法二:避免因证书导致无法通过curl进行下载。 # 通过git clone及本地编译的方法安装kubebuilder可以避免因操作系统类型、系统架构输入错误导致 # kubebuilder二进制文件因操作系统和系统架构导致错误导致的无法使用。同时,通过git操作避免 # 在使用curl过程中需要对开发环境进行证书配置等操作
!= nil { return nil, err } } return secret, nil } 如果一个动作的处理时间较长,为了避免Reconcile阻塞,需要使请求返回并重新排队,有四种方法: // 请求成功,不再排队 return ctrl.Result{}
ResourceStatefulSet) return ctrl.Result{}, err } if zkSts.Status.ReadyReplicas < zkSts.Status.Replicas/2+1 { return ctrl.Result{Requeue: true}
态。其根本原因是因为网络不稳定导致 操作步骤 登录云原生服务中心控制台,在左侧导航栏单击"服务插件",在界面右侧选择“系统插件”页签,进入系统插件页面。 假如系统插件状态一直处于“安装中”,请提交工单联系管理员解决。 或将集群卸载重装后,重新使用云原生管理中心进行相关服务的部署。
实现Operator 定义API 实现Controller 生成代码和资源描述文件 父主题: 开发Operator
下载使用controller-gen二进制文件,建议提前安装controller-gen二进制,并修改Makefile中有关这个命令为使用系统命令,而非每次通过go get下载并编译后使用。 该命令主要执行以下动作: 在PROJECT文件中增加API资源声明。 domain: huawei
构建Operator CRD介绍 创建Operator项目 创建API和Controller 父主题: 开发Operator
创建Operator项目 背景 Operator是Kubernetes的扩展软件,通过定制资源管理应用和其他组件,实现一定自动运维能力。可以在不改动Kubernetes源码的情况下,通过一个或多个Operator来扩展集群能力,遵照自身业务需求、场景等灵活开发,节省运维成本。流程
Operator服务接入OSC平台 前置条件 阅读本章节前,用户需要拥有一个符合Operator规范的服务包,Operator服务规范可以参考Operator规范,下面以Operator开源服务datadog-operator为例进行详细说明。 接入流程 用户参考附录oscctl
Operator代码示例 CRD典型格式 Controller实现 挂载存储 创建存储 父主题: 附录
开发Operator 开发原理 在本章节以Kafka为例,构建Kafka-Operator进行Kafka实例的管理,同时Kafka实例将以三节点集群的形式对外提供服务。对于Kafka实例/集群而言,需要依托于zookeeper进行构建,zookeeper用作Kafka集群的元数据
Operator规范 Operator包含三类核心文件: 软件包清单:package.yaml 集群服务版本:csv.yaml 自定义资源:crd.yaml # Opeartor结构 {Operator-Package} ├─ xxx.package.yaml
制作Operator镜像 修改hwfka-operator/Dockerfile内容如下: FROM centos:latest COPY bin/manager / RUN chmod ug+x /manager WORKDIR / 构建容器镜像命令如下: $ make && make
resources: requests: storage: 10Gi storageClassName: csi-nas SFS Turbo极速文件存储:按需申请,快速供给,弹性扩展,适用于DevOps、容器微服务、企业办公等场景。 针对CCE敏捷版,提供local pv的方式创建本地目录存储。
test annotations: scenes: UCS,CCE source: ISV architecture: x86_64,aarch64 categories: Database devices: CPU,GPU,NPU
安装Controller 安装 kustomize 基于模板生成YAML文件,下载kustomize二进制压缩包:https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v3.8.1/kustomize_v3
定义API 在设计的CR spec中,包含size、image、storage属性,因此需要修改api/v1/hwfka_types.go中HwfkaSpec和HwfkaStatus部分,为应用定义参数和状态属性。 package v1 import ( corev1 "k8s
生成代码和资源描述文件 修改api/v1/memcached_types.go或controller中的markers之后,需要重新生成代码和资源描述文件。 # 生成 api/v1/zz_generated.deepcopy.go make generate # 生成 config/crd/bases
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: