文档首页/ 应用管理与运维平台 ServiceStage/ API参考/ 应用管理API(v3版本)/ 组件/ 根据组件ID获取组件信息 - ObtainComponentInformationBasedOnTheComponentID
更新时间:2026-02-28 GMT+08:00
分享

根据组件ID获取组件信息 - ObtainComponentInformationBasedOnTheComponentID

功能介绍

此API用于通过组件ID获取组件信息。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。

  • 如果使用角色与策略授权,具体权限要求请参见权限和授权项
  • 如果使用身份策略授权,需具备如下身份策略权限。

    授权项

    访问级别

    资源类型(*为必须)

    条件键

    别名

    依赖的授权项

    servicestage:app:getComponent

    read

    app *

    servicestage:app:get

    -

URI

GET /v3/{project_id}/cas/applications/{application_id}/components/{component_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:

租户项目ID。获取方法,请参考获取项目ID

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

application_id

String

参数解释:

应用ID。获取方法,请参考获取所有应用 - ObtainAllApplications

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

component_id

String

参数解释:

组件ID。获取方法,请参考获取应用所有组件 - ObtainAllComponentsOfAnApplication

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表2 查询参数

参数

是否必选

参数类型

描述

version

String

参数解释:

组件版本号。获取方法,请参考获取应用所有组件 - ObtainAllComponentsOfAnApplication

取值范围:

不涉及

默认取值:

不涉及

请求消息

表3 请求Header参数

参数

是否必选

参数类型

描述

Content-Type

String

参数解释:

消息体的类型(格式)。

约束限制:

不涉及

取值范围:

application/json;charset=utf8

默认取值:

不涉及

X-Auth-Token

String

参数解释:

调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考认证鉴权

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

响应消息

表4 响应参数

参数

参数类型

描述

name

String

参数解释:

应用组件名称。

取值范围:

由英文字母、数字、中划线(-)、下划线(_)组成,并以英文字母开头,英文字母或者数字结尾,不区分英文字母大小写,长度为2~64个字符。

workload_name

String

参数解释:

工作负载名称。

取值范围:

不涉及

labels

Array of objects

参数解释:

标签。容器部署可通过标签查询对应工作负载,虚机部署可配置对应的微服务名称的标签来使用优雅上下线功能,请参考表5

runtime_stack

Object

参数解释:

运行时,请参考表32,可通过查询查询技术栈 - QueryTechnologyStack接口返回的信息获取。

environment_id

String

参数解释:

环境ID。

取值范围:

不涉及

application_id

String

参数解释:

应用ID。

取值范围:

不涉及

description

String

参数解释:

描述。

取值范围:

最大长度为128个字符。

source

Object

参数解释:

代码/软件包来源,请参考表33

build

Object

参数解释:

组件构建,请参考表34

limit_cpu

Number

参数解释:

最大CPU限制,单位为Core。

取值范围:

不涉及

limit_memory

Number

参数解释:

最大内存限制,单位为GiB。

取值范围:

不涉及

request_cpu

Number

参数解释:

申请CPU资源,单位为Core。

取值范围:

不涉及

request_memory

Number

参数解释:

申请内存资源,单位为GiB。

取值范围:

不涉及

version

String

参数解释:

组件版本号。

取值范围:

最大长度32个字符,规则为:

^([0-9]+)(\.[0-9]+){2,3}$

envs

Array of objects

参数解释:

环境变量列表,请参考表30

replica

Integer

参数解释:

实例数。

取值范围:

不涉及

storages

Array of objects

参数解释:

存储,请参考表6

deploy_strategy

Object

参数解释:

组件部署,请参考表9

command

Object

参数解释:

启动命令,请参考表14

post_start

Object

参数解释:

启动后处理,请参考表15

pre_stop

Object

参数解释:

停止前处理,请参考表15

mesher

Object

参数解释:

多语言接入服务网格,当技术栈选择Nodejs且绑定cse引擎时为必选,请参考表16

timezone

String

参数解释:

指定组件运行的时区,比如Asia/Shanghai。

取值范围:

不涉及

jvm_opts

String

参数解释:

jvm参数,例如-Xms256m -Xmx1024m,多个参数以空格间隔,不填则使用默认值。

取值范围:

不涉及

tomcat_opts

Object

参数解释:

tomcat参数,技术栈选择tomcat时生效,请参考表17

host_aliases

Array of objects

参数解释:

主机别名,请参考表18

dns_policy

String

参数解释:

DNS策略。

取值范围:

  • Default:继承pod所在节点域名解析配置。
  • ClusterFirst:追加域名解析配置。
  • ClusterFirstWithHostNet:仅对以hostNetWork方式运行的pod生效。
  • None:替换域名解析策略。

dns_config

Object

参数解释:

DNS配置,请参考表19

workload_kind

String

参数解释:

工作负载类型。

取值范围:

  • deployment:无状态工作负载。
  • statefulset:有状态工作负载。
  • daemonset:守护进程集。
  • job:普通任务。

security_context

Object

参数解释:

安全策略,请参考表21

logs

Array of objects

参数解释:

日志采集,请参考表23

custom_metric

Object

参数解释:

自定义指标监控,请参考表24

affinity

Array of objects

参数解释:

亲和性,请参考表25

anti_affinity

Array of objects

参数解释:

反亲和性,请参考表25

liveness_probe

Array of objects

参数解释:

组件存活探针,请参考表27

readiness_probe

Object

参数解释:

组件业务探针,请参考表27

refer_resources

Array of objects

参数解释:

关联资源,请参考表28

status

Object

参数解释:

组件状态,请参考表36

tolerations

Array of objects

参数解释:

容忍度策略,请参考表38

container_name

String

参数解释:

容器名称。

取值范围:

不涉及

update_strategy

Object

参数解释:

组件升级策略,请参考表41

multi_containers

Array of objects

参数解释:

多容器配置,请参考表39

service_name

String

参数解释:

有状态负载的实例间发现服务配置Service名称。

取值范围:

不涉及

ports

Array of objects

参数解释:

有状态负载的实例间发现服务配置端口配置,请参考表40

取值范围:

不涉及

enterprise_project_id

String

参数解释:

企业项目ID。

取值范围:

不涉及

swimlane_tag

String

参数解释:

泳道标签。

取值范围:

不涉及

swimlane_id

String

参数解释:

所属泳道ID。

取值范围:

不涉及

base_lane_instance_id

String

参数解释:

关联基线泳道的基线组件ID,用于标识基线组件和灰度组件的关联关系。

取值范围:

不涉及

refer_resources

Array of objects

参数解释:

关联资源,请参考表28

runtime_stack_id

String

参数解释:

运行时ID。

取值范围:

不涉及

component_id

String

参数解释:

组件ID。

取值范围:

不涉及

deploy_type

String

参数解释:

部署类型。

取值范围:

  • OneBatchRelease:单批部署。
  • RollingRelease:滚动部署。
  • GrayRelease:灰度发布。

platform_type

String

参数解释:

运行平台类型。

取值范围:

应用可以在不同的平台上运行,可选用的平台的类型有以下几种:

  • cce:容器
  • vmapp:虚拟机

config_mode

String

参数解释:

工作负载配置模式。

取值范围:

  • ui:基于ui页面配置选项部署。
  • yaml:基于yaml文件部署。
  • template:基于组件模板创建。

workload_content

String

参数解释:

工作负载内容。

取值范围:

不涉及

workload_name

String

参数解释:

工作负载名称。

取值范围:

不涉及

instance_id

String

参数解释:

组件实例ID。

取值范围:

不涉及

sys_config

Map<String,String>

参数解释:

使用压缩包在虚拟机环境下部署组件配置项。

取值范围:

不涉及

configs

Array of objects

参数解释:

配置文件列表,请参考表42

enable_sermant_injection

Boolean

参数解释:

是否开启Sermant。

取值范围:

  • true:开启
  • false:不开启

enable_sermant_spring_register

Boolean

参数解释:

Spring Cloud Huawei框架的微服务是否需要Sermant帮助注册到注册中心。

取值范围:

  • true:注册
  • false:不注册

enable_sermant_dubbo_register

Boolean

参数解释:

Dubbo框架的微服务是否需要Sermant帮助注册到注册中心。

取值范围:

  • true:注册
  • false:不注册

enable_sermant_config

Boolean

参数解释:

是否开启Sermant动态配置插件能力。

取值范围:

  • true:开启
  • false:不开启

enable_sermant_mq_gray

Boolean

参数解释:

是否开启Sermant消息灰度能力。

取值范围:

  • true:开启
  • false:不开启

image_pull_secrets

Array of strings

参数解释:

镜像拉取密钥列表。

取值范围:

不涉及

template_source

Object

参数解释:

组件模板包来源,请参考表43

template_content

Object

参数解释:

组件模板包内容,请参考表45

resource_content

Object

参数解释:

组件模板包资源详情,请参考表46

auto_lts_config

Object

参数解释:

LTS自动配置,请参考表49

config_encryption

Object

参数解释:

单容器组件配置加密密钥时需设置,请参考表50

task_setting

Object

参数解释:

job类型工作负载的任务设置,请参考表51

vmapp_config_mode

String

参数解释:

虚拟机部署方式部署组件的目录类型。

取值范围:

  • system:内置系统级配置。
  • custom_system:自定义系统级配置。

vmapp_config

Object

参数解释:

虚拟机部署方式部署组件的目录配置,请参考表52

表5 labels

参数

参数类型

描述

key

String

参数解释:

标签名称。

取值范围:

不涉及

value

String

参数解释:

标签值。

取值范围:

不涉及

表6 storages

参数

参数类型

描述

type

String

参数解释:

数据存储类型。

取值范围:

  • HostPath:本地磁盘主机路径挂载。
  • EmptyDir:本地磁盘临时路径挂载。
  • ConfigMap:本地磁盘配置项挂载。
  • Secret:本地磁盘密钥挂载。
  • PersistentVolumeClaim:云存储挂载。

name

String

参数解释:

存储盘名称。

取值范围:

不涉及

parameters

Object

参数解释:

对应各种数据存储类型的信息参数,请参考表7

mounts

Array of objects

参数解释:

数据存储挂载路径,请参考表8

表7 component_storage_parameters

参数

参数类型

描述

path

String

参数解释:

主机路径, 适用于HostPath的存储类型。

取值范围:

不涉及

name

String

参数解释:

配置项、密钥或者PVC的名字, 适用于ConfigMap、Secret和PersistentVolumeClaim的存储类型。

取值范围:

不涉及

default_mode

Integer

参数解释:

挂载的权限,十进制格式,例如:384。适用于ConfigMap和Secret的存储类型。

取值范围:

不涉及

medium

String

参数解释:

适用于EmptyDir类型的存储,例如:memory。

取值范围:

不涉及

表8 mounts

参数

参数类型

描述

path

String

参数解释:

挂载路径。

取值范围:

不涉及

sub_path

String

参数解释:

挂载路径的子路径。

取值范围:

不涉及

read_only

Boolean

参数解释:

是否只读。

取值范围:

  • true:只读,只能读应用路径中的数据存储。
  • false:读写,可修改应用路径中的数据存储,应用迁移时新写入的数据不会随之迁移,会造成数据丢失。
表9 deploy_strategy

参数

参数类型

描述

type

String

参数解释:

部署类型。

取值范围:

  • OneBatchRelease:单批升级。
  • RollingRelease:滚动部署升级。
  • GrayRelease:灰度发布升级。

rolling_release

Object

参数解释:

滚动部署参数,请参考表10

gray_release

Object

参数解释:

灰度发布升级,请参考表12

表10 rolling_release

参数

参数类型

描述

batches

Integer

参数解释:

分批部署批次。

取值范围:

不涉及

first_batch_selector

Object

参数解释:

容器组件对应的工作负载下实例的优先重启策略,请参考表11

表11 label_selector

参数

参数类型

描述

key

String

参数解释:

容器工作负载yaml中“metadata.labels”下的标签key。

取值范围:

不涉及

operator

String

参数解释:

操作符,表示key和values的所属关系。

取值范围:

  • Exists:key存在。
  • DoesNotExist:key不存在。
  • In:key在values里面。
  • NotIn:key不在values里面。

values

Array of strings

参数解释:

容器工作负载yaml中“metadata.labels”下的标签key对应的值。operator为“In&NotIn”时,存在values。

取值范围:

不涉及

表12 gray_release

参数

参数类型

描述

type

String

参数解释:

灰度策略。

取值范围:

  • WEIGHT:按灰度流量进行升级。
  • CONTENT:按内容进行灰度。

first_batch_weight

Integer

参数解释:

首批灰度流量比例,灰度策略为WEIGHT时有效。

取值范围:

不涉及

first_batch_replica

Integer

参数解释:

首批灰度实例数量,灰度策略为WEIGHT时有效。

取值范围:

不涉及

remaining_batch

Integer

参数解释:

剩余实例部署批次,首批灰度发布成功之后,剩余实例滚动升级分多少批次完成。

例如:剩余实例数是5,剩余部署批次是3,那么升级剩余实例会按照2:2:1个实例分批升级。

灰度策略为WEIGHT时有效。

取值范围:

不涉及

deployment_mode

Integer

参数解释:

部署模型。

取值范围:

  • 1:上游是微服务网关。
  • 3:上游是微服务。
  • 4:上游是ELB。

replica_surge_mode

String

参数解释:

灰度实例新增模式,灰度策略为CONTENT时有效。

取值范围:

  • MIRROR:蓝绿。
  • EXTRA:金丝雀(先增后减)。
  • NOSURGE:金丝雀(先减后增)。

rule_match_mode

String

参数解释:

灰度规则生效方式,灰度策略为CONTENT时有效。

取值范围:

  • ALL:满足所有条件。
  • ANY:满足任一条件。

rules

Object

参数解释:

灰度规则,灰度策略为CONTENT时有效,请参考表13

表13 gray_rules

参数

参数类型

描述

type

String

参数解释:

匹配类型。

取值范围:

HEADER:请求头

key

String

参数解释:

参数名称。

取值范围:

不涉及

value

String

参数解释:

条件值。

取值范围:

不涉及

condition

String

参数解释:

条件类型。

取值范围:

  • EQUAL:相等。
  • MATCH:匹配。
  • IN:枚举。
表14 command

参数

参数类型

描述

command

Array of strings

参数解释:

运行命令,控制容器运行的输入命令。

取值范围:

不涉及

args

Array of strings

参数解释:

运行参数,控制容器运行命令的输入参数。例如:-port=8080,多条参数以换行分隔。

取值范围:

不涉及

表15 component_lifecycle

参数

参数类型

描述

type

String

参数解释:

处理方式。

取值范围:

  • http,http请求方式。
  • command,命令行方式。

scheme

String

参数解释:

http请求类型。type为http类型时生效。

取值范围:

  • HTTP
  • HTTPS

host

String

参数解释:

默认为POD的IP,可以指定自定义的IP。type为http类型时生效。

取值范围:

不涉及

port

Integer

参数解释:

端口号,type为http类型时生效。

取值范围:

不涉及

path

String

参数解释:

请求路径,type为http类型时生效。

取值范围:

不涉及

command

Array of strings

参数解释:

命令列表,type为command类型时生效。

取值范围:

不涉及

表16 mesher

参数

参数类型

描述

port

Integer

参数解释:

进程监听端口。

取值范围:

不涉及

表17 tomcat_opt

参数

参数类型

描述

server_xml

String

参数解释:

  1. 监听端口以server.xml配置的为准,如果之前在公网访问配置了监听端口,请保持一致。
  2. 自定义的Tomcat配置可能存在端口冲突,请检查自定义的端口是否被占用。

取值范围:

不涉及

表18 host_aliases

参数

参数类型

描述

ip

String

参数解释:

IP地址。

取值范围:

不涉及

hostname

Array of strings

参数解释:

主机别名。

取值范围:

不涉及

表19 dns_config

参数

参数类型

描述

nameservers

Array of strings

参数解释:

Pod的DNS服务器的IP地址列表。

取值范围:

不涉及

searches

Array of strings

参数解释:

用于在Pod中查找主机名的DNS搜索域的列表。

取值范围:

不涉及

options

Array of objects

参数解释:

可选的对象列表,其中每个对象可能具有name属性(必需)和value属性(可选)。 此属性中的内容将合并到从指定的DNS策略生成的选项。重复的条目将被删除。请参考表20

表20 options

参数

参数类型

描述

name

String

参数解释:

操作名称。

取值范围:

不涉及

value

String

参数解释:

操作值。

取值范围:

不涉及

表21 security_context

参数

参数类型

描述

run_as_user

Integer

参数解释:

运行用户,容器以当前用户权限运行,如以root权限运行则填写root用户ID:0。

取值范围:

不涉及

run_as_group

Integer

参数解释:

运行属组,指定所有容器中的进程都以属组运行。

取值范围:

不涉及

capabilities

Object

参数解释:

能力集,请参考表22

表22 capabilities

参数

参数类型

描述

add

Array of strings

参数解释:

为运行用户添加Linux权限。

取值范围:

不涉及

drop

Array of strings

参数解释:

移除运行用户Linux权限。

取值范围:

不涉及

表23 logs

参数

参数类型

描述

log_path

String

参数解释:

容器中日志路径。

取值范围:

不涉及

rotate

String

参数解释:

日志转储周期。

取值范围:

不涉及

host_path

String

参数解释:

挂载的主机路径。

取值范围:

不涉及

host_extend_path

String

参数解释:

主机扩展路径,通过扩展主机路径,实现同一个主机路径下区分来自不同容器的挂载。

取值范围:

  • None:不使用扩展路径。
  • PodUID:通过POD的ID扩展主机路径。
  • PodName:通过POD的名称扩展主机路径。
  • PodUID/ContainerName:通过POD的ID和容器名称扩展主机路径。
  • PodName/ContainerName:通过POD的名称和容器名称扩展主机路径。
表24 custom_metric

参数

参数类型

描述

path

String

参数解释:

采集路径,例如:/metrics。

取值范围:

不涉及

port

Integer

参数解释:

采集端口,例如:9090。

取值范围:

不涉及

dimensions

String

参数解释:

监控维度,例如:"cpu_usage,mem_usage"。

取值范围:

不涉及

表25 component_affinity

参数

参数类型

描述

kind

String

参数解释:

对象类型。

取值范围:

  • node:节点。
  • pod:工作负载。

condition

String

参数解释:

策略满足类型。

取值范围:

  • required:必须满足。
  • preferred:尽量满足。

match_expressions

Array of objects

参数解释:

调度策略规则,请参考表26

weight

String

参数解释:

权重。

取值范围:

  • “condition”选择“required”时,固定为100。
  • “condition”选择“preferred”时,可输入1到100之间的整数。

topology_key

String

参数解释:

拓扑域。

取值范围:

不涉及

表26 match_expressions

参数

参数类型

描述

key

String

参数解释:

匹配标签key值。

取值范围:

不涉及

operation

String

参数解释:

匹配条件。

取值范围:

不涉及

value

String

参数解释:

匹配标签value值。

取值范围:

不涉及

表27 component_probe

参数

参数类型

描述

type

String

参数解释:

类型。

取值范围:

  • http:HTTP请求检查
  • tcp:TCP端口检查
  • command:执行命令检查

delay

Integer

参数解释:

启动后多久开始探测。

取值范围:

不涉及

timeout

Integer

参数解释:

探测超时时间

取值范围:

不涉及

scheme

String

参数解释:

请求类型。type为http类型时生效。

取值范围:

  • HTTP
  • HTTPS

host

String

参数解释:

默认为POD的IP,可以指定自定义的IP。type为http类型时生效。

取值范围:

不涉及

port

Integer

参数解释:

端口号,type为http和tcp类型时生效。

取值范围:

不涉及

path

String

参数解释:

请求路径,type为http类型时生效。

取值范围:

不涉及

command

Array of strings

参数解释:

命令列表,type为command类型时生效。

取值范围:

不涉及

表28 refer_resources

参数

参数类型

描述

id

String

参数解释:

资源ID。

取值范围:

不涉及

type

String

参数解释:

资源类型。

取值范围:

  • elb:弹性负载均衡
  • cce:云容器引擎
  • ecs:弹性云服务器
  • as: 弹性伸缩组
  • cse:ServiceComb引擎
  • nacos:注册配置中心
  • dcs:分布式缓存服务
  • rds:云数据库RDS
  • gaussdb:云数据库GaussDB
  • dms_rocketmq:分布式消息服务RocketMQ
  • customServer:自定义服务器
  • pvc:存储卷声明
  • css_es:云搜索服务Elasticsearch
  • custom_k8s:自定义kubernetes集群

parameters

Object

参数解释:

资源参数,请参考表29

表29 refer_resource_parameter

参数

参数类型

描述

namespace

String

参数解释:

命名空间。

取值范围:

不涉及

name

String

参数解释:

资源名称。

取值范围:

不涉及

capacity

Integer

参数解释:

存储容量,单位GiB。

取值范围:

不涉及

type

String

参数解释:

存储卷声明类型。当表28中的为pvc时指定。

取值范围:

  • efs:极速文件存储。
  • obs:对象存储。
  • sfs:文件存储。
  • evs:云硬盘。

class

String

参数解释:

存储卷声明子类型。

取值范围:

  • csi-sfsturbo:type为efs时固定指定。
  • csi-obs:type为obs时固定指定。
  • csi-nas:type为sfs时固定指定。
  • csi-disk:type为evs时固定指定。

pv_name

String

参数解释:

存储卷名称。type为efs时展示。

取值范围:

不涉及

share_id

String

参数解释:

存储卷句柄。type为efs时展示。

取值范围:

不涉及

share_export_location

String

参数解释:

存储卷共享路径。type为efs时展示。

取值范围:

不涉及

share_proto

String

参数解释:

存储卷文件系统类型。type为efs时展示。默认为NFS。

取值范围:

不涉及

obs_volume_type

String

参数解释:

OBS存储卷类型,默认为STANDARD标准存储类型。

取值范围:

  • STANDARD:标准存储,拥有低访问时延和较高的吞吐量,适用于有大量热点对象(平均一个月多次)或小对象(<1MB),且需要频繁访问数据的业务场景。
  • WARM:低频访问存储,适用于不频繁访问(平均一年少于12次)但在需要时也要求能够快速访问数据的业务场景。
  • COLD:归档存储,适用于很少访问(平均一年访问一次)数据的业务场景。

access_mode

String

参数解释:

存储卷访问模式。

取值范围:

  • ReadWriteOnce:卷可以被一个节点以读写方式挂载。
  • ReadWriteMany:卷可以被多个节点以读写方式挂载。

availableZone

String

参数解释:

可用区。

取值范围:

不涉及

volume_type

String

参数解释:

存储卷类型。

取值范围:

  • SATA:普通IO,是指由SATA存储提供资源的磁盘类型。
  • SAS:高IO,是指由SAS存储提供资源的磁盘类型。
  • SSD:超高IO,是指由SSD存储提供资源的磁盘类型。
表30 envs

参数

参数类型

描述

name

String

参数解释:

变量名。

取值范围:

不涉及

value

String

参数解释:

变量值。

取值范围:

不涉及

value_from

Object

参数解释:

变量引用,请参考表31

表31 value_from

参数

参数类型

描述

reference_type

String

参数解释:

引用类型。

取值范围:

  • configMapKey:配置项导入。
  • secretKey:密钥导入。

name

String

参数解释:

配置项或密钥的名称。

取值范围:

不涉及

key

String

参数解释:

配置项或密钥的键值。

取值范围:

不涉及

optional

Boolean

参数解释:

配置项或密钥的key是否必须存在。

取值范围:

  • true:必须存在
  • false:非必须存在
表32 runtime_stack

参数

参数类型

描述

name

String

参数解释:

技术栈名称,例如:OpenJDK8。

取值范围:

不涉及

type

String

参数解释:

技术栈类型。

取值范围:

  • 部署模式为虚机部署时,支持Java、Tomcat、Nodejs。
  • 部署模式为容器部署时,支持Java、Tomcat、Nodejs、Php、Docker、Python。

version

String

参数解释:

技术栈版本,例如:1.1.4。

取值范围:

不涉及

deploy_mode

String

参数解释:

部署模式。

取值范围:

  • container:容器部署
  • virtualmachine:虚机部署
表33 source

参数

参数类型

描述

kind

String

参数解释:

组件来源类型。

取值范围:

  • code:源码。
  • package:软件包。
  • image:镜像包。

version

String

参数解释:

版本号。

取值范围:

不涉及

url

String

参数解释:

包地址,类型为package和image时需要添加。

取值范围:

不涉及

storage

String

参数解释:

存储方式。

取值范围:

  • devcloud:CodeArts软件发布库。
  • obs:OBS对象存储。
  • http:自定义文件地址。
  • swr:镜像仓库。

组件来源包类型为package和image时需要添加。

auth

String

参数解释:

认证方式。

取值范围:

  • iam:IAM认证
  • none:无认证

repo_auth

String

参数解释:

授权名称,在授权列表获取,请参考获取仓库授权列表 - ObtainGitRepositoryAuthorizationList

取值范围:

不涉及

repo_namespace

String

参数解释:

代码仓库命名空间。

取值范围:

不涉及

repo_ref

String

参数解释:

代码分支或者Tag,默认是master。

取值范围:

不涉及

repo_type

String

参数解释:

代码仓类型。

取值范围:

  • DevCloud,codearts制品仓。
  • Gitee,开源中国推出代码托管平台。
  • GitHub,开源代码仓。
  • GitLab,开源代码仓。
  • Bitbucket,源代码托管网站。

web_url

String

参数解释:

代码跳转链接,例如:https://github.com/example/demo.git。

取值范围:

不涉及

repo_url

String

参数解释:

代码仓url,例如:https://github.com/example/demo.git。

取值范围:

不涉及

commit_id

String

参数解释:

代码仓库中,commit id是每次提交的唯一标识符,用于识别和引用特定的提交。

取值范围:

长度为8到40个字符,以小写字母或数字开头。

http_username

String

参数解释:

“storage”“http”时需要填写,支持用户名、密码认证,这里填写用户名。

取值范围:

不涉及

http_password

String

参数解释:

“storage”“http”时需要填写,支持用户名、密码认证,这里填写密码。

取值范围:

不涉及

http_command

String

参数解释:

“storage”“http”时需要填写,这里是用户定义软件包的地址。

取值范围:

不涉及

http_headers

Map<String, String>

参数解释:

“storage”“http”时需要填写,支持用户自定义请求头,支持填写一个key,value,例如{"key":"xx","value":"xx""},其中的key和value关键字固定。

取值范围:

不涉及

表34 build

参数

参数类型

描述

parameters

Object

参数解释:

只在没有ID,新创建构建时提供。请参考表35

表35 parameters

参数

参数类型

描述

build_cmd

String

参数解释:

编译命令。默认:

  1. 根目录存在build.sh:./build.sh
  2. 根据运行系统,示例如下:
    • Java和Tomcat:mvn clean package
    • Nodejs: npm build

取值范围:

不涉及

dockerfile_path

String

参数解释:

dockerfile地址,默认是根目录./。

取值范围:

不涉及

artifact_namespace

String

参数解释:

构建归档组织,默认cas_{project_id}。

取值范围:

不涉及

cluster_id

String

参数解释:

指定构建集群的id。

取值范围:

不涉及

node_label_selector

Map<String, String>

参数解释:

key是标签的键,value是标签的值。

取值范围:

不涉及

environment_id

String

参数解释:

环境ID。

取值范围:

不涉及

表36 status

参数

参数类型

描述

component_status

String

参数解释:

组件状态。

取值范围:

  • INITIALIZING:初始化。
  • UPGRADING:升级中。
  • FAILED:失败。
  • RUNNING:运行中。
  • DOWN:下线。
  • DELETING:删除中。
  • DELETED:已删除。
  • RESERVED:保留。
  • STARTING:启动中。
  • STOPPING:停止中。
  • STOPPED:停止。
  • RESTARTING:重启中。
  • PENDING:未就绪。
  • UNKNOWN:未知。
  • PARTIALLY_FAILED:部分失败。

available_replica

Integer

参数解释:

可用实例。

取值范围:

不涉及

replica

Integer

参数解释:

总实例。

取值范围:

不涉及

succeeded_replica

Integer

参数解释:

普通任务工作负载执行成功的实例数。

取值范围:

不涉及

fail_detail

String

参数解释:

失败原因。

取值范围:

  • cluster_deleted:集群被删除。
  • cluster_unavailable:集群不可用。
  • cluster_inaccessible:集群无法访问。
  • namespace_deleted:命名空间被删除。
  • namespace_unavailable:命名空间不可用。
  • namespace_inaccessible:命名空间无法访问。
  • resource_deleted:资源已删除。
  • create_failed:创建组件失败。
  • delete_failed:删除组件失败。

last_job_id

String

参数解释:

最后执行任务ID。

取值范围:

不涉及

create_time

Integer

参数解释:

创建时间。

取值范围:

不涉及

update_time

Integer

参数解释:

更新时间。

取值范围:

不涉及

creator

String

参数解释:

创建人。

取值范围:

不涉及

artifact

Object

参数解释:

组件构建信息,请参考表37

表37 artifact

参数

参数类型

描述

type

String

参数解释:

组件来源包类型。

取值范围:

  • package:软件包
  • image:镜像包

url

String

参数解释:

软件包/镜像地址。

取值范围:

不涉及

表38 tolerations

参数

参数类型

描述

key

String

参数解释:

污点键。

取值范围:

不涉及

operator

String

参数解释:

操作符。

取值范围:

  • Equal:设置此操作符表示准确匹配指定污点键(必填)和污点值的节点。如果不填写污点值,则表示可以与所有污点键相同的污点匹配。
  • Exists:设置此操作符表示匹配存在指定污点键的节点,此时容忍度不能指定污点值。若不填写污点键则可以容忍全部污点。

value

String

参数解释:

污点值。“operator”“Equal”时,需要填写污点值。

取值范围:

不涉及

effect

String

参数解释:

污点策略。

取值范围:

  • NoScheduler:表示匹配污点效果为NoSchedule的污点。
  • PreferNoSchedule:表示匹配污点效果为PreferNoSchedule的污点。
  • NoExecute:表示匹配污点效果为NoExecute的污点。
  • 不设置该参数:表示匹配所有污点效果。

toleration_seconds

Integer

参数解释:

容忍时间窗。

“effect”“NoExecute”时支持配置。在容忍时间窗内,Pod还会在拥有污点的节点上运行,超出时间后会被驱逐。

取值范围:

不涉及

表39 multi_containers

参数

参数类型

描述

container_name

String

参数解释:

容器名称。

取值范围:

不涉及

source

Object

参数解释:

代码/软件包来源,请参考表33,多容器模式下仅支持镜像。

limit_cpu

Number

参数解释:

最大CPU限制,单位为Core。

取值范围:

不涉及

limit_memory

Number

参数解释:

最大内存限制,单位为GiB。

取值范围:

不涉及

request_cpu

Number

参数解释:

申请CPU资源,单位为Core。

取值范围:

不涉及

request_memory

Number

参数解释:

申请内存资源,单位为GiB。

取值范围:

不涉及

envs

Array of objects

参数解释:

环境变量列表,请参考表30

liveness_probe

Object

参数解释:

容器存活探针,请参考表27

readiness_probe

Object

参数解释:

容器业务探针,请参考表27

startup_probe

Object

参数解释:

容器启动探针,请参考表27

command

Object

参数解释:

启动命令,请参考表14

post_start

Object

参数解释:

启动后处理,请参考表15

pre_stop

Object

参数解释:

停止前处理,请参考表15

logs

Array of objects

参数解释:

日志采集,请参考表23

storages

Array of objects

参数解释:

存储,请参考表6

security_context

Object

参数解释:

安全策略,请参考表21

config_encryption

Object

参数解释:

多容器组件配置加密密钥时需设置,请参考表50

表40 ports

参数

参数类型

描述

name

String

参数解释:

端口名称。

取值范围:

不涉及

port

String

参数解释:

访问端口。

取值范围:

不涉及

target_port

String

参数解释:

容器端口。

取值范围:

不涉及

表41 update_strategy

参数

参数类型

描述

type

String

参数解释:

组件升级类型:

取值范围:

  • RollingUpdate:滚动升级,即逐步创建新实例再删除旧实例,为默认策略。
  • Recreate:替换升级,即先把当前实例删掉再重新创建实例。

max_unavailable

  • String
  • Integer

参数解释:

最大无效实例数。与replica相比,可以有多少个实例失效,也就是删除的比例,默认值是25%。workload_kind为deployment时支持设置。

取值范围:

  • 若下发百分比则为String类型,即与实例数相比无效实例数在实例数中的最大百分比。
  • 若下发整数则为Integer类型,即与实例数相比最多可以有多少个无效实例数。

max_surge

  • String
  • Integer

参数解释:

最大浪涌。与replica相比,可以有多少个实例存在,默认值是25%。仅workload_kind为deployment时支持设置。

取值范围:

  • 若下发百分比则为String类型。
  • 若下发整数则为Integer类型。

termination_period_seconds

Integer

参数解释:

缩容时间窗。工作负载停止前命令的执行时间窗,默认值为30秒。

取值范围:

不涉及

min_ready_seconds

Integer

参数解释:

实例可用最短时间。指定新创建的实例在没有任意容器崩溃情况下的最小就绪时间,只有超出这个时间实例才被视为可用。

默认值为0。

取值范围:

不涉及

progress_deadline_seconds

Integer

参数解释:

升级最大时长。指定系统在报告组件升级失败之前等待组件取得进展的秒数。

如果指定,则此字段值需要大于min_ready_seconds取值。

取值范围:

不涉及

revision_history_limit

Integer

参数解释:

最大保留版本数。用来设定出于回滚目的所要保留的旧实例数量。默认情况下,系统保留10个旧实例。

取值范围:

不涉及

表42 configs

参数

参数类型

描述

config_id

String

参数解释:

统一配置ID。

取值范围:

不涉及

mount_path

String

参数解释:

挂载路径。

取值范围:

不涉及

表43 template_source

参数

参数类型

描述

storage

String

参数解释:

组件模板包存储方式。

取值范围:

  • devcloud:CodeArts软件发布库。
  • obs:OBS对象存储。
  • http:自定义文件地址。

url

String

参数解释:

组件模板包地址。

组件模板包存储方式为自定义文件地址时有效。

取值范围:

不涉及

http_username

String

参数解释:

用户名。

组件模板包存储方式为自定义文件地址且安全认证方式为用户名密码认证时有效。

取值范围:

不涉及

http_password

String

参数解释:

密码。

组件模板包存储方式为自定义文件地址且安全认证方式为用户名密码认证时有效。

取值范围:

不涉及

http_headers

Array of objects

参数解释:

请求头,请参考表44

组件模板包存储方式为自定义文件地址且安全认证方式为自定义Header认证时有效。

表44 http_headers

参数

参数类型

描述

key

String

参数解释:

请求key。

取值范围:

不涉及

value

String

参数解释:

请求value。

取值范围:

不涉及

表45 template_content

参数

参数类型

描述

template

Map<String, String>

参数解释:

模板包文件信息。

取值范围:

不涉及

input_values

Map<String, String>

参数解释:

模板包输入信息。

取值范围:

不涉及

表46 resource_content

参数

参数类型

描述

configs

Array of objects

参数解释:

模板包统一配置信息,请参考表 configs

k8s_resources

Array of objects

参数解释:

模板包K8s资源信息。

表47 configs

参数

参数类型

描述

kind

String

参数解释:

资源类型,固定为:ServiceStageConfig。

spec

Object

参数解释:

统一配置参数,请参考表48

表48 spec

参数

参数类型

描述

name

String

参数解释:

统一配置名称,格式为:

  • {配置组}/{配置名}.yaml
  • {配置组}/{配置名}.properties

取值范围:

不涉及

description

String

参数解释:

统一配置描述。

取值范围:

不涉及

sensitive

Boolean

参数解释:

是否加密。

取值范围:

不涉及

content

String

参数解释:

统一配置内容。

取值范围:

不涉及

表49 auto_lts_config

参数

参数类型

描述

enable

Boolean

参数解释:

是否开启LTS自动配置。

取值范围:

  • true:开启
  • false:不开启

lts_log_path

Array of strings

参数解释:

接入配置日志路径。

取值范围:

不涉及

lts_log_group_name

String

参数解释:

日志组名称。

取值范围:

不涉及

lts_log_stream_name

String

参数解释:

日志流名称。

取值范围:

不涉及

lts_host_group_name

String

参数解释:

主机组名称。

取值范围:

不涉及

lts_access_config_name

String

参数解释:

接入配置名称。

取值范围:

不涉及

lts_log_group_id

String

参数解释:

日志组ID。

取值范围:

不涉及

lts_log_stream_id

String

参数解释:

日志流ID。

取值范围:

不涉及

lts_host_group_id

String

参数解释:

主机组ID。

取值范围:

不涉及

lts_access_config_id

String

参数解释:

接入配置ID。

取值范围:

不涉及

表50 config_encryption

参数

参数类型

描述

key_id

String

参数解释:

DEW服务中用户密钥ID。

取值范围:

不涉及

表51 task_setting

参数

参数类型

描述

parallelism

Integer

参数解释:

并行数。

取值范围:

不涉及

active_deadline_seconds

Integer

参数解释:

超时时间(秒)。

取值范围:

不涉及

completion_mode

String

参数解释:

完成模式

取值范围:

  • NonIndexed:非索引模式。
  • Indexed:索引模式。

suspend

Boolean

参数解释:

是否挂起任务。

默认任务创建后被立即执行。

选择挂起任务后,任务创建后处于挂起状态;将其关闭后,任务继续执行。

取值范围:

  • true:挂起任务
  • false:不挂起任务
表52 vmapp_config

参数

参数类型

描述

run_as_user

String

参数解释:

运行用户。

取值范围:

不涉及

app_home

Object

参数解释:

部署目录配置,请参考表53

log_home

Object

参数解释:

日志目录配置,请参考表53

表53 log_config

参数

参数类型

描述

path

String

参数解释:

目录配置路径。

取值范围:

不涉及

user

String

参数解释:

目录配置路径所属用户。

取值范围:

不涉及

group

String

参数解释:

目录配置路径所属用户组。

取值范围:

不涉及

mode

String

参数解释:

目录配置路径权限。

取值范围:

不涉及

请求示例

响应示例

{
    "name": "test-component",
    "description": "",
    "labels": [],
    "runtime_stack": {

        "type": "Java",
        "name": "OpenJDK8",
        "deploy_mode": "virtualmachine",
        "version": "1.1.1"
    },
    "id": "b8702b0f-94d3-4822-98a1-56815632a0a0",
    "source": {
        "kind": "package",
        "url": "obs://bucket0001/weather-1.0.0.jar",
        "storage": "obs"
    },
    "environment_id": "4d084044-0b80-4641-963c-b9c9f4092a4f",
    "application_id": "fc092465-a5fb-4a52-bc65-b735f18366d8",
    "replica": 1,
    "version": "2023.0323.15181",
    "envs": [],
     "tomcat_opts": {
        "server_xml": "",
        "http_port": 0,
        "context_path": null
    },
    "refer_resources": [
        {
            "id": "Default",
            "type": "ecs",
            "parameters": {
                "hosts": [
                    "67835bb3-1235-4cc9-be71-becbb2b4ca0d"
                ]
            }
        }
    ],
    "status": {
        "component_status": "RUNNING",
        "available_replica": 1,
        "replica": 1,
        "fail_detail": null,
        "last_job_id": "JOB1c8e20ec-1b30-4ee4-9a36-35a18b5e8b7e",
        "creator": null,
        "create_time": 1679556221933,
        "update_time": 1679579448500,
    },
    "workload_kind": "deployment"
}

状态码

状态码

描述

200

操作成功

400

错误的请求

404

请求对象不存在

500

内部错误

错误码

请参考ServiceStage错误码

相关文档