所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级

FusionCloud 6.3.1 用户指南 (Region Type I) 10

评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
服务发布规范

服务发布规范

服务发布包格式

服务发布包格式请参见如下:

说明:

一级目录名称首字母大写,支持大小写混排;二级目录要求必须全部小写字母。

├─ Service.yml                    #服务基本信息,必选
├─ ServicePkg                     #程序软件包本身,可选
├─ BluePrint                      #启动软件的设计包,可选
│           ├─ blueprint.套餐1.yml      #支持多个BP, 至少有一个
│           └─ blueprint.套餐2.yml
├─ Broker                                #Broker包,控制服务实例创建&销毁,可选
├─ Console                               #服务管理控制台,可选
├─ Information                           #附信息,可选
│           ├─ description.txt          #服务介绍
│           ├─ sdk                      #服务sdk包
│           │           ├─ service.sdk.java
│           │           ├─ service.sdk.c
│           │           └─ service.sdk.rar
│           ├─ help.doc                 #服务帮助文档
│           └─ logo.jpeg                #服务图标

服务描述文件Service.yml

Service.yml即服务描述文件,用于描述当前服务的基本信息。其内容由如下几个章节构成:

  • Service:最基础的服务信息。
  • ServiceVersion:服务版本相关信息。
  • Broker:Broker相关信息。
  • Console:服务管理控制台信息。
  • ServicePublish:服务发布自定义参数。
  • ServiceProvision:新建服务实例自定义参数。
  • ServiceBinding:服务绑定自定义参数。
  • InstanceUpdate:服务实例更新自定义参数。
  • Plans:服务套餐相关信息。
  • Metering:服务计量计费。
Service.yml参数格式

Service.yml中所有的参数,都是允许用户自定义的。目前用户能够控制的参数有以下五类:

  • 服务元数据:ServiceMetadata。
  • 发布阶段参数:PublishParameter。
  • 订购阶段参数:ProvisionParameter。
  • 绑定阶段参数:BindingParameter。
  • 套餐阶段参数:PlanMetadata。

以上参数中,每类参数均可以再定义多个参数,每个参数必须先指定类型,然后根据类型设置对应的参数属性。当前支持的参数类型有:

  • 数字:float。
  • 字符串:string。
  • 密码:pw。
  • 枚举:enum。
  • docker镜像:image。
  • 布尔:bool。

    yml文件中书写格式以两个空格分层,不能有tab键,否则发布服务时配置文件会报格式错误。

Service基本信息
Service: #最基础的服务信息
  Name: hadoop
  Alias: 大数据计算 #支持中文
  Catalog: compute #服务类型(大类)
  Tags: [hadoop, data] #服务类型(小类)
  Mode: passthrough  #可选,默认不填表明普通模式 ,passthrough是透传模式
  ServicePkg: http://some.url/version  #服务包地址
  Blueprint: DefaultTemplateName  #设计包,可选(逻辑多租不需要)
  BlueprintVersion: #设计包版本,可选(逻辑多租不需要,Blueprint有值时必填,版本号需添加单引号,例如'1.0')
  Dependency: #依赖的服务,可选
    - ServiceTag-A
    - ServiceTag-B
  CMD: cd /home/app;./service #可选
  Description: description of this service  #可选
  SDK: repository/filename/version   #可选
  Logo: http://logo.address.url/   #可选
  Help: http://help.address.url/   #可选
  UsePaasResource:true    #共享集群中配置为true表示使用paas资源,默认为false
 SelectNode: true  #Broker和Consloe部署指定节点。true表示选择节点部署,默认为false。值为true时必须在相应的节点输入标签Broker:Broker
 SyncMo:false   #可选,是否将服务注册到ManageOne界面

Service信息各字段说明请参见表39-141

表39-141 Service字段说明

字段名

说明

Name

服务名称。

Alias

服务别名,支持中文。主要方便对英文服务名字有更直观的理解。

Catalog

表示服务大类。例如计算类,资源类,工具类。对应关系如下(大小写不敏感)。

  • Analysis:分析服务
  • Compute:计算框架
  • MiddleWare:中间件
  • DataMarket:数据市场
  • Tool:工具类
  • Other:其他

