检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
服务包规范 本规范主要面向对象为初次开发的服务以及想要使用OSC平台提供的附加能力进行规范转换的服务。 如果开发者已有或仅想使用Helm/Operator-Framework规范的服务,可以直接参考章节开源服务包规范。 OSC服务包介绍 元数据Metadata 资源集合Manifests
概述 OSC服务开发者指南面向OSC服务开发者,帮助开发者能够快速开发一个新服务或者将已有的服务转换成可以部署在OSC平台使用的服务。OSC为客户提供开箱即用的云原生服务,可以通过OSC部署到任意基础设施,包括云容器引擎、华为云UCS等场景。开发者可以遵从OSC自身的服务规范,或
息,无需切换到不同的运维平台。 兼容社区服务规范 OSC服务规范兼容Helm和Operator Framework社区服务规范,Helm和Operator framework是Kubernetes生态中最常用的服务管理方式,很多已有的服务都是基于这两种方式开发,为了方便这些已有服
OSC服务规范同时支持当前业界使用较为广泛的两种开发服务规范:Helm服务规范和Operator-Framework服务规范。 OSC服务平台支持部署上述两种开源的服务包,但是如需同时使用OSC对外提供的运维和表单控件能力,则需要将部署包转换为符合OSC规范格式的服务包,工具的转
包,就可以发布到OSC上。 想使用OSC提供的高级能力,比如监控、日志等运维能力,在Helm或者Operator服务包中添加配置文件,对接平台运维能力,然后再按照制作流程的指导制作服务包。 服务包目录结构约束 服务包镜像名称约束 服务内容说明 镜像拉取配置说明 父主题: 服务包制作
集群中服务Operator CR被误删后,页面删除实例失败时应如何处理? 使用场景 用户在OSC平台上架了一个服务,并且成功发布服务以及通过服务安装了一个服务实例,然后用户在集群控制节点上手动删除了服务Operator CR,后续用户在OSC服务实例页面想要删除服务实例时,发现实例删除报错,报错信息“timeout
-字段能力的UI组件信息。 配置Descriptor控件时,需要确保在csd.yaml中增加的path字段路径,以v1版本为例,需要和crd中的对应的openAPIV3Schema.properties.spec.properties内的path路径一致,否则会出现控件不生效的情况。 密码输入框 该控件支持先隐藏已输入的密码。
提供者,包含name和url两个字段,注意,当前同一个服务不同版本须配置相同内容,一旦配置后当前不支持修改 参考样例 否 scenes 部署平台列表,取值列表:{CCE,UCS},分别表示CCE平台和UCS平台,大小写敏感,默认值为CCE。 该字段作为兼容性字段,依赖deployScenes属性: 1)当deployScenes不为空,该字段不起作用
yaml文件中增加引用日志能力的配置。 apiVersion: osc.io/v1beta1 kind: CustomServiceDefinition metadata: name: helmrelease-csd spec: CRDRef: apiVersion: apiextensions
由CRD中定义的openAPIV3Schema字段规定CR中可配置的参数以及这些参数的类型、范围,应用在创建CR的时候通过YAML文件指定这些参数。 2. 使用自定义csd.yaml文件生成表单 自动生成的创建表单已经很强大,但有时可能需要修改自定义表单的呈现方式。例如,可能需要对用
"k8s.io/api/apps/v1" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types"
yaml,描述当前OSC服务包的安装,升级方式信息。 lifecycle.yaml文件样例 ## 描述该OSC服务包的声明周期相关信息 install: strategy: deployment clusterPermissions: - rules: - apiGroups:
习”、“其他”。 架构 服务支持的架构类型,当前分为“全部”、“X86_64”、“ARM”。 交付方式 交付方式类型,当前分为“全部”、“Operator”、"Helm"。 部署平台 分为“全部”、“CCE”、“IEF”和“UCS”。 付费 分为“全部”、“免费”和“付费“。 订阅服务。
charts目录 templates目录 {Helm}/ ├─ Chart.yaml #【必选】包含了chart信息文件,包括api版本、名称、描述、图标、类型、注释 ├─ values.yaml #【必选】参数值文档,为templates下的文档配置参数值
OpenAPI校验 在定义CRD时,需同时定义基于OpenAPI的校验规则,其中包含创建CR时的字段及取值范围,以便校验用户创建的CR中字段值的合法性。使用Kubebuilder,可通过在API中定义Marker,自动生成spec.validation.openAPIV3Schema。
生成代码和资源描述文件 修改api/v1/memcached_types.go或controller中的markers之后,需要重新生成代码和资源描述文件。 # 生成 api/v1/zz_generated.deepcopy.go make generate # 生成 config/crd/bases
operator为例: apiVersion: operators.coreos.com/v1alpha1 kind: ClusterServiceVersion metadata: annotations: alm-examples: "[ { "apiVersion":
权限配置 单租户下多IAM用户使用企业仓库场景如何配置权限? 单租户下如何使用IAM系统策略对各IAM子用户进行细粒度权限划分
服务插件管理 OSC中有服务管理和运维能力两类插件,服务管理插件用来管理服务实例的生命周期,由服务提供商提供,当集群首次部署对应服务实例时,会自动安装对应服务的管理插件。服务运维能力插件由OSC提供,当部署的服务声明了诸如日志、监控等运维能力配置时,集群中如果没有对应的运维能力插件,OSC会自动安装。
制作流程 制作服务包目录 放置镜像到images目录 打包到package目录 替换镜像地址配置 父主题: 服务包制作