部署容器应用(新)

最近更新时间:2025-08-20 03:16:40

我的收藏

1. 接口描述

接口请求域名: tsf.tencentcloudapi.com 。

部署容器应用-更新

默认接口请求频率限制:20次/秒。

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:DeployContainerApplication。
Version String 公共参数,本接口取值:2018-03-26。
Region String 公共参数,详见产品支持的 地域列表
ApplicationId String 应用ID
示例值:application-9yn765ea
ObservabilityConfig ContainerGroupObservabilityConfig 可观测配置
ClusterId String 集群ID
示例值:cls-23iwxs1y
GroupId String 部署组ID,分组唯一标识
示例值:group-zvwpn3wy
Envs.N Array of Env 业务容器的环境变量参数
VolumeMountInfoList.N Array of VolumeMountInfo 业务容器的挂载信息
LifeCycleHookList.N Array of LifeCycleHook 业务主容器生命周期钩子列表
AdditionalContainerList.N Array of ContainerInfo 附属容器列表
VolumeInfoList.N Array of VolumeInfo 容器卷信息
ServiceSettingList.N Array of ServiceSetting Service访问配置列表
Alias String 备注
示例值:consumer app
GroupName String 部署组名称
示例值:consumer-app
Tags.N Array of Tag 标签列表
ContainerKind String 容器类型
示例值:Deployment
Server String 业务容器的 镜像Server ccr.ccs.tencentyun.com
示例值:ccr.ccs.tencentyun.com
RepoName String 业务容器的镜像名
示例值:tsf_700001025656/test-sts-1
RepoType String 仓库类型
示例值:personal
TcrRepoInfo TcrRepoInfo TCR仓库信息
SecretName String 容器访问凭证名称
示例值:qcloudregistry
TagName String 业务容器的镜像版本号
示例值:v1
HealthCheckSettings HealthCheckSettings 健康检查
CpuRequest String 业务容器的 cpu request
示例值:0.1
CpuLimit String 业务容器的 cpu limit
示例值:0.5
MemRequest String 业务容器的 mem request
示例值:1024
MemLimit String 业务容器的 mem limit
示例值:200
JvmOpts String 业务容器的 jvm 参数
示例值:-Xms128m -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
InitContainerEnable Boolean 是否为初始化容器 业务主容器不能为初始化容
示例值:false
PrivilegeContainerEnable Boolean 业务主容器是否为特权容器
示例值:false
RunCommand String 业务主容器运行命令(转base64)
示例值:/bin/sh
RunArg String 业务主容器运行参数(转base64)
示例值:-c\nwhile true; do echo hello; sleep 10; done
InstanceNum Integer 实例数量
示例值:1
SchedulingStrategy SchedulingStrategy 调度策略
RestartPolicy String 重启策略
示例值:Always
ServiceSpecEncode String 服务治理配置
示例值:NULL
IstioMemRequest String istio容器的 mem Request
示例值:200
IstioCpuRequest String istio容器的 cpu Request
示例值:0.4
IstioMemLimit String istio容器的 mem Limit
示例值:1024
IstioCpuLimit String istio容器的 cpu Limit
示例值:1
ServiceGovernanceConfig ContainerGroupServiceGovernanceConfig 服务治理配置
AgentMemRequest String agent容器的 mem Request
示例值:200
AgentCpuRequest String agent容器的 cpu Request
示例值:0.1
AgentMemLimit String agent容器的 mem Limit
示例值:200
AgentCpuLimit String agent容器的 cpu Limit
示例值:1
UpdateType Integer 发布策略(0表示快速更新,1表示滚动更新。默认值为0)
示例值:0
UpdateIvl Integer 更新间隔,单位秒
示例值:10
MaxSurge String 对应更新策略和策略配置参数
示例值:25%
MaxUnavailable String 对应更新策略和策略配置参数
示例值:0
WarmupSetting WarmupSetting 预热参数配置
ConfigTemplateId String 配置模版ID
示例值:template-id
ConfigTemplateVersion Integer 配置模版Version
示例值:0
VolumeClean Boolean 是否清除数据卷信息
示例值:false
NamespaceId String 命名空间Id
示例值:namespace-xx
DeployAgent Boolean 是否部署agent容器
示例值:true
AgentProfileList.N Array of AgentProfile javaagent信息: SERVICE_AGENT/OT_AGENT
ServiceClean Boolean 是否清除Service信息
示例值:false
EnvClean Boolean 是否清除Env信息
示例值:false
DeployDesc String 本次部署的描述信息
示例值:update image to v1
K8sNamespaceName String k8s命名空间名称
示例值:consumer
StaticIpEnabled Boolean 是否启用静态IP
示例值:false
PodManagementPolicyType String 启动策略[OrderedReady/Parallel]
示例值:OrderedReady
Partition Integer 滚动更新分区序号
示例值:0