Tags

指定服务标记,用于更进一步设定服务类型。以mysql服务为例,可以有单机版,开源版。服务上架时,服务名可以选不同的名字,但可以将Tag都记为mysql,表示为同一类型的服务。可以把该字段看着服务的小类。这里支持为发布的服务设置多个Tag。

说明:

当指定依赖其他服务时,此字段需要设置成对方的Tag,而不是对方的服务名。

Mode

可选,默认不填表明普通模式 ,passthrough是透传模式。

ServicePkg

软件包地址,可配置为完整路径或相对路径。

  • 完整地址:其他地址或本产品软件仓库地址(仅限公有软件包)。
    http://some.url/version
  • 相对地址:本产品软件仓库+相对地址,即软件包上传到软件仓库后获得的地址。

Blueprint

表示编排设计包的名字,设计包需要提前上传到模板仓库。设计包文件格式为编排设计包格式,详见设计包开发规范。该文件用于描述如何启动软件包。该字段为可选,逻辑多租的实例按理就不需要模板。

说明:
  • 术语中,“Blueprint”=“Template”=“模板”=“设计包”。
  • 若发布服务时套餐不指定其他Blueprint,该套餐就会使用这里配置的Blueprint。若套餐中指定其他Blueprint,会覆盖此默认数值。

BlueprintVersion

设计包版本,可选(逻辑多租不需要,Blueprint有值时必填,版本号需添加单引号,例如'1.0')。

Dependency

当前服务所依赖的服务。

说明:

请配置为当前服务所依赖服务的Tag,而不是所依赖服务的服务名,支持为当前发布的服务指定多个依赖

CMD

启动Service软件包的方法(启动命令),为可选字段。

Description

服务的详细描述信息。

SDK

服务的sdk文件地址。支持完整路径(本产品软件仓库地址仅限公有软件包),或者简写,简写时系统会自动补全,默认补全为第一个匹配对象。

例如完整文件地址为:http://10.175.11.228:20202/op_svc_cse/service.logo,简写时,系统会自动补齐,格式如下:repository/filename/version。

说明:
  • 简写时,需要指定三个信息,软件仓库的仓库名,文件名和版本号,三者以斜杠分隔。(这3个字段是上传到软件仓库的必要信息)
  • 该设计是为了便于在不同的本产品环境发布服务时,Service.yml不用修改。

Logo

服务的logo图标文件地址。支持完整路径(本产品软件仓库地址仅限公有软件包),或者简写,简写时系统会自动补全,默认补全为第一个匹配对象。

Help

服务的帮助文档地址。支持完整路径(本产品软件仓库地址仅限公有软件包),或者简写,简写时系统会自动补全,默认补全为第一个匹配对象。

UsePaasResource

在共享集群的场景下,需要区分是否使用paas资源。

  • false:不使用paas资源。则服务broker部署在租户纳管的节点上。
  • true:使用paas资源。则服务broker部署在租户op_svc_cse纳管的节点上,需要保证op_svc_cse租户下有纳管节点资源。

SelectNode

Broker和Console部署指定节点。true表示选择节点部署,默认为false。值为true时必须在相应的节点输入标签Broker:Broker

说明:

Broker信息中,当BrokerLabel有值时,选择BrokerLabel指定的节点;当BrokerLabel的值为空时,选择SelectNode指定的节点。同理,在Console信息中,当ConsoleLabel有值时,选择ConsoleLabel指定的节点;当ConsoleLabel的值为空时,选择SelectNode指定的节点。

SyncMo

(可选)在FusionCloud方案中,是否将服务也注册到ManageOne界面中,默认为false。如果为true,还需要确保是发布为平台级服务,即IsPublic为true。

ServiceVersion信息

指定一个服务的多个版本的相关信息,比如不同版本的软件包信息。

ServiceVersion:
  MetadataDefine: #服务发布者提供的,用于启动服务实例的信息
    zk: 
      type: image
    hadoop: 
      type: string
  VersionArray:
    1.1:
      VersionCode: "1.1"  #版本1.1
      Description: 第一个版本

