根据组件ID获取组件信息
功能介绍
此API用于通过组件ID获取组件信息。
URI
GET /v3/{project_id}/cas/applications/{application_id}/components/{component_id}
请求消息
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
Content-Type |
是 |
String |
消息体的类型(格式),默认取值为“application/json;charset=utf8”。 |
X-Auth-Token |
是 |
String |
调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考获取用户Token。 |
响应消息
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
应用组件名称。 由英文字母、数字、中划线(-)、下划线(_)组成,并以英文字母开头,英文字母或者数字结尾,不区分英文字母大小写,长度为2~64个字符。 |
workload_name |
String |
工作负载名称。 |
labels |
Array of objects |
标签。容器部署可通过标签查询对应工作负载,虚机部署可配置对应的微服务名称的标签来使用优雅上下线功能,请参考表5。 |
runtime_stack |
Object |
|
environment_id |
String |
环境ID。 |
application_id |
String |
应用ID。 |
description |
String |
描述。 最大长度为128个字符。 |
source |
Object |
代码/软件包来源,请参考表32。 |
build |
Object |
组件构建,请参考表33。 |
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 |
环境变量列表,请参考表29。 |
replica |
Integer |
实例数。 |
storages |
Array of objects |
存储,请参考表6。 |
deploy_strategy |
Object |
组件部署,请参考表9。 |
command |
Object |
启动命令,请参考表13 |
post_start |
Object |
启动后处理,请参考表14。 |
pre_stop |
Object |
停止前处理,请参考表14。 |
mesher |
Object |
多语言接入服务网格,当技术栈选择Nodejs且绑定cse引擎时为必选,请参考表15。 |
timezone |
String |
指定组件运行的时区,比如Asia/Shanghai。 |
jvm_opts |
String |
jvm参数,例如-Xms256m -Xmx1024m,多个参数以空格间隔,不填则使用默认值。 |
tomcat_opts |
Object |
tomcat参数,技术栈选择tomcat时生效,请参考表16。 |
host_aliases |
Array of objects |
主机别名,请参考表17。 |
dns_policy |
String |
DNS策略。
|
dns_config |
Object |
DNS配置,请参考表18。 |
workload_kind |
String |
工作负载类型。
|
security_context |
Object |
安全策略,请参考表20。 |
logs |
Array of objects |
日志采集,请参考表22。 |
custom_metric |
Object |
自定义指标监控,请参考表23。 |
affinity |
Array of objects |
亲和性,请参考表24。 |
anti_affinity |
Array of objects |
反亲和性,请参考表24。 |
liveness_probe |
Array of objects |
组件存活探针,请参考表26。 |
readiness_probe |
Object |
组件业务探针,请参考表26。 |
refer_resources |
Array of objects |
关联资源,请参考表27。 |
status |
Object |
组件状态,请参考表35。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
数据存储类型。
|
name |
String |
存储盘名称。 |
parameters |
Object |
对应各种数据存储类型的信息参数,请参考表7。 |
mounts |
Array of objects |
数据存储挂载路径,请参考表8。 |
参数 |
参数类型 |
描述 |
---|---|---|
path |
String |
主机路径, 适用于HostPath的存储类型。 |
name |
String |
配置项、密钥或者PVC的名字, 适用于ConfigMap、Secret和PersistentVolumeClaim的存储类型。 |
default_mode |
Integer |
挂载的权限,十进制格式,例如:384。适用于ConfigMap和Secret的存储类型。 |
medium |
String |
适用于EmptyDir类型的存储,例如:memory。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
部署类型。
|
rolling_release |
Object |
滚动部署参数,请参考表10。 |
gray_release |
Object |
灰度发布升级,请参考表11。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
灰度策略。
|
first_batch_weight |
Integer |
首批灰度流量比例,灰度策略为weight时有效。 |
first_batch_replica |
Integer |
首批灰度实例数量,灰度策略为weight时有效。 |
remaining_batch |
Integer |
剩余实例部署批次,首批灰度发布成功之后,剩余实例滚动升级分多少批次完成。 例如:剩余实例数是5,剩余部署批次是3,那么升级剩余实例会按照2:2:1个实例分批升级。 灰度策略为weight时有效。 |
deployment_mode |
Integer |
部署模型。
|
replica_surge_mode |
String |
灰度实例新增模式,灰度策略为content时有效。
|
rule_match_mode |
String |
灰度规则生效方式,灰度策略为content时有效。
|
rules |
Object |
灰度规则,灰度策略为content时有效,请参考表12。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
匹配类型。 当前仅支持:header,请求头。 |
key |
String |
参数名称。 |
value |
String |
条件值。 |
condition |
String |
条件类型。
|
参数 |
参数类型 |
描述 |
---|---|---|
command |
Array of String |
运行命令,控制容器运行的输入命令。 |
args |
Array of String |
运行参数,控制容器运行命令的输入参数。例如:-port=8080,多条参数以换行分隔。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
处理方式。
|
scheme |
String |
http请求类型参数:HTTP、HTTPS。type为http类型时生效。 |
host |
String |
默认为POD的IP,可以指定自定义的IP。type为http类型时生效。 |
port |
Integer |
端口号,type为http类型时生效。 |
path |
String |
请求路径,type为http类型时生效。 |
command |
Array of String |
命令列表,type为command类型时生效。 |
参数 |
参数类型 |
描述 |
---|---|---|
server_xml |
String |
|
参数 |
参数类型 |
描述 |
---|---|---|
nameservers |
Array of String |
Pod的DNS服务器的IP地址列表。 |
searches |
Array of String |
用于在Pod中查找主机名的DNS搜索域的列表。 |
options |
Array of objects |
可选的对象列表,其中每个对象可能具有name属性(必需)和value属性(可选)。 此属性中的内容将合并到从指定的DNS策略生成的选项。重复的条目将被删除。请参考表19。 |
参数 |
参数类型 |
描述 |
---|---|---|
run_as_user |
Integer |
运行用户,容器以当前用户权限运行,如以root权限运行则填写root用户ID 0。 |
run_as_group |
Integer |
运行属组,指定所有容器中的进程都以属组运行。 |
capabilities |
Object |
能力集,请参考表21。 |
参数 |
参数类型 |
描述 |
---|---|---|
log_path |
String |
容器中日志路径。 |
rotate |
String |
日志转储周期。 |
host_path |
String |
挂载的主机路径。 |
host_extend_path |
String |
主机扩展路径,通过扩展主机路径,实现同一个主机路径下区分来自不同容器的挂载:
|
参数 |
参数类型 |
描述 |
---|---|---|
path |
String |
采集路径,例如:/metrics。 |
port |
Integer |
采集端口,例如:9090。 |
dimensions |
String |
监控维度,例如:"cpu_usage,mem_usage"。 |
参数 |
参数类型 |
描述 |
---|---|---|
condition |
String |
是否必须满足。
|
kind |
String |
亲和类型。
|
weight |
Integer |
亲和权重,取值范围0~100。 |
match_expressions |
String |
匹配条件,请参考表25。 |
参数 |
参数类型 |
描述 |
---|---|---|
key |
String |
匹配标签key值。 |
operation |
String |
匹配条件。 |
value |
String |
匹配标签value值。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
类型:http、tcp、command。 |
delay |
Integer |
启动后多久开始探测。 |
timeout |
Integer |
探测超时时间 |
scheme |
String |
请求类型:HTTP、HTTPS,type为http类型时生效。 |
host |
String |
默认为POD的IP,可以指定自定义的IP。type为http类型时生效。 |
port |
Integer |
端口号,type为http和tcp类型时生效。 |
path |
String |
请求路径,type为http类型时生效。 |
command |
Array of String |
命令列表,type为command类型时生效。 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
资源id |
type |
String |
资源类型。
|
parameters |
Object |
资源参数,请参考表28。 |
参数 |
参数类型 |
描述 |
---|---|---|
reference_type |
String |
引用类型。
|
name |
String |
配置项或密钥的名称。 |
key |
String |
配置项或密钥的键值。 |
optional |
Boolean |
配置项或密钥的key是否必须存在。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
技术栈名称 |
type |
String |
技术栈类型,支持Java、Tomcat、Nodejs、Php、Docker、Python。 当部署模式为虚机部署时,仅支持Java、Tomcat、Nodejs;容器部署上述类型都支持。 |
version |
String |
技术栈版本。 |
deploy_mode |
String |
部署模式。
|
参数 |
参数类型 |
描述 |
---|---|---|
kind |
String |
组件来源类型。
|
version |
String |
版本号。 |
url |
String |
包地址,类型为package和image时需要添加。 |
storage |
String |
存储方式,支持镜像仓库swr、软件仓库swr、软件开发生产线codearts和对象存储obs。类型为package和image时需要添加。 |
auth |
String |
认证方式,支持iam、none,默认是iam。 |
repo_auth |
String |
授权名称,在授权列表获取。 |
repo_namespace |
String |
代码仓库命名空间。 |
repo_ref |
String |
代码分支或者Tag,默认是master。 |
repo_type |
String |
代码仓类型,支持GitHub、BitBucket、GitLab。 |
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个字符,以小写字母或数字开头。 |
参数 |
参数类型 |
描述 |
---|---|---|
build_cmd |
String |
编译命令。默认:
|
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。 |
参数 |
参数类型 |
描述 |
---|---|---|
component_status |
String |
组件状态。
|
available_replica |
Integer |
可用实例。 |
replica |
Integer |
总实例。 |
fail_detail |
String |
失败原因。
|
last_job_id |
String |
最后执行任务ID。 |
create_time |
Integer |
创建时间。 |
update_time |
Integer |
更新时间。 |
creator |
String |
创建人。 |
artifact |
Object |
组件构建信息,请参考表36。 |
请求示例
无
响应示例
{ "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 |
内部错误 |
错误码
错误码格式为:SVCSTG.00100.[Error_ID],例如:SVCSTG.00100400。错误码说明请参考ServiceStage错误码。