更新时间:2024-04-17 GMT+08:00

CCE.HelmRelease

模型说明

Helm是CCE提供的一种基于K8S的打包规范,CCE.HelmRelease是Helm包的部署实例。

模型属性

表1 模型定义属性说明

属性

是否必选

描述

name

创建的CCE.HelmRelease名称

参数类型:string

取值说明:自定义,如my_release

取值约束:由小写字母、数字和中划线组成,且必须以字母开头。

clusterId

资源所属的集群ID

参数类型:Cloud.CCE.Cluster.Id

取值说明:已有容器集群的ID或新建集群的ID

取值约束:满足UUID规则,最大64位。

使用建议:可不填,堆栈创建时可以选择

namespace

资源在集群内所在的命名空间

参数类型:string

取值说明:集群内存在的命名空间

默认值:default

取值约束:由小写字母、数字和中划线组成,且必须以字母开头。

使用建议:可不填,堆栈创建时可以选择

chart

Helm应用的Chart信息。

参数类型:CCE.HelmChart

取值说明:包含chart包名称和版本号,可在CCE管理控制台-模板市场中找到相应的值

默认值:{u'version': u'', u'name': u''}

使用建议:用户根据所要编排的helm应用填写

values

Helm应用的输入值。

参数类型:dict

取值说明:用户自定义

默认值:{}

取值约束:复合结构体,类似{“key”:“value”},其中value可嵌套结构体。

使用建议:如果是自己的应用则需要填写相应的输入值

关联关系

表2 关联关系说明

关系说明

关联节点

关联关系

CCE.Pod

关联关系

CCE.Storage.SFS

关联关系

CCE.HelmRelease

关联关系

CCE.Storage.OBS

被包含关系

CCE.Cluster

输出

属性

参数类型

描述

clusterId

string

集群ID

refName

string

Release的名称

blueprint样例

tosca_definitions_version: cloud_tosca_version_1_0 
inputs:
  release_name:
    default: "release"
  cluster_id:
    default: "25f511bc-00f7-11e8-958d-0255ac101a5a"
  namespace:
    default: "default"
  chart_name:
    default: "redis"
  chart_version:
    default: "1.0.0"
  app_image:
    default: "10.125.5.235:20202/test/redis:3.2.8"
  config_image:
    default: "10.125.5.235:20202/test/redis-conf:3.2.8"
  service_port:
    type: integer
    default: 6379
node_templates:
  redis-helm:
    type: Cloud.CCE.HelmRelease
    properties:
      name: {get_input: release_name}
      chart:
        name: {get_input: chart_name}
        version: {get_input: chart_version}
      clusterId: {get_input: cluster_id}
      namespace: {get_input: namespace}
      values: 
        chartimage: 
          app_image: {get_input: app_image}
          config_image: {get_input: config_image}
        format1: 
          redis_master_replicas: 1
          redis_sentinel_replicas: 1
          redis_slave_replicas: 1
        format2:
          redis_master_replicas: 1
          redis_sentinel_replicas: 1
          redis_slave_replicas: 2
        highavailable: 
          redis_replication_enabled: true
          redis_sentinel_replicas: 1
          redis_slave_replicas: 1
        servicestorage:
          service:
            instance: "127.0.0.1"
            service_port: {get_input: service_port}
            type: "ClusterIP"
          storage:
            enabled: false
            kind: "sas"
            size: "10Gi"