ServiceVersion信息各字段说明请参见表39-142

表39-142 ServiceVersion字段说明

字段名

说明

MetadataDefine

用于定义不同版本之间共同的参数的格式。

VersionArray

指定当前服务的版本信息。

  Version:
    VersionCode: "1.1"  #版本1.1
    Description: 第一个版本
  • VersionCode:指定发布服务的版本信息,是字符串类型的。版本格式限定是“A.B”,其中A的范围为0-99,B的范围为0-99。
  • Description:当前版本的介绍信息。例如:“1.2版本修复了1.1版本的xxx问题”。
Broker信息
Broker: #Broker相关信息
  Address: http://XXX     # 第三方部署的 broker 地址,若填了值,则F本产品不再部署 broker
  BrokerPkg: BrokerImageName  #Broker包地址
  Port: 18081  #程序监听端口(容器内)
  DashboardPattern: /index.php?username={user_name} #无broker时,实例界面入口
  CMD: cd /home/app;./broker  #可选
  MemoryLimit:500  #限制broker启动时内存使用量
  Volume: [/host/path, /container/path] #可选
  CustomerTag:
    nettype: 2
  BrokerUseHttps: false  #broker是否使用https
 BrokerLabel: broker01  #(可选外置Broker部署时选择的对应节点标签,需要在节点添加对应的标签。

Broker信息各字段说明请参见表39-143

表39-143 Broker字段说明

字段名

说明

Address

paas外已部署的broker地址。若填写地址,则PaaS上不再部署broker。

BrokerPkg

Broker镜像包地址,可以配置为完整路径或相对路径。

  • 完整地址路径:其他地址或本产品软件仓库地址。
  • 相对路径:补全规则“本产品软件仓库+租户名+相对路径”。
    说明:

    例如完整路径为:10.175.11.228:20202/op_svc_cse/hello-broker:latest

    不完整路径,系统会自动补齐,补全规则如:“hello-broker:latest”自动补齐为ServiceStage软件仓库/租户名/hello-broker:latest”

Port

用于指定Broker程序容器内监听的端口。可选,如果不填默认为18081端口。

说明:

Broker开发建议使用18081端口。若不使用默认端口,则服务发布时需要在配置文件或者高级设置内修改为Broker开放的对应端口号。

DashboardPattern

表示服务实例的界面的URL相对路径,主要给无需开发Broker场景使用。

本字段的路径中,大括号内的值表示待定,真实的值会在实例启动后,由实际值替换。其值会从credential中获取。因此要求{key}中的key必须在credential中存在。

例如:DashboardPattern: /index.php?username={user_name}

生成的实例credential为: {"user_name": "t00148181"}

那么最终生成的实例入口地址为:/index.php?username=t00148181

MemoryLimit

限制Broker启动的内存,为可选字段。

默认值为:1024M。

CMD

启动Broker的方法(启动命令),为可选字段。

BrokerUseHttps

是否使用https,为可选字段。

BrokerLabel

外置Broker部署时选择的对应节点标签,需要在节点添加对应的标签。为可选字段。

Console信息

Console字段描述服务管理控制台相关信息,管理控制台用于管理服务实例,一般会带UI界面,方便使用者直观的管理服务实例。

Console程序包即服务控制台程序包,如果在Service.yml中没有填写ConsolePkg的URL地址,则用户需要单独提供该程序包。本产品会将该软件包上传至软件仓库,并作为ConsolePkg的地址。

如果Service.yml没有写ConsolePkg的地址,也不独立提供Console程序包,则认为该服务不需要启动独立的Console控制台,而是每个服务实例有自己的Console界面。

Console:
  Source: Broker/Service
  ConsolePkg: ConsoleImageName   #Console包地址
  Entry: /provision/path
  UseDomain: true                 # 使用域名方式
  Port: 18086                   #程序监听端口
  CDM: cd /home/app;nodejs console   #可选
  MemoryLimit:500               #限制broker启动时内存使用量
  SkipConsoleHealthCheck: true  #是否跳过健康检查(可选)
  ConsoleUseHttps: false  #console是否使用https(可选)
 ConsoleLabel: console01 #(可选)Console部署时选择的对应节点标签,需要在节点添加对应的标签

