检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
安装Controller 安装 kustomize 基于模板生成YAML文件,下载kustomize二进制压缩包:https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v3.8.1/kustomize_v3
元数据Metadata 元数据文件:{OSC-Package}/metadata.yaml,配置的是服务包的基本信息,包括名称、版本、描述等相关信息。 metadata.yaml样例: name: example-operator version: "1.0.0" appVersion:
构建Operator CRD介绍 创建Operator项目 创建API和Controller 父主题: 开发Operator
注册资产 前置条件 用户已经将对应服务包提交验证申请,并有管理员审批通过。 操作步骤 使用ISV账号登录OSC控制台,单击左侧导航栏“服务发布”。 选择需要注册资产的服务版本。 单击对应服务版本的“注册资产”按钮,弹框查看对应的服务和默认资产信息,检查无误后,单击“确认”后进行资产注册。
如何解决界面显示运行中,但是实际集群中并没有该服务实例问题 使用场景 用户在云原生服务中心中部署Operator类型或Helm类型服务包时,可能因为在部署前刚删除同名服务包后立即部署,导致Kubernetes集群正在处理删除中的组件。因为新部署的服务或服务实例与Kubernete
替换镜像地址配置 OSC需替换values.yaml或者*.clusterserviceversion.yaml中的镜像地址,mapping.yaml文件确定OSC在values.yaml或者*.clusterserviceversion.yaml中哪些字段用于配置镜像地址。mapping
vendor目录 公共能力目录:{OSC-Package}/manifests/vendor,用于存放平台提供的能力配置文件,用于manifests目录中的CRD引用。 公共能力目录结构: {OSC-Package}/ ├─ metadata.yaml ├─ manifests/
提交验证 前置条件 用户已经在“我的服务”-“私有服务”中进行部署验证通过。 操作步骤 使用ISV账号登录OSC控制台,单击左侧导航栏“服务发布”。 选择需要提交验证的服务,单击下拉按钮,查看待发布的服务版本,单击右侧操作栏中的“验证”按钮,进入提交验证材料页面。 用户可以从验证
对接实例升级能力 修改csd.yaml,声明实例版本定义信息。新增配置如下: # 支持升级的镜像版本 versionDefinition: mode: url path: spec.image tags: - 0.0.1 - 0.0.2
附录 如何从零开始开发Operator OSC扩展说明 Operator代码示例 安装Controller
修改配置参数(可选) 部分服务支持实例配置参数动态修改功能,在服务实例详情界面会出现一个“配置修改”页签,单击该页签可以查看当前实例的配置并进行修改。 不同服务的支持情况请查看服务详情,或咨询服务提供商。 父主题: 服务实例日常操作
查看实例信息 登录OSC控制台,在左侧导航栏选择“服务实例”。 查询服务实例。 选择实例的部署场景(CCE或UCS),再通过条件进行筛选。 图1 查询服务实例 支持通过实例名称、区域、集群名称、命名空间和状态进行服务实例查询,直接在搜索栏选择对应条件和关键字即可。 单击实例名称,进入实例的基本信息页面。
创建存储 通过在集群中创建PVC的方式创建存储,典型的创建方式如下: EVS云硬盘 apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc-evs-auto-example namespace: default
如何清理集群中OSC冗余插件数据 使用场景 用户使用OSC平台部署了相关OSC服务后,因为自身原因需要将集群中的OSC等插件信息清理掉,可以参考此章节进行处理。 使用前提 确保集群可以执行kubectl命令,以避免无法执行清理命令。 操作步骤 登录kubernetes集群后台节点
打包到package目录 Helm模板或者operator包有两个修改点: 标记服务的来源,即是来源于开源、华为或者生态伙伴; 统一镜像地址,OSC格式包引用lifecycle.yaml及csd.yaml中配置,Helm模板引用values.yaml中的配置,operator引用*
前置说明 上传商用服务的账号须具有ISV权限,具体申请方式请参见如何加入华为云云市场。 使用商用服务发布的账号需要在上海一region下创建一个OBS桶,桶创建要求如下: 表1 OBS桶创建参数说明 参数 值 说明 区域 上海一 只能选上海一,不能选其它区域,OSC虽然是Global服务,但本身部署在上海一。
对接配置日志 使用前提 对接日志系统,需要在csd.yaml文件中配置能力插件依赖功能声明,具体参考服务包扩展目录 capabilitiesrequirements示例。 对接原理 OSC内置了ops-operator插件,通过webhook的方式拦截标签匹配的工作负载(包括De
CRD典型格式 以v1版本为例: apiVersion: apiextensions.k8s.io/v1 # 创建 CRD kind: CustomResourceDefinition metadata: # 名称必须采用复数 <plural-name>.<group>.<domain>
如何从零开始开发Operator 开发Operator 制作镜像 制作服务包 父主题: 附录
约束与说明 OSC的服务规范兼容Helm和Operator,提供商无需修改业务代码,只需要打包成满足OSC规范的服务包,就可以发布到OSC上。 想使用OSC提供的高级能力,比如监控、日志等运维能力,在Helm或者Operator服务包中添加配置文件,对接平台运维能力,然后再按照制作流程的指导制作服务包。