云原生服务中心 OSC-第三方目录Raw

时间:2025-02-12 14:54:25

第三方目录Raw

第三方目录:{OSC-Package}/raw。raw目录下会包含原始Helm包的内容。其他类型服务包不存在该目录。

{OSC-Package}/├─ metadata.yaml            #【必选】元数据文件├─ manifests/               #【必选】资源目录├─ raw/                     #【可选】第三方目录,支持存放helm原始包├─ lifecycle.yaml           #【必选】生命周期文件└─ README.md                #【可选】使用说明文件

Helm包可通过oscctl工具方便地转成OSC服务包,也可通过手工转换。其中Helm规范参见Helm规范

  • Helm原始包结构
    {Helm}/├─ Chart.yaml          ├─ values.yaml         ├─ values.schema.json  ├─ charts/            └─ templates               └─ xxx.yaml
  • 经转换后的OSC服务包结构
    {OSC-Package}/├─ metadata.yaml                 #【必选】新增元数据文件├─ manifests/                    #【必选】新增资源目录│  ├─ helmrelease_crd.yaml      #【必选】创建HelmRelease CRD文件│  └─ helmrelease_csd.yaml      #【可选】新增资源增强配置├─ raw/                          #【可选】第三方目录│  ├─ Chart.yaml          │  ├─ values.yaml         │  ├─ values.schema.json │  ├─ charts/            │  └─ templates           │      └─ xxx.yaml├─ lifecycle.yaml                #【必选】生命周期文件└─ README.md                     #【可选】使用说明文件
  • 转换说明
    • 新增第三方目录raw,将Helm原始包内容全部放到该目录中。
    • 新增元数据文件metadata.yaml,该文件内容包含Chart.yaml,具体规范参见元数据Metadata
    • 新增资源目录manifests,根据Chart.yaml的name创建对应的CRD和 CS D。
      • 新增自定义资源文件helmrelease_crd.yaml,该文件以下划线命名,由工具生成,无需改动。参见HelmRelease CRD示例
      • 新增自定义服务文件helmrelease_csd.yaml,可按需配置相关服务能力。
    • 特别说明
      • Helm类型包转成OSC服务包与Operator类型不相同。转换过程中会根据Helm Chart name自动创建对应的CRD,版本试用版v1。
      • CRD中group固定值helm.osc.huawei.com,kind对应chart name。
      • 如果metadata.yaml中修改了服务包名、版本等内容,需要同步修改raw内的helm包中Chart.yaml内容。
  • HelmRelease CRD示例(crd.yaml)
    apiVersion: apiextensions.k8s.io/v1  # 默认创建v1版本的CRDkind: CustomResourceDefinition   metadata:  name: rediss.helm.osc.huawei.com   # 命名规则:{sepc.names.plural}.{spec.group}spec:  group: helm.osc.huawei.com        # 固定值,helm.osc.huawei.com  names:    kind: RedisHelmRelease          # 命名规则:{chartname}+HelmRelease    listKind: RedisHelmReleaseList  # 命名规则:{spec.names.kind}+List    singular: redis                 # {chartname}的小写形式    plural: rediss                  # singular的复数  scope: Namespaced  version: v1  versions:    - name: v1      served: true      storage: true      schema:        openAPIV3Schema:          properties:            apiVersion:              description: ''              type: string            kind:              description: ''              type: string            metadata:              properties:                name:                  type: string              type: object            spec:              description: ''              properties:                values:                  description: Values defines the running options of helm release                  type: object                  x-kubernetes-preserve-unknown-fields: true              type: object          type: object
support.huaweicloud.com/devg-osc/osc_ss_0011.html