Console信息各字段说明请参见表39-144

表39-144 Console字段说明

字段名

说明

Source

描述服务管理控制软件包的出处。

  • 值为Broker,则认为Console与Broker程序是合设的。即一个程序同时完成Broker与Console功能。
  • 值为Service,则认为Console是由每个服务实例独立提供的。即每个实例有自己的管理控制台,而不是一个独立控制台程序管理所有的实例。
  • Console为独立程序,则该字段可以不填,由ConsolePkg字段指定。

ConsolePkg

表示服务管理控制台为独立程序,并指定程序包地址。该地址可配置为完整路径或相对路径。

  • 完整地址:其他仓库地址或本产品软件仓库地址(仅限公有程序包)。
  • 相对地址:本产品软件相对地址即软件包上传到软件仓库后获得的地址。

Entry

控制台入口相对URL路径。

UseDomain

用于指定console是否采用域名方式访问,如果需要让浏览器能访问console,该值必须为true。

Port

用于指定Console程序监听的端口,是在容器内监听的端口。若填空则默认为18086端口。

说明:

Console开发建议使用18086端口,若不使用默认端口,则服务发布时需要在配置文件或者高级设置内修改为Console开放的对应端口号。

CDM

Console的启动命令(如果为独立程序的话),为可选字段。

MemoryLimit

限制Console启动的内存,为可选字段。

默认值为:1024M。

若Broker已经规定了内存使用量,Console的内存限制值将和Broker的内存限制值相同,此时memorylimit的重复赋值无效。

SkipConsoleHealthCheck

是否跳过健康检查,为可选字段。

ConsoleUseHttps

是否使用https,为可选字段。

ConsoleLabel

Console部署时选择的对应节点标签,需要在节点添加对应的标签为可选字段。

ServicePublish(服务发布)

用于控制发布服务的属性。

说明:

这些参数列表,由界面传给本产品服务管理,服务管理在启动该Broker时,将参数列表作为parameters传递给Broker程序(参数信息本产品全程透传,不关心其内容)。

ServicePublish: #服务发布自定义参数
  ResourcePool: [dev, test, prod]  #资源池
  IsPublic: true  #平台级服务or租户级服务
  Metering: true #是否需要计量计费
  Parameters:
    DB: 
      type: string
      alias: 数据库
      domain:
      default: Oracle
      read_only: false    
    user_name: 
      type: string
      alias: 用户名
      domain:
      default: userA
    password: 
      type: pw
    ip: 
      type: string
    port: 
      type: float
      alias: 端口号

ServicePublish各字段说明请参见表39-145

表39-145 ServicePublish字段说明

字段名

说明

ResourcePool

表示服务允许订购的范围(资源维度)。如果发布时只指定了dev,那么在prod的环境中就没有权限申请。

IsPublic

表示服务是否全局可见(可被订购)。如果是平台级服务,所有租户都可购买,如果是租户级服务,只支持自己租户购买。默认发布为租户级服务。

Metering

用于指定当前发布的服务是否需要进行计量计费。默认为免费(不计量)。

Parameters

指定服务发布时需要额外的参数信息,这些参数信息在发布的时候由发布者根据现场情况确定,并会在发布过程中传递给Broker和Console程序,该字段由多个key/value列表组成。

ServiceProvision(创建服务实例)

该字段描述新建一个服务实例所需要的相关信息。

ServiceProvision:
  Source: Broker/Console
  Path: /provision/path
  SkipApproval: false #默认需要审批
  Parameters:
    Key1: 
      type: string
    Key_2: 
      type: string

ServiceProvision各字段说明请参见表39-146

表39-146 ServiceProvision字段说明

字段名

说明

Source

