检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
自定义服务CSD 在不同业务环境下,服务对平台有着不同的诉求,Kubernetes提供自定义资源CRD的轻量化机制。而在实践过程中,发现对于服务能力如服务依赖、服务访问、服务部署、监控日志等公共能力欠缺。 因此围绕CRD自研CSD,通过声明式配置CRD的能力引用,增强服务治理能力。
修改服务包内容 修改lifecycle.yaml文件。该文件包括OSC服务包的生命周期的相关信息,例如:安装方式、安装时需要的集群/命名空间级别权限、日志目录等。 install: clusterPermissions: # 集群级别权限,请按照Kubernetes RABC相关规范填写
安装Controller 安装 kustomize 基于模板生成YAML文件,下载kustomize二进制压缩包:https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v3.8.1/kustomize_v3
打包到package目录 Helm模板或者operator包有两个修改点: 标记服务的来源,即是来源于开源、华为或者生态伙伴; 统一镜像地址,OSC格式包引用lifecycle.yaml及csd.yaml中配置,Helm模板引用values.yaml中的配置,operator引用*
生命周期Lifecycle 生命周期文件:{OSC-Package}/lifecycle.yaml,描述当前OSC服务包的安装,升级方式信息。 lifecycle.yaml文件样例 ## 描述该OSC服务包的声明周期相关信息 install: strategy: deployment
第三方目录Raw 第三方目录:{OSC-Package}/raw。raw目录下会包含原始Helm包的内容。其他类型服务包不存在该目录。 {OSC-Package}/ ├─ metadata.yaml #【必选】元数据文件 ├─ manifests/
服务内容说明 服务商用发布版本上架到OSC云原生市场后,会读取服务包的部分描述信息并展示在服务包详情中,因此需要用户在服务包中填写必要的信息,从而保证详情页面展示正常。 根据服务包格式类型,需补充说明内容如下: Helm Chart服务包 Chart服务包其主体描述信息存储在Chart
接入规范说明 开源helm服务支持自定义配置服务场景、支持架构等配置,其描述说明定义在Chart.yaml中,具体样例如下: apiVersion: v1 description: "nginx \n" maintainers: - email: support@rancher.com
元数据Metadata 元数据文件:{OSC-Package}/metadata.yaml,配置的是服务包的基本信息,包括名称、版本、描述等相关信息。 metadata.yaml样例: name: example-operator version: "1.0.0" appVersion:
商用服务预上架失败,报"缺少必要的服务提供者的联系信息" 使用场景 合作伙伴使用账号进行商品发布,在触发安全扫描功能后,等待一段时间报"初始化失败"错误,鼠标放置上面展示详细错误信息,信息报"缺少必要的服务提供者的联系信息"。 报此错误主要是由于ISV用户上传的商用服务包中缺少相
Operator服务接入OSC平台 前置条件 阅读本章节前,用户需要拥有一个符合Operator规范的服务包,Operator服务规范可以参考Operator规范,下面以Operator开源服务datadog-operator为例进行详细说明。 接入流程 用户参考附录oscctl
接入规范说明 开源OLM服务(operator-framework)服务支持自定义配置服务场景、支持架构等配置,其描述说明定义在clusterserviceversion.yaml中,具体样例如下: apiVersion: operators.coreos.com/v1alpha1
Controller实现 修改controllers/hwfka_controller.go文件为如下内容: func (r *HwfkaReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result
控件类型 表单控件类型 1. 使用默认crd.yaml文件自动生成表单 由CRD中定义的openAPIV3Schema字段规定CR中可配置的参数以及这些参数的类型、范围,应用在创建CR的时候通过YAML文件指定这些参数。 2. 使用自定义csd.yaml文件生成表单 自动生成的创
oscctl工具使用 oscctl是一款用于生成华为云OSC服务包脚手架或者将开源Helm或Operator服务包转换为OSC服务包的命令行工具。 工具安装 下载链接:https://oscctl.obs.cn-east-3.myhuaweicloud.com/oscctl-22
CRD典型格式 以v1版本为例: apiVersion: apiextensions.k8s.io/v1 # 创建 CRD kind: CustomResourceDefinition metadata: # 名称必须采用复数 <plural-name>.<group>.<domain>
Helm服务接入OSC平台 前置条件 阅读本章节前,用户需要拥有一个符合Helm规范的服务包,Helm服务规范可以参考Helm规范,下面以helm开源服务grafana为例进行详细说明。 接入流程 用户参考附录oscctl工具使用中的链接下载oscctl工具oscctl-22.8
如何配置监控 使用前提 对接监控,需要在csd.yaml文件中配置能力插件依赖功能声明,具体参考服务包扩展目录 capabilityRequirements示例 对接原理 开源的Prometheus是目前业界广泛应用的监控指标采集系统,其服务端可作为时间序列数据库,采集客户端应用
替换镜像地址配置 OSC需替换values.yaml或者*.clusterserviceversion.yaml中的镜像地址,mapping.yaml文件确定OSC在values.yaml或者*.clusterserviceversion.yaml中哪些字段用于配置镜像地址。mapping