检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
商用服务的企业或开发者,本文档介绍提供商如何上传和发布商用服务。OSC为客户提供开箱即用的云原生服务,可以通过OSC部署到任意基础设施,包括华为云CCE集群、第三方集群等场景。服务提供商在发布服务时需要提供服务包,服务包中包含部署需要的配置文件以及镜像,并按照OSC可识别的路径放置,保证服务发布中用户可以一键部署。
服务已配置动态UI控件,部署服务实例后,实例详情页面可以展示实例的运行详情,比如运行时参数,并支持配置修改。 提供扩展目录,支持对接运维能力。 OSC支持开发者在扩展目录中添加配置文件对接运维能力。基于该规范开发的服务在部署时,OSC会识别并解析配置文件中的内容,赋予服务对应的功能。 服务接入流程图 父主题: 服务接入
商用服务预上架失败,报"缺少必要的服务提供者的联系信息" 使用场景 合作伙伴使用账号进行商品发布,在触发安全扫描功能后,等待一段时间报"初始化失败"错误,鼠标放置上面展示详细错误信息,信息报"缺少必要的服务提供者的联系信息"。 报此错误主要是由于ISV用户上传的商用服务包中缺少相关的服务提供者联系
安装Controller 安装 kustomize 基于模板生成YAML文件,下载kustomize二进制压缩包:https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v3.8.1/kustomize_v3
与其它云服务的关系 云原生服务中心需要与其他云服务协同工作,云原生服务中心和其他云服务的关系如下所示: 图1 云原生服务中心和其他云服务的关系 表1 云原生服务中心和其他云服务的关系 服务名称 交互关系 主要交互功能 容器镜像服务 SWR 云原生服务中心的服务包模板和镜像存储的仓库。
安装Kubebuilder Kubebuilder是基于custom resource definitions(CRDs)构建Kubernetes APIs的框架,有如下两种安装方法 。 安装方法一:根据kubebuilder官网提供的go语言版本和节点系统架构下载。 # go env
)是一种自定义的Kubernetes资源,在定义CRD后,可通过在集群内创建对应 CR(CustomResource)对应用进行统一管理。格式示例请参见CRD典型格式。 OpenAPI校验 在定义CRD时,需同时定义基于OpenAPI的校验规则,其中包含创建CR时的字段及取值范围
服务内容说明 服务商用发布版本上架到OSC云原生市场后,会读取服务包的部分描述信息并展示在服务包详情中,因此需要用户在服务包中填写必要的信息,从而保证详情页面展示正常。 根据服务包格式类型,需补充说明内容如下: Helm Chart服务包 Chart服务包其主体描述信息存储在Chart
因此需要手动切回至OSC的“我的服务->服务订阅”界面。 部署服务。 在“我的服务->我的订阅”界面查找已订阅目标服务,单击“创建实例”。 根据业务诉求,选择需要的服务版本。 根据业务诉求,选择实例的部署场景、区域、容器集群、命名空间,再选择所需要部署的服务实体。勾选左下角“我已知晓”复选框。
云审计服务支持的OSC操作列表 OSC对接了云审计服务,记录了各种与服务相关的操作事件,便于日后的查询、审计和回溯。 支持云审计的关键操作 表1 云审计服务支持的OSC操作列表 操作名称 资源类型 事件名称 删除仓库绑定关系 relation UnBindRegistryRelation
创建实例应用时,往往涉及大量的参数配置,为方便用户使用,OSC console提供了自动生成表单的能力。 在Kubernetes 1.8中,CRD定义基于OpenAPI v3的验证模式的能力。基于OpenAPI v3能力,可用于自动生成用于创建实例的表单。 控件类型 表单控件 表单控件配置组合示例
^[a-z][a-z0-9\-]*[a-z0-9]$,如果服务名称为业界具有特殊含义的字符串,为了避免被转义,可使用引号引起来。 example-operator 是 version 版本。建议使用引号,否则YAML会将类似2.0的版本号识别为浮点数。 1.0.0 是 appVersion 应用版本信息,长度小于64
的划分,但从实际的功能属性上来说,很容易识别出,不同CRD所处的层级和使用场景并不相同,以etcd为例,可能定义有代表服务主体本身的etcd CRD,以及表示etcd备份的backup CRD,两者客观上存在从属和依赖关系。所以,平铺的定义方式并不能很好的体现这种资源的层级和保证
自定义控件 基于CRD自动生成表单的基础能力控件已经能很好的呈现表单输入,但是为了对用户更友好,更好的表达字段的含义以及隐藏一些非面向用户的字段,因此引入了x-descriptors描述符来定义自定义的控件。 x-descriptors描述符主要用于specDescriptors
storage: false # 再将 storage 设置到可用的版本 - name: v1 served: true storage: true # 基于 openAPIV3Schema 的校验规则 validation: openAPIV3Schema:
种场景,实现应用的跨云和全域部署。 高效开发,自动运维 容器化只是服务云原生化的第一步,服务部署之后需要治理,不仅包括监控、日志、告警等基本运维能力,还包括弹性伸缩、数据备份恢复、故障迁移、故障恢复等高级运维能力,这些能力是服务高SLA的必要条件,严重依赖云平台的能力,对开发者而
使用Kubebuilder,可通过在API结构的属性上定义Markers,自动生成CRD中的spec.validation.openAPIV3Schema,即基于OpenAPI的校验规则,以便校验用户创建的CR中字段值的合法性。如上述设置size属性的最小值和最大值: // +kubebu
-字段能力的UI组件信息。 配置Descriptor控件时,需要确保在csd.yaml中增加的path字段路径,以v1版本为例,需要和crd中的对应的openAPIV3Schema.properties.spec.properties内的path路径一致,否则会出现控件不生效的情况。
、高可用、高SLA的必要条件。严重依赖云平台的能力,对开发者而言都是重复开发工作,高效快速地赋予服务这些能力是开发者面临的一个难题。 当前最常用的服务管理标准Helm和Operator都没有提供开箱即用的治理能力,为此华为云推出了云原生服务中心OSC,开发者基于服务规范和华为云O
RBAC权限管理 Operator使用基于角色的访问控制机制对Kubernetes中的资源进行访问,因此,要保证Operator正确的运行,需要使用管理员权限的账号对Operator进行授权,即预先创建对应的role和rolebinding。 在Reconcile()上添加mark