指明新建服务实例的界面由服务提供。

  • 值为Broker,则认为新建实例的界面与Broker程序是合设的。即创建新实例的界面由Broker提供。
  • 值为Console,则认为新建实例的界面与Console程序是合设的。即创建新实例的界面由Console提供。
  • 如果没有,则认为创建新实例的界面,由本产品提供。

Path

新建实例页面的相对URL路径。

  • Broker的地址+Path
  • Console的地址+Path
  • 服务实例地址+Path

SkipApproval

指明新建实例是否需要管理员审批。默认情况下,订购服务都需审批。在有自动化需求,或者实例是私有的情况下,可以考虑设置为免审批服务。

  • false:需要审批。
  • true:不需要审批。

Parameters

指明新建服务实例时,需要填写的信息。该信息会传递给Broker用于控制启动实例。

说明:

当界面由本产品提供,并且出现该字段时,才会生效。

ServiceBinding(服务绑定)
ServiceBinding:
  Append: true    #服务实例启动后,支持再次添加(绑定)依赖
  Parameters:
    Username: 
      type: string

ServiceBinding各字段说明请参见表39-147

说明:

这些参数列表,由界面传给本产品服务管理,服务管理在通知Broker进行Binding时,将参数列表会作为metadata传递给Broker(参数信息本产品全程透传,不关心其内容)。

表39-147 ServiceBinding字段说明

字段名

说明

Append

表示当服务启动以后,是否支持额外添加所依赖的服务。默认为False。

说明:

添加的依赖信息,只有在重启当前服务实例后才生效。

  • true:允许服务实例再次绑定依赖。
  • False:不允许服务实例再次绑定依赖。

Parameters

指定服务绑定时,需要额外绑定的自定义参数。由多个key/value列表组成。

其中,key字段会在服务绑定界面显示;value字段在服务绑定时需要发布者手工填写。

InstanceUpdate(服务实例更新)

服务实例更新不支持更新服务依赖。

InstanceUpdate:
  Enable: true 
  Source: Broker/Console
  Path: /update/path     #更新实例提供独立界面,默认等于ServiceProvision的路径
  Parameters:            #默认等于ServiceProvision的Parameters
    Key1: 
      type: enum
      alias: 关键数值1
      domain: value1/value2/value3
      default: value1
      read_only: false    
      optional: false
      check: true
      changed: false
      range_min: 1
      range_max: 100
    Key_2: 
      type: float
      alias: 关键数值2
      domain: 
      default: value2
      read_only: false    
      optional: false
      check: true
      changed: false
      range_min: 1

InstanceUpdate各字段说明请参见表39-148

表39-148 InstanceUpdate字段说明

字段名

说明

Enable

表示服务是否支持实例的更新功能。

不设置默认为支持更新。

该值为false时,服务实例的“更新按钮灰化

Source

表示更新服务实例的界面是由服务发布者提供,指定界面来源。

当Source字段有值时,这时消费者在更新服务实例时看到的界面是由服务发布者提供的。

Path

更新实例提供独立界面,默认等于Provision的路径

Parameters

默认等于Provision的Parameters。

Plans(服务套餐)

Plans用于控制实例规格的大小,会在订购服务实例界面展示。

该字段由多个套餐描述组成,每个套餐包含如下内容:

Plans: #服务套餐相关信息
  - Name: small    #没带Blueprint字段,则会使用DefaultTemplateName的Blueprint文件
    IsCustom: true #true表示自定义套餐,false表示基本套餐
    Description: this is small plan, only with 4G memory
    MultiAppLabel: app1  #无broker且实例为多应用时,指定获取实例的界面入口(可选)
    Metadata: 
      Key1: 
        type: string
        alias: 关键数值1
      Key_3: 
        type: string
        alias: 关键数值3

  - Name: large
    Description: this is large plan, with 32G memory
    Metadata: 
      Key1: 
        type: string
      Key_2: 
        type: string
        alias: 关键数值2
        domain: 
        default: value2
        read_only: false    
        optional: false
        check: true
        changed: false
        range_min: 0
        range_max: 20
    Blueprint: PlanTemplateName #可选,如果不存在,则使用DefaultTemplateName
    BlueprintVersion: #设计包版本,可选(Blueprint有值时必填,版本号需添加单引号,例如'1.0')
    MeteringItems: #可选,指定计量&计费因子
      - ItemName: BDI #收费项目
        Specification: large #收费规格
        Accumulate: [key1] #额外累计项。指定Metadata中的字段为计费累计项
      - ItemName: VM

