检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
如何从零开始开发Operator 开发Operator 制作镜像 制作服务包 父主题: 附录
生成代码和资源描述文件 修改api/v1/memcached_types.go或controller中的markers之后,需要重新生成代码和资源描述文件。 # 生成 api/v1/zz_generated.deepcopy.go make generate # 生成 config/crd/bases
创建存储 通过在集群中创建PVC的方式创建存储,典型的创建方式如下: EVS云硬盘 apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc-evs-auto-example namespace: default
CRD典型格式 以v1版本为例: apiVersion: apiextensions.k8s.io/v1 # 创建 CRD kind: CustomResourceDefinition metadata: # 名称必须采用复数 <plural-name>.<group>.<domain>
制作镜像 制作实例镜像 制作Operator镜像 父主题: 如何从零开始开发Operator
制作服务包 创建服务包模板 修改服务包内容 生成服务包 父主题: 如何从零开始开发Operator
服务Operator资源被误删后,删除实例失败时如何清理? 使用场景 在CCE云容器引擎页面,由于用户误删了服务Operator以及oc-operator的Deployment相关资源,此时在OSC服务实例页面删除服务实例时,实例删除失败,报错信息“timeout to handle
接入规范说明 开源OLM服务(operator-framework)服务支持自定义配置服务场景、支持架构等配置,其描述说明定义在clusterserviceversion.yaml中,具体样例如下: apiVersion: operators.coreos.com/v1alpha1
如何解决系统插件或服务Operator一直处于安装中 使用场景 Operator-Chef在部署服务插件的过程中会访问Kubernetes提供的相关接口,例如:Create、Update等,在执行各个操作接口时,其超时时间为10秒,如果超过10秒可能会因为插件一直不能够正常部署造
集群中服务Operator CR被误删后,页面删除实例失败时应如何处理? 使用场景 用户在OSC平台上架了一个服务,并且成功发布服务以及通过服务安装了一个服务实例,然后用户在集群控制节点上手动删除了服务Operator CR,后续用户在OSC服务实例页面想要删除服务实例时,发现实例删除报错,报错信息“timeout
替换镜像地址配置 OSC需替换values.yaml或者*.clusterserviceversion.yaml中的镜像地址,mapping.yaml文件确定OSC在values.yaml或者*.clusterserviceversion.yaml中哪些字段用于配置镜像地址。mapping
基础控件 OSC console依据crd.yaml文件可以自动生成Operator的创建表单。crd.yaml文件中的properties(openAPIV3Schema.properties.spec.properties)对象会自动映射到对应的UI组件。 目前提供的基础类型
服务包目录结构约束 OSC作为一个服务生命周期管理平台,有自定义的服务模型,服务需满足目录格式要求才能被OSC解析,发布到OSC上。 {ServiceName}-{Version}.zip #【必选】服务包 └─{ServiceName}/
打包到package目录 Helm模板或者operator包有两个修改点: 标记服务的来源,即是来源于开源、华为或者生态伙伴; 统一镜像地址,OSC格式包引用lifecycle.yaml及csd.yaml中配置,Helm模板引用values.yaml中的配置,operator引用*
生成服务包 最终的服务目录结构如下: $ tree hwfka-operator-package hwfka-operator-package ├── lifecycle.yaml ├── manifests │ ├─ hwfka_crd.yaml │ └─ hwfka_csd
OSC服务包介绍 目录结构 {OSC-Package}/ ├─ metadata.yaml #【必选】元数据文件 ├─ manifests/ #【必选】资源集合 ├─ raw/ #【可选】第三方目录 └─ lifecycle
如何解决界面显示运行中,但是实际集群中并没有该服务实例问题 使用场景 用户在云原生服务中心中部署Operator类型或Helm类型服务包时,可能因为在部署前刚删除同名服务包后立即部署,导致Kubernetes集群正在处理删除中的组件。因为新部署的服务或服务实例与Kubernete
前置检查 服务包发布到云市场中,需要提供病毒扫描报告,保证发布上架的服务中不存在任何病毒,并在发布商品时提供给云市场运营人员审核,审核通过后商品方可发布成功。 确保Helm模板中的镜像配置都引用values.yaml中的配置,如果不满足,请参见排查和编辑镜像地址排查和整改。 确保operator包中的镜像配置都引用*
自定义资源CRD 自定义资源CRD是Kubernetes服务遵循,一个自定义资源对应一个目录,遵循Kubernetes CRD规范,详细介绍参考官方CustomResourceDefinition。 父主题: 资源集合Manifests
服务插件误删后应该如何处理? 使用场景 用户在云原生服务中心订阅服务或者上传私有服务后并部署实例,云原生服务中心会自动安装服务插件,用户在后台进行kubectl命令操作时误删除了oc-operator的deployment,导致后续无法继续安装云原生服务。 oc-operator