检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
与其它云服务的关系 云原生服务中心需要与其他云服务协同工作,云原生服务中心和其他云服务的关系如下所示: 图1 云原生服务中心和其他云服务的关系 表1 云原生服务中心和其他云服务的关系 服务名称 交互关系 主要交互功能 容器镜像服务 SWR 云原生服务中心的服务包模板和镜像存储的仓库。
社区的operator-sdk开发,最终以zip工具打包出的zip的压缩包上传。 Helm服务:支持遵循Helm包格式,以tar工具打包出的tgz或tar.gz的压缩包上传。 OSC服务:支持通过oscctl工具将Operator服务和Helm服务转换成OSC服务。 服务包校验:
specDescriptors specDescriptors用于描述自定义资源中规范字段的属性。每个字段应包含以下内容: displayName -字段的用户友好名称。 description -字段表示内容的简单描述信息。 path -对象中字段以点分隔的路径。 restriction(可选):指定控件使用场景。
元数据文件 metadata.yaml 存放服务包的基本属性和相关信息,包括名称、版本、描述等相关信息。 是 资源集合 manifests 存放Resources资源定义的集合,以及平台公共能力。 是 第三方目录 raw 存放兼容的第三方文件,如Helm/Operator-Framework。
设置到可用的版本 - name: v1 served: true storage: true # 基于 openAPIV3Schema 的校验规则 validation: openAPIV3Schema: description: Memcached
云审计服务支持的OSC操作列表 OSC对接了云审计服务,记录了各种与服务相关的操作事件,便于日后的查询、审计和回溯。 支持云审计的关键操作 表1 云审计服务支持的OSC操作列表 操作名称 资源类型 事件名称 删除仓库绑定关系 relation UnBindRegistryRelation
服务是OSC管理的最大粒度实体,由用户上传的服务包,会抽象成为服务用于统一管理。 实例 服务按用户指定参数部署到具体的Kubernetes集群中,称为服务的一个实例,一个服务可以拥有多个实例。 集群 集群指容器运行所需要的云资源组合,关联了若干云服务器节点、负载均衡等云资源。您可以
{serviceName}-{Version}.zip 服务名+版本号+zip命名 osc部署包,参考《OSC服务开发者指南》章节2.2《服务包规范》转换operator或Helm生成的服务包。 是 operator部署包 {serviceName}-{Version}.zip 服务名+版本号+zip命名 operator部署包,参考Operator
yaml,该文件内容包含Chart.yaml,具体规范参见元数据Metadata。 新增资源目录manifests,根据Chart.yaml的name创建对应的CRD和CSD。 新增自定义资源文件helmrelease_crd.yaml,该文件以下划线命名,由工具生成,无需改动。参见HelmRelease
statusDescriptors statusDescriptor用于描述自定义资源中状态字段的属性,其配置在csd.yaml文件的status字段。statusDescriptors的结构与specDescriptors相似,包括相同的字段。 text x-descriptors: 文本形式公开实例的状态字段。
资源都是对等的,没有更进一步的划分,但从实际的功能属性上来说,很容易识别出,不同CRD所处的层级和使用场景并不相同,以etcd为例,可能定义有代表服务主体本身的etcd CRD,以及表示etcd备份的backup CRD,两者客观上存在从属和依赖关系。所以,平铺的定义方式并不能很
自定义控件 基于CRD自动生成表单的基础能力控件已经能很好的呈现表单输入,但是为了对用户更友好,更好的表达字段的含义以及隐藏一些非面向用户的字段,因此引入了x-descriptors描述符来定义自定义的控件。 x-descriptors描述符主要用于specDescriptors和
私有服务上传和部署 前提条件 已购买容器镜像服务的企业版实例,且实例可以正常运行。 准备好待上传的zip或tgz格式的helm/operator-framework/osc规范压缩包以及部署时需要运行的镜像。 服务部署流程 选择对应的仓库存储源,将服务包和镜像包分别上传到OSC以及SWR仓库中,进行部署即可。
string控件:满足一般的文本输入。 number控件:满足一般的数字输入。 boolean控件:开关控件,支持设置布尔值。 object控件:支持结构体格式输入,具有多层嵌套能力。 array类型:支持数组结构的输入,可以动态增删。 string控件 一般场景的文本输入,支持校验规则的配置。 配置示例:
参见样例 否 对于lifecycle文件中配置了upgrade字段的服务包,需要确保该服务operator能够管理的实例版本(由CSD文件中的versionDefinition字段规定)与被升级的operator所能管理的实例版本相兼容,否则会导致上传服务包或升级服务operator
服务内容说明 服务商用发布版本上架到OSC云原生市场后,会读取服务包的部分描述信息并展示在服务包详情中,因此需要用户在服务包中填写必要的信息,从而保证详情页面展示正常。 根据服务包格式类型,需补充说明内容如下: Helm Chart服务包 Chart服务包其主体描述信息存储在Chart
path: image x-descriptors: - 'urn:alm:descriptor:com.tectonic.ui:text' - displayName: Size description: The desired number
创建实例应用时,往往涉及大量的参数配置,为方便用户使用,OSC console提供了自动生成表单的能力。 在Kubernetes 1.8中,CRD定义基于OpenAPI v3的验证模式的能力。基于OpenAPI v3能力,可用于自动生成用于创建实例的表单。 控件类型 表单控件 表单控件配置组合示例
修改服务包内容 修改lifecycle.yaml文件。该文件包括OSC服务包的生命周期的相关信息,例如:安装方式、安装时需要的集群/命名空间级别权限、日志目录等。 install: clusterPermissions: # 集群级别权限,请按照Kubernetes RABC相关规范填写
安装controller-gen 构建控制器所使用的Go语言controller-runtime库。 下载源码controller-tools-0.3.0。 构建二进制并安装。 $ unzip controller-tools-0.3.0.zip $ go build -a -o controller-gen