检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
实现Operator 定义API 实现Controller 生成代码和资源描述文件 父主题: 开发Operator
安装Controller 安装 kustomize 基于模板生成YAML文件,下载kustomize二进制压缩包:https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v3.8.1/kustomize_v3
开发Operator 开发原理 在本章节以Kafka为例,构建Kafka-Operator进行Kafka实例的管理,同时Kafka实例将以三节点集群的形式对外提供服务。对于Kafka实例/集群而言,需要依托于zookeeper进行构建,zookeeper用作Kafka集群的元数据
构建Operator CRD介绍 创建Operator项目 创建API和Controller 父主题: 开发Operator
Operator代码示例 CRD典型格式 Controller实现 挂载存储 创建存储 父主题: 附录
serviceAccountName: hwfka-operator-sa strategy: deployment # 现在operator部署仅适用deployment资源进行部署 # 由于是第一次部署该服务,不涉及升级 # upgrade: # replaces:
图5 K8S资源对象 Pod数量 预设的设置pod数量控件。 配置示例: - path: advanceTest_podCount description: advanceTest_podCount displayName: advanceTest_podCount
表1 Lifecycle配置 参数名称 参数描述 参数示例 必填 install.strategy 安装方式,目前仅支持deployment方式 deployment 否 install.clusterPermissions 安装时需要的集群级别的权限 Kubernetes RABC规范
properties" ZK_DATA_DIR=${ZK_DATA_DIR:-"/var/lib/zookeeper/zk/${NAMESPACE}/${INSTANCE}/${POD_NAME}/data"} ID_FILE="$ZK_DATA_DIR/myid" ZK_REPLICAS=${ZK_REPLICAS:-"3"}
户者下载使用时需要增加的步骤。 用户需要在用户部署的deployment.yaml、statefulset.yaml等包含镜像下载的文件中增加如下配置。 apiVersion: apps/v1 kind: Deployment metadata: name: example spec:
需要注意的是, UCS FullAccess、UCS ReadOnlyAccess权限与CCE集群中Kubernetes资源权限相互独立。所以在涉及到CCE集群中资源的操作(如创建服务实例、查询服务实例)中,需要前往CCE管理页面进行单独授权。一般情况下,参见CCE授予集群全部权限文档进行权限授予即可。
自定义资源CRD 自定义资源CRD是Kubernetes服务遵循,一个自定义资源对应一个目录,遵循Kubernetes CRD规范,详细介绍参考官方CustomResourceDefinition。 父主题: 资源集合Manifests
使用oscctl工具创建服务包模板。 # 使用oscctl工具,创建服务包 $ oscctl create -o ./hwfka-operator-package Successfully created original package to OSC package! 检查服务包目录结构。 # 服务包的结构 $
如何从零开始开发Operator 开发Operator 制作镜像 制作服务包 父主题: 附录
生成代码和资源描述文件 修改api/v1/memcached_types.go或controller中的markers之后,需要重新生成代码和资源描述文件。 # 生成 api/v1/zz_generated.deepcopy.go make generate # 生成 config/crd/bases
or的deployment,导致后续无法继续安装云原生服务。 oc-operator服务是云原生服务中心用于安装operator或者helm等服务的插件,其负责对应服务的生命周期管理如安装、升级、删除等操作,因此建议用户不要在后端手动删除或修改oc-operator的pod或者deployment类型资源。
3" logPaths: - /var/kafka/ - /var/kafka/access/kafka-access.log 具体参数说明如下: 参数名 含义 类型 是否必填 备注 apiVersion 配置版本 string 是 固定为osc
情查看服务介绍或咨询服务提供商。 以Kafka为例,监控指标分为实例、Broker、Topic三个维度进行展示。 查看监控信息功能仅支持CCE集群。 父主题: 服务实例日常操作
约束与限制 集群限制 使用OSC部署服务前,您需要创建或已有一个可用的CCE集群,并确保集群版本在v1.15及以上。 上传私有服务限制 每次最多只能添加5个服务包。 服务包大小不能超过4MB。 支持三种服务包打包压缩格式 Operator服务:支持遵循OpenShift包格式,以
输入成本。 imagePullPolicy(镜像拉取策略):预置了K8S镜像拉取策略。 k8sResourcePrefix(K8S资源对象):支持设置资源类型并查询展示。 podCount(Pod数量):设置pod数量。 fieldDependency(显示联动):支持控件之间的依赖,控制显示隐藏。