3. 输出参数

参数名称 类型 描述
Result DeployContainerApplicationResp 部署容器应用是否成功。
true:成功。
false:失败。
注意:此字段可能返回 null,表示取不到有效值。
RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 部署容器应用

输入示例

POST / HTTP/1.1
Host: tsf.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: DeployContainerGroup
<公共请求参数>

{
    "ApplicationId": "application-6ym5kebd",
    "GroupName": "test-group-1",
    "ClusterId": "cls-23iwxs1l",
    "Alias": "app remark",
    "NamespaceId": "namespace-by8mg4xs",
    "Tags": [
        {
            "TagKey": "tke-clusterId",
            "TagValue": "cls-23iwxs1l"
        }
    ],
    "ContainerKind": "Deployment",
    "InstanceNum": 1,
    "SchedulingStrategy": {
        "Type": "NONE",
        "NodeScheduleStrategyType": "Default",
        "AvailableZoneScatterScheduleType": "None",
        "PodScheduleStrategyType": "None",
        "TolerateScheduleType": "None"
    },
    "ServiceSettingList": [
        {
            "LoadBalancingType": "Intranet",
            "ExternalTrafficStrategy": "Local",
            "ExternalTrafficPolicy": "Local",
            "ServiceName": "test-svc-1",
            "HeadlessService": true,
            "AccessType": 1,
            "SubnetId": "subnet-d15zonly",
            "OpenSessionAffinity": false,
            "SessionAffinityTimeoutSeconds": 10800,
            "ProtocolPorts": [
                {
                    "Protocol": "TCP",
                    "TargetPort": 80,
                    "Port": 80,
                    "Name": "svc-1"
                }
            ]
        }
    ],
    "ServiceClean": false,
    "EnvClean": true,
    "RestartPolicy": "Always",
    "CpuRequest": "0.25",
    "MemRequest": "120",
    "MemLimit": "1280",
    "CpuLimit": "0.5",
    "Server": "ccr.ccs.tencentyun.com",
    "RepoName": "tsf_700001025656/test-sts-1",
    "TagName": "nginx-v1",
    "Envs": [
        {
            "ValueFrom": {
                "FieldRef": {
                    "FieldPath": "metadata.name"
                }
            },
            "Name": "env1"
        },
        {
            "ValueFrom": {
                "ResourceFieldRef": {
                    "Resource": "limits.memory"
                }
            },
            "Name": "env2"
        },
        {
            "ValueFrom": {
                "ConfigMapKeyRef": {
                    "Name": "kube-root-ca.crt",
                    "Key": "ca.crt"
                }
            },
            "Name": "env3"
        },
        {
            "ValueFrom": {
                "SecretKeyRef": {
                    "Name": "qcloudregistrykey",
                    "Key": ".dockercfg"
                }
            },
            "Name": "env4"
        }
    ],
    "RepoType": "personal",
    "PrivilegeContainerEnable": true,
    "RunCommand": "/bin/sh",
    "RunArg": "-c\nwhile true; do echo hello; sleep 10; done",
    "InitContainerEnable": false,
    "LifeCycleHookList": [
        {
            "HookType": "postStart",
            "ExecMode": "httpGet",
            "HttpGetOption": {
                "Scheme": "HTTP",
                "Host": "host.com",
                "Path": "/tmp",
                "Port": "7998"
            }
        },
        {
            "HookType": "preStop",
            "ExecMode": "none",
            "HttpGetOption": {
                "Scheme": "HTTP"
            }
        }
    ],
    "HealthCheckSettings": {
        "LivenessProbe": {
            "Type": "K8S_NATIVE",
            "ActionType": "HTTP",
            "InitialDelaySeconds": 0,
            "TimeoutSeconds": 3,
            "PeriodSeconds": 30,
            "SuccessThreshold": 1,
            "FailureThreshold": 3,
            "Port": "30000",
            "Scheme": "HTTP",
            "Path": "/"
        },
        "ReadinessProbe": {
            "Type": "TSF_DEFAULT"
        }
    },
    "JvmOpts": "-Xms128m -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m",
    "VolumeMountInfoList": [
        {
            "VolumeMountPath": "/tmp",
            "VolumeMountSubPath": "/",
            "ReadOrWrite": "1",
            "VolumeMountName": "test-data-emptydir"
        }
    ],
    "AgentCpuRequest": "0.1",
    "AgentCpuLimit": "0.2",
    "AgentMemRequest": "125",
    "AgentMemLimit": "400",
    "DeployAgent": true,
    "AdditionalContainerList": [
        {
            "CpuRequest": "0.25",
            "MemRequest": "120",
            "MemLimit": "1280",
            "CpuLimit": "0.5",
            "Server": "ccr.ccs.tencentyun.com",
            "RepoName": "tsf_700001025656/test-ns",
            "TagName": "polaris-1",
            "Envs": [],
            "RepoType": "personal",
            "PrivilegeContainerEnable": false,
            "InitContainerEnable": false,
            "LifeCycleHookList": [
                {
                    "HookType": "postStart",
                    "ExecMode": "none",
                    "HttpGetOption": {
                        "Scheme": "HTTP"
                    }
                },
                {
                    "HookType": "preStop",
                    "ExecMode": "none",
                    "HttpGetOption": {
                        "Scheme": "HTTP"
                    }
                }
            ],
            "HealthCheckSettings": {},
            "JvmOpts": "-Xms128m -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m",
            "VolumeMountInfoList": []
        }
    ],
    "VolumeInfoList": [
        {
            "VolumeName": "test-data-emptydir",
            "VolumeType": "emptyDir",
            "ConfigMapOptions": [],
            "EmptyDirOption": {
                "StorageCapacity": 1,
                "StorageUnit": "Gi",
                "EnableMemory": true
            }
        }
    ],
    "VolumeClean": true,
    "ServiceGovernanceConfig": {
        "GovernanceType": "SHARE",
        "EnableGovernance": true
    },
    "ObservabilityConfig": {
        "BusinessLogConfigIdList": [
            "apm-busi-log-cfg-lba2povk",
            "apm-busi-log-cfg-2vz5nm9v"
        ],
        "BusinessLogDeliveryConfigIdList": []
    },
    "WarmupSetting": {
        "Enabled": true,
        "WarmupTime": 60,
        "Curvature": 2,
        "EnabledProtection": true
    },
    "AgentProfileList": [
        {
            "AgentType": "OT_AGENT",
            "AgentVersion": ""
        }
    ],
    "UpdateType": 1,
    "UpdateIvl": 10,
    "MaxSurge": "25%",
    "MaxUnavailable": "0"
}