Plans各字段说明请参见表39-149

表39-149 Plans字段说明

字段名

说明

Name

套餐名。

IsCustom

指定套餐类型是否为自定义套餐。true表示自定义套餐,false表示基本套餐。

Description

套餐详情。

MultiAppLabel

(可选)无broker且实例为多应用时,指定获取实例的界面入口,该值与对应的blueprint的输入参数MultiAppLabel相对应。

Metadata

套餐中可以设置调整的信息。

Blueprint

指定套餐应用使用的Blueprint文件名。

如果没有指定,则会按以下规则查找并使用Blueprint文件:blueprint.套餐名.yml

Blueprint目录下用于存放服务程序的启动模板,一个模板可以控制程序的所有启动依赖,包括使用的VM资源,网络配置,组件间启动先后顺序等。Blueprint规范符合TOSCA模型。

Blueprint目录下可以同时存在多个Blueprint文件,命名必须为ServiceName.套餐名.yml,表示支持不同的套餐可以使用不同的Blueprint文件,如果不是额外设置,默认所有套餐都是有同一个Blueprint文件。

说明:

创建服务实例时,用户选中的套餐对应的BlueprintID会传递给服务的Broker,便于快速根据Blueprint启动实例。当存在多个Blueprint文件时,启动实例时具体使用哪个,这个是由用户创建服务实例时,由本产品根据套餐转换为对应的Blueprint_ID,传递给Broker的,由Broker根据“套餐名”和Blueprint_ID来控制启动的实例规格大小。

Blueprint文件也可以在服务软件包内部。

BlueprintVersion

设计包版本,可选(Blueprint有值时必填,版本号需添加单引号,例如'1.0')。

MeteringItems

用于指定当前发布服务的计量因子。本产品会根据这里指定的字段,详细记录被订购的服务实例关于这些字段相关的使用量/使用时长,并转交给计费系统。

服务计量计费是指本产品平台记录服务实例被使用的实际情况,交给计费系统。计费系统负责根据试用情况进行计费。计量计费规格与套餐相关,具体设置请参见Plans(服务套餐)

  • ItemName:用于指定当前套餐下的计量项目名称,若为空默认按套餐名称来计量。如果一个套餐有多个计量项目,那同一个实例就会按照计量项目分别记录使用情况(输出多个话单)。
  • Specification:用于指定当前套餐下的计量项目的规格,若为空默认按套餐名称来计量。
  • Accumulate:当前收费项目下的累计项,用于指定Metadata中的哪个字段为计费累计项。
    说明:

    这里能指定的计量累计项,当前必须限定在Metadata字段列举的范围内。也就是Metadata如果有指定两个Key,只能从这两个Key中选择,超出范围则会被当做无效忽略。

Service.yml样例文件

样例文件如下。

Service:                    #最基础的服务信息
  Name: hadoop
  Alias: 大数据计算         #支持中文
  Catalog: compute          #服务类型(大类)
  Tags: [hadoop, data]      #服务类型(小类)
  Mode: passthrough         #服务模式,包括普通模式,DMS 等透传模式,可选,默认不填表明普通模式 ,passthrough 是透传模式
  ServicePkg: http://some.url/version      #服务包地址
  Blueprint: DefaultTemplateName           #设计包,可选(逻辑多租就不需要)
  BlueprintVersion: #设计包版本,可选(逻辑多租不需要,Blueprint有值时必填,版本号需添加单引号,例如‘1.0’)
  Dependency:                              #依赖的服务,可选
    - ServiceTag-A
    - ServiceTag-B
  CMD: cd /home/app;./service                #可选
  Description: description of this service   #可选
  SDK: repository/filename/version           #可选
  Logo: http://logo.address.url/             #可选
  Help: http://help.address.url/             #可选
  UsePaasResource:true    #共享集群中配置为true表示使用paas资源,默认为false
 SelectNode: true  #Broker和Console部署指定节点。true表示选择节点部署,默认为false。值为true时必须在相应的节点输入标签Broker:Broker
 SyncMo:false   #可选,是否将服务注册到ManageOne界面

