重新部署普通任务组件
功能介绍
此API用于重新部署状态为执行完成或者失败的普通任务组件。
调试
您可以在API Explorer中调试该接口。
URI
PUT /v3/{project_id}/cas/applications/{application_id}/components/{component_id}/redeployment
请求消息
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
Content-Type |
是 |
String |
消息体的类型(格式),默认取值为“application/json;charset=utf8”。 |
X-Auth-Token |
是 |
String |
调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考认证鉴权。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
应用组件名称。不可修改。 由英文字母、数字、中划线(-)、下划线(_)组成,并以英文字母开头,英文字母或者数字结尾,长度为2~64个字符。 |
labels |
否 |
Array of objects |
标签。容器部署可通过标签查询对应工作负载,虚机部署可配置对应的微服务名称的标签来使用优雅上下线功能,请参考表4。 |
runtime_stack |
是 |
Object |
|
description |
否 |
String |
描述。 最大长度为128个字符。 |
source |
是 |
Object |
代码/软件包来源,请参考表29。 |
build |
否 |
Object |
组件构建,请参考表30。 |
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 |
环境变量列表,请参考表26。 |
replica |
是 |
Integer |
实例数,仅在使用扩缩容功能时支持进行修改。 |
storages |
否 |
Array of objects |
存储,请参考表5。 |
deploy_strategy |
否 |
Object |
组件部署,请参考表8。 |
command |
否 |
Object |
启动命令,请参考表10 |
post_start |
否 |
Object |
启动后处理,请参考表11。 |
pre_stop |
否 |
Object |
停止前处理,请参考表11。 |
mesher |
否 |
Object |
多语言接入服务网格,当技术栈选择Nodejs且绑定微服务引擎CSE时为必选,请参考表12。 |
timezone |
否 |
String |
指定组件运行的时区,比如Asia/Shanghai。 |
jvm_opts |
否 |
String |
jvm参数,例如-Xms256m -Xmx1024m,多个参数以空格间隔,不填则使用默认值。 |
tomcat_opts |
否 |
Object |
tomcat参数,技术栈选择tomcat时生效,请参考表13。 |
host_aliases |
否 |
Array of objects |
主机别名,请参考表14。 |
dns_policy |
否 |
String |
DNS策略。
|
dns_config |
否 |
Object |
DNS配置,请参考表15。 |
workload_kind |
否 |
String |
工作负载类型,固定为job,表示普通任务。 |
security_context |
否 |
Object |
安全策略,请参考表17。 |
logs |
否 |
Array of objects |
日志采集,请参考表19。 |
custom_metric |
否 |
Object |
自定义指标监控,请参考表20。 |
affinity |
否 |
Array of objects |
亲和性,请参考表21。 |
anti_affinity |
否 |
Array of objects |
反亲和性,请参考表21。 |
liveness_probe |
否 |
Object |
组件存活探针,请参考表23。 |
readiness_probe |
否 |
Object |
组件业务探针,请参考表23。 |
startup_probe |
否 |
Object |
组件启动探针,请参考表23。 |
refer_resources |
否 |
Array of objects |
关联资源,请参考表24。 |
external_accesses |
否 |
Array of objects |
外部访问,请参考表32。 |
container_name |
否 |
String |
容器名称。 |
multi_containers |
否 |
Array of Objects |
多容器配置,请参考表34。 |
workload_content |
否 |
String |
工作负载内容。 |
configs |
否 |
Array of Objects |
组件统一配置,请参考表35。 |
config_mode |
否 |
String |
工作负载配置模式。固定为ui,表示基于UI页面配置部署。 |
enable_sermant_injection |
否 |
Boolean |
是否开启Sermant。 |
enable_sermant_spring_register |
否 |
Boolean |
Spring Cloud Huawei框架的微服务是否需要Sermant帮助注册到注册中心。 |
enable_sermant_dubbo_register |
否 |
Boolean |
Dubbo框架的微服务是否需要Sermant帮助注册到注册中心。 |
enable_sermant_config |
否 |
Boolean |
是否开启Sermant动态配置插件能力。 |
cell_id |
否 |
String |
部署单元ID。 |
swimlane_id |
否 |
String |
泳道ID。 |
sermantAgentInjectActionFlag |
否 |
Boolean |
JDK17以及JDK21是否自动添加以下JVM环境变量。 JDK17: --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED --add-opens java.base/sun.net.www=ALL-UNNAMED --add-opens java.base/sun.net.www.protocol.http=ALL-UNNAMED JDK21: --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED --add-opens java.base/sun.net.www=ALL-UNNAMED --add-opens java.base/sun.net.www.protocol.http=ALL-UNNAMED -Dnet.bytebuddy.experimental=true |
sys_config |
否 |
Map<String, String> |
使用压缩包在虚拟机环境下部署组件配置项。 |
image_pull_secrets |
否 |
Array of String |
镜像拉取密钥列表。 |
template_source |
否 |
Object |
组件模板包来源,请参考表36。 |
input_values |
否 |
Map<String, String> |
模板包输入信息。 |
auto_lts_config |
否 |
Object |
LTS自动配置,请参考表33。 |
task_setting |
否 |
Object |
job类型工作负载的任务设置,请参考表39。 |
vmapp_config_mode |
否 |
String |
虚拟机部署方式部署组件的目录类型。
|
vmapp_config |
否 |
Object |
虚拟机部署方式部署组件的目录配置,请参考表40。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
type |
是 |
String |
数据存储类型。
|
name |
是 |
String |
存储盘名称。 |
parameters |
是 |
Object |
对应各种数据存储类型的信息参数,请参考表6。 |
mounts |
是 |
Array of objects |
数据存储挂载路径,请参考表7。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
path |
否 |
String |
主机路径, 适用于HostPath的存储类型。当数据存储类型为HostPath为必选参数。 |
name |
否 |
String |
配置项、密钥或者PVC的名字, 适用于ConfigMap、Secret和PersistentVolumeClaim的存储类型。当数据存储类型为ConfigMap、Secret和PersistentVolumeClaim为必选参数。 |
default_mode |
否 |
Integer |
挂载的权限,十进制格式,例如:384。适用于ConfigMap和Secret的存储类型。 |
medium |
否 |
String |
适用于EmptyDir类型的存储。不传参数为默认的磁盘介质,传参为memory则开启内存存储。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
batches |
是 |
Integer |
分批部署批次。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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策略生成的选项。 重复的条目将被删除。请参考表16。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
run_as_user |
否 |
Integer |
运行用户,容器以当前用户权限运行,如以root权限运行则填写root用户ID 0。 |
run_as_group |
否 |
Integer |
运行属组,指定所有容器中的进程都以属组运行。 |
capabilities |
否 |
Object |
能力集,请参考表18。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
add |
否 |
Array of String |
为运行用户添加Linux权限。 |
drop |
否 |
Array of String |
移除运行用户Linux权限。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
log_path |
是 |
String |
容器中日志路径。 |
rotate |
是 |
String |
日志转储周期。 |
host_path |
是 |
String |
挂载的主机路径。 |
host_extend_path |
是 |
String |
主机扩展路径,通过扩展主机路径,实现同一个主机路径下区分来自不同容器的挂载:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
path |
是 |
String |
采集路径,例如:/metrics。 |
port |
是 |
Integer |
采集端口,例如:9090。 |
dimensions |
是 |
String |
监控维度,例如:"cpu_usage,mem_usage"。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
kind |
否 |
String |
对象类型。
|
condition |
否 |
String |
策略满足类型。
|
match_expressions |
否 |
Array of objects |
调度策略规则,请参考表22。 |
weight |
否 |
String |
权重。
|
topology_key |
否 |
String |
拓扑域。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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 |
资源参数,当资源类型为cce时必选,请参考表25。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
namespace |
否 |
String |
命名空间 |
name |
否 |
String |
资源名。 |
capacity |
否 |
Integer |
存储容量,单位GB。 |
type |
否 |
String |
存储卷声明类型。
|
class |
否 |
String |
存储卷声明子类型。
|
obs_volume_type |
否 |
String |
OBS存储卷类型,默认为STANDARD标准存储类型。 |
access_mode |
否 |
String |
存储卷访问模式。
|
availableZone |
否 |
String |
可用区。 |
volume_type |
否 |
String |
存储卷类型。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
reference_type |
是 |
String |
引用类型。
|
name |
是 |
String |
配置项或密钥的名称。 |
key |
否 |
String |
配置项或密钥的键值。 |
optional |
否 |
Boolean |
配置项或密钥的key是否必须存在:true、false。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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 |
存储方式。
组件来源包类型为package和image时需要添加。 |
auth |
否 |
String |
认证方式,支持iam、none,默认是iam。 |
repo_auth |
否 |
String |
授权名称,在授权列表获取。 |
repo_namespace |
否 |
String |
代码仓库命名空间。 |
repo_ref |
否 |
String |
代码分支或者Tag,默认是master。 |
repo_type |
否 |
String |
代码仓类型,支持CodeArts、Gitee、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个字符,以小写字母或数字开头。 |
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关键字固定。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
container_name |
是 |
String |
容器名称。 |
source |
是 |
Object |
代码/软件包来源,请参考表29,多容器模式下仅支持镜像。 |
limit_cpu |
否 |
Number |
最大CPU限制,单位为Core。 |
limit_memory |
否 |
Number |
最大内存限制,单位为GiB。 |
request_cpu |
否 |
Number |
申请CPU资源,单位为Core。 |
request_memory |
否 |
Number |
申请内存资源,单位为GiB。 |
envs |
否 |
Array of objects |
环境变量列表,请参考表26。 |
liveness_probe |
否 |
Object |
容器存活探针,请参考表23。 |
readiness_probe |
否 |
Object |
容器业务探针,请参考表23。 |
startup_probe |
否 |
Object |
容器启动探针,请参考表23。 |
command |
否 |
Object |
启动命令,请参考表10。 |
post_start |
否 |
Object |
启动后处理,请参考表11。 |
pre_stop |
否 |
Object |
停止前处理,请参考表11。 |
logs |
否 |
Array of objects |
日志采集,请参考表19。 |
storages |
否 |
Array of objects |
存储,请参考表5。 |
security_context |
否 |
Object |
安全策略,请参考表17。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
storage |
是 |
String |
组件模板包存储方式。
|
url |
是 |
String |
组件模板包地址。 组件模板包存储方式为自定义文件地址时有效。 |
http_username |
否 |
String |
用户名。 组件模板包存储方式为自定义文件地址且安全认证方式为用户名密码认证时有效。 |
http_password |
否 |
String |
密码。 组件模板包存储方式为自定义文件地址且安全认证方式为用户名密码认证时有效。 |
http_headers |
否 |
Array of objects |
请求头,请参考表37。 组件模板包存储方式为自定义文件地址且安全认证方式为自定义Header认证时有效。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
key_id |
是 |
String |
DEW服务中用户密钥ID。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
parallelism |
是 |
Integer |
并行数。 |
active_deadline_seconds |
否 |
Integer |
超时时间(秒)。 |
completion_mode |
是 |
String |
完成模式
|
suspend |
是 |
Boolean |
是否挂起任务。 默认任务创建后被立即执行。 选择挂起任务后,任务创建后处于挂起状态;将其关闭后,任务继续执行。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
run_as_user |
是 |
String |
运行用户。 |
app_home |
是 |
Object |
部署目录配置,请参考表41。 |
log_home |
是 |
Object |
日志目录配置,请参考表41。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
path |
是 |
String |
目录配置路径。 |
user |
是 |
String |
目录配置路径所属用户。 |
group |
是 |
String |
目录配置路径所属用户组。 |
mode |
是 |
String |
目录配置路径权限。 |
响应消息
参数 |
参数类型 |
描述 |
---|---|---|
job_id |
String |
任务ID。 |
请求示例
重新部署名为mycomponet的普通任务类型组件,修改组件任务设置。
{ "name": "mycomponet", "description": "", "labels": [ { "key": "com-key", "value": "com-value" } ], "version": "2025.0323.15181", "runtime_stack": { "name": "OpenJDK8", "version": "1.1.1", "type": "Java", "deploy_mode": "virtualmachine" }, "source": { "kind": "package", "url": "obs://bucket0001/weather-1.0.0.jar", "version": "", "storage": "obs" }, "tomcat_opts": { "server_xml": "" }, "refer_resources": [ { "id": "67835bb3-1235-4cc9-be71-becbb2b4ca0d", "type": "ecs" } ], "task_setting": { "parallelism": 1, "active_deadline_seconds": null, "completion_mode": "Indexed", "suspend": false } "replica": 1, "external_accesses": [] }
响应示例
{ "job_id": "JOB1c8e20ec-1b30-4ee4-9a36-35a18b5e8b7e" }
状态码
状态码 |
描述 |
---|---|
200 |
操作成功。 |
400 |
错误的请求。 |
404 |
请求对象不存在。 |
500 |
内部错误。 |
错误码
错误码说明请参考ServiceStage错误码。