检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
domain: huawei.com layout: - go.kubebuilder.io/v3 projectName: hwfka-operator repo: hwfka-operator resources: - api: crdVersion: v1 namespaced
package v1 import ( corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) /
/oscctl-22.8.18/linux-x86_64/oscctl convert -i datadog-operator.zip -o datadog-operator-0.3.2.zip Successfully converted original package to
pv.beta.kubernetes.io/gid: "1234" spec: capacity: storage: 1Gi # 指定PV容量 accessModes: # 访问模式: # ReadWriteOnce
UCS},分别表示CCE平台和UCS平台,大小写敏感,默认值为CCE。
开发Operator 开发原理 在本章节以Kafka为例,构建Kafka-Operator进行Kafka实例的管理,同时Kafka实例将以三节点集群的形式对外提供服务。对于Kafka实例/集群而言,需要依托于zookeeper进行构建,zookeeper用作Kafka集群的元数据管理
构建Operator CRD介绍 创建Operator项目 创建API和Controller 父主题: 开发Operator
Operator规范 Operator包含三类核心文件: 软件包清单:package.yaml 集群服务版本:csv.yaml 自定义资源:crd.yaml # Opeartor结构 {Operator-Package} ├─ xxx.package.yaml
实现Operator 定义API 实现Controller 生成代码和资源描述文件 父主题: 开发Operator
安装Controller 安装 kustomize 基于模板生成YAML文件,下载kustomize二进制压缩包:https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v3.8.1/kustomize_v3.8.1
Operator代码示例 CRD典型格式 Controller实现 挂载存储 创建存储 父主题: 附录
hwfkas.osctest.huawei.com spec: group: osctest.huawei.com names: kind: Hwfka listKind: HwfkaList plural: hwfkas singular: hwfka scope: Namespaced
方式 deployment 否 install.clusterPermissions 安装时需要的集群级别的权限 Kubernetes RABC规范 否 install.deployments 安装时的内容 Kubernetes Deployment规范 是 upgrade.replaces
/hwfka-operator-package Successfully created original package to OSC package! 检查服务包目录结构。
oc-operator服务是云原生服务中心用于安装operator或者helm等服务的插件,其负责对应服务的生命周期管理如安装、升级、删除等操作,因此建议用户不要在后端手动删除或修改oc-operator的pod或者deployment类型资源。
如何从零开始开发Operator 开发Operator 制作镜像 制作服务包 父主题: 附录
生成代码和资源描述文件 修改api/v1/memcached_types.go或controller中的markers之后,需要重新生成代码和资源描述文件。 # 生成 api/v1/zz_generated.deepcopy.go make generate # 生成 config
查看监控信息功能仅支持CCE集群。 父主题: 服务实例日常操作
约束与限制 集群限制 使用OSC部署服务前,您需要创建或已有一个可用的CCE集群,并确保集群版本在v1.15及以上。 上传私有服务限制 每次最多只能添加5个服务包。 服务包大小不能超过4MB。
用户需要在用户部署的deployment.yaml、statefulset.yaml等包含镜像下载的文件中增加如下配置。