ServiceVersion:
  MetadataDefine: #服务发布者提供的,用于启动服务实例的信息
    zk: 
      type: image
    hadoop: 
      type: string
  VersionArray:
    1.1:
      VersionCode: "1.1"                      #版本1.1
      Description: 第一个版本

Broker: #Broker相关信息
  Address: http://XXX             # paas 外已部署的 broker 地址,若填了值,则PaaS上不再部署 broker
  BrokerPkg: BrokerImageName      #Broker包地址
  Port: 18081                     #程序监听端口(容器内)
  DashboardPattern: /index.php?username={user_name}       #无broker时,实例界面入口
  CMD: cd /home/app;./broker      #可选
  Volume: [/host/path, /container/path]                   #可选
  CustomerTag:
    nettype: 2
  BrokerUseHttps: false  #broker是否使用https
 BrokerLabel: broker01  #外置Broker部署时选择的对应节点标签,需要在节点添加对应的标签(可选)

Console: #服务管理控制台信息
  Source: Broker/Service
  ConsolePkg: ConsoleImageName                            #Console包地址
  Entry: /provision/path
  UseDomain: true    # 使用域名方式
  Port: 18081  #程序监听端口
  CDM: cd /home/app;nodejs console                         #可选
  SkipConsoleHealthCheck: true  #是否跳过健康检查(可选)
  ConsoleUseHttps: false  #console是否使用https(可选)
 ConsoleLabel: console01 #Console部署时选择的对应节点标签,需要在节点添加对应的标签(可选)

ServicePublish: #服务发布自定义参数
  ResourcePool: [dev, test, prod]  #资源池
  IsPublic: true  #平台级服务or租户级服务
  Metering: true #是否需要计量计费
  Parameters:
    DB: 
      type: string
      alias: 数据库
      domain:
      default: Oracle
      read_only: false    
    user_name: 
      type: string
      alias: 用户名
      domain:
      default: userA
    password: 
      type: pw
    ip: 
      type: string
    port: 
      type: float
      alias: 端口号

ServiceProvision: #新建服务实例自定义参数
  Source: Broker/Console
  Path: /provision/path
  SkipApproval: false  #指明新建实例是否需要管理员审批,false表示需要审批
  Parameters:
    Key1: 
      type: string
    Key_2: 
      type: string

ServiceBinding: #服务绑定自定义参数
  Append: true #支持再次添加(绑定)依赖
  Parameters:
    Username: 
      type: string

InstanceUpdate:
  Enable: true #不填默认为true
  Source: Broker/Console
  Path: /update/path #更新实例提供独立界面,默认等于Provision的路径
  Parameters: #默认等于Provision的Parameters
    Key1: 
      type: enum
      alias: 关键数值1
      domain: value1/value2/value3
      default: value1
      read_only: false    
      optional: false
      check: true
      changed: false
      range_min: 1
      range_max: 100
    Key_2: 
      type: float
      alias: 关键数值2
      domain: 
      default: value2
      read_only: false    
      optional: false
      check: true
      changed: false
      range_min: 1
      range_max: 100


Plans: #服务套餐相关信息
  - Name: small #没带Blueprint字段,则会使用DefaultTemplateName的BP文件
    Description: this is small plan, only with 4G memory
    MultiAppLabel: app1  #无broker且实例为多应用时,指定获取实例的界面入口(可选)
    Metadata: 
      Key1: 
        type: string
        alias: 关键数值1
      Key_3: 
        type: string
        alias: 关键数值3

  - Name: large
    Description: this is large plan, with 32G memory
    Metadata: 
      Key1: 
        type: string
      Key_2: 
        type: string
        alias: 关键数值2
        domain: 
        default: value2
        read_only: false    
        optional: false
        check: true
        changed: false
        range_min: 0
        range_max: 20
    Blueprint: PlanTemplateName #可选,如果不存在,则使用DefaultTemplateName
    BlueprintVersion: #设计包版本,可选(Blueprint有值时必填,版本号需添加单引号,例如‘1.0’)
    MeteringItems: #可选,指定计量&计费因子
      - ItemName: BDI #收费项目
        Specification: large #收费规格
        Accumulate: [key1] #额外累计项。指定Metadata中的字段为计费累计项
      - ItemName: VM
API服务描述文件Service.yml

API服务描述文件,用于快速发布API服务。与普通服务不同,API服务集成APIG功能。API服务描述文件复用了普通服务描述文件的大多数字段,不同之处在于服务发布时的APIProduct和服务订购参数中的parameters。相同参数不在此做赘述,只说明APIProduct和parameters,见表39-150

#通过API网关发布服务的样例文件
Service:  #最基础的服务信息
  Name: api-service  #服务名称
  Alias: 大数据  #显示名称。可选
  Catalog: compute  #服务类型。预置的服务类型有:分析服务、计算框架、中间件、数据市场、工具类、其他
  Mode: APIMode
  Vendor: Huawei  #服务提供商
  Description: description of this service  #服务简介。
  SDK: http://sdk.address.url/  #可选
  Logo: http://logo.address.url/  #可选
  Help: http://help.address.url/  #可选
 
APIProduct:
  ProductName:  APIP_1
  Version: '1.0.0'
 
ServicePublish:  #服务发布自定义参数
  ResourcePool: [dev, test]  #资源池
 
ServiceProvision:  #新建服务实例自定义参数
  SkipApproval: true  #订购是否免审批。可选
  Parameters:
    删除公告信息:   # API操作名称
      apiName: API_1  #API名称
      apiPermissionList: #权限列表参数
        requestCondition:
          身份证号: value1   
        responseData:
          key2: value2
    查看公告信息:  # API操作名称
      apiName: API_1   # API名称
      apiPermissionList:  #权限列表参数
        requestCondition:
          身份证号: value1
        responseData:
          key2: value2
InstanceUpdate:  #服务更新时自定义参数
  Enable: true  #是否支持实例的更新功能,默认为ture
表39-150 API服务描述文件字段说明

字段名

说明

APIProduct

  • ProductName:对应API产品的名称
  • Version:对应API产品的版本

Parameters

为每一个API操作设置权限列表参数,权限列表参数分为“requestCondition”和“responseData”,均由名称以及code组合成key:value的形式。

  • RequestCondition:调用需要输入的条件。
  • ResponseData申请返回的数据项。

服务附加信息

说明:

当前章节的服务附信息,都为可选内容。

服务介绍

如果在Service基本信息中没有添加服务描述,则允许用户提供description.txt文件用于介绍服务的详细信息。

配置示例:

# description.txt
Hadoop是一个由Apache基金会所开发的分布式系统基础架构,用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
服务sdk包

sdk包用于帮助开发者快速的使用该服务,可以分编程语言列出,以文件的后缀名区分。

帮助文档

服务帮助文档,文件名为help,后缀名不做限制,可以为:

  • help.doc
  • help.html
  • help.pdf
Logo图标

Logo图标文件,用于显示服务图标,文件名为logo,后缀可以支持多种。

服务发布时会过滤掉富文本中哪些内容

服务发布时,会对上传的富文本进行过滤,具体过滤的内容有如下三类:

  • 会引起xss攻击的html语句,例如javascript,onclick,iframe等。
  • 转义字符,例如& ' "等。
  • 多余的空格出现,否则后端将会自动将空格去除,例如:<div class="panel-title" >Secure</div> 将会被改成<div class="panel-title">Secure</div>。
翻译
下载文档
更新时间:2019-08-15

文档编号:EDOC1100043090

浏览量:12644

下载量:555

平均得分:
本文档适用于这些产品
相关文档
相关版本
Share
上一页 下一页