输出示例

{
    "Response": {
        "Result": {
            "GroupId": "group-oydjq4my",
            "TaskId": "task-2.0-gvko6ona"
        },
        "RequestId": "a187dea0-773a-4076-a06b-ac6482f6f679"
    }
}

5. 开发者资源

腾讯云 API 平台

腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

API Inspector

用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
FailedOperation.ClusterQueryFailed 查询集群失败。
FailedOperation.ContainergroupKuberneteApiInvokeError 调用 kube-api-server 失败。
FailedOperation.ContainergroupKubernetesApiInvokeError 调用 kube-api-server 失败。
FailedOperation.ContainergroupKubernetesConnectError 调用 kube-api-server 失败。
FailedOperation.TokenQueryFailed TOKEN查询失败。
FailedOperation.TsfPrivilegeError TSF权限模块异常,请联系系统管理员。
FailedOperation.UnhandledException 模块未处理异常。
InternalError.ContainergroupKuberneteApiInvokeError 访问TKE服务失败。
InternalError.ContainergroupKuberneteConnectError 连接TKE服务失败。
InternalError.ContainergroupSqlFailed 容器应用SQL错误。
InternalError.UnhandledException 模块未处理异常。
InvalidParameter.BadRequest 示例:serviceId模块接口action请求不正确(400 BAD REQUEST)。
InvalidParameter.KubernetesParamError 参数错误。
InvalidParameter.ParamError 参数错误。
InvalidParameterValue.ContainergroupAccesstypeNull 服务访问方式不能为空。
InvalidParameterValue.ContainergroupCpulimitOver 集群 CPU 资源不足。
InvalidParameterValue.ContainergroupEnvValueNotSet 容器 Env 的 Value 和 ValueFrom 至少要有一个。
InvalidParameterValue.ContainergroupGroupidNull 部署组ID不能为空。
InvalidParameterValue.ContainergroupInvalidCpuInfo CPU limit 和 request 不能同时为空。
InvalidParameterValue.ContainergroupInvalidMemInfo 内存 limit 和 request 不能同时为空。
InvalidParameterValue.ContainergroupMemlimitOver 集群内存资源不足。
InvalidParameterValue.ContainergroupNodePortInvalid 主机端口值非法。
InvalidParameterValue.ContainergroupPortNull 服务端口不能为空。
InvalidParameterValue.ContainergroupPortsRepeat 服务端口不允许重复映射。
InvalidParameterValue.ContainergroupProtocolInvalid 协议值非法,限定:TCP/UDP。
InvalidParameterValue.ContainergroupProtocolMixError 公网访问方式下,协议需要一致。
InvalidParameterValue.ContainergroupProtocolNull 协议不能为空。
InvalidParameterValue.ContainergroupProtocolPortsNull 协议端口不能为空。
InvalidParameterValue.ContainergroupReponameInvalid 镜像仓库名与应用名不匹配。
InvalidParameterValue.ContainergroupResourceAgentValueInvalid 示例:agent 容器资源值非法 , cpu。
InvalidParameterValue.ContainergroupServiceNameValidError service名称校验失败。
InvalidParameterValue.ContainergroupTargetPortsRepeat 容器端口不允许重复映射。
InvalidParameterValue.ContainergroupTargetportNull 容器端口不能为空。
InvalidParameterValue.ContainergroupUpdateivlInvalid 更新间隔不能为空或者数值非法。
InvalidParameterValue.ContainergroupUpdatetypeInvalid updateType参数不合法,值必须为0、1。
InvalidParameterValue.ContainergroupYamlUserContainerNotFound 找不到业务容器。
InvalidParameterValue.ImagerepoRepoNameNull 镜像仓库名不能为空。
InvalidParameterValue.ImagerepoReponameInvalid 镜像仓库名不合法,示例:tsf-repo/nginx。
InvalidParameterValue.ImagerepoTagnameNull imageTags不能为空。
InvalidParameterValue.WrongDontStartValue 仅有停止状态下的部署组才可以不启动。
MissingParameter.SystemParameterRequired 示例:未指定language。
ResourceNotFound.ClusterNotExist 无法获取命名空间所属集群。
ResourceNotFound.ContainergroupGroupNotFound 无法找到该部署组。
ResourceNotFound.MicroserviceOffline 目标微服务已离线。
UnauthorizedOperation.NoPrivilege 用户无权限访问该接口。