应用部署

最近更新时间:2024-03-12 01:54:30

我的收藏

1. 接口描述

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

应用部署

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

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

2. 输入参数

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

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:DeployApplication。
Version String 公共参数,本接口取值:2021-07-01。
Region String 公共参数,详见产品支持的 地域列表
ApplicationId String 应用ID
示例值:1
InitPodNum Integer 初始化 pod 数
示例值:1
CpuSpec Float cpu规格
示例值:1
MemorySpec Float 内存规格
示例值:1
EnvironmentId String 环境ID
示例值:1
ImgRepo String 镜像仓库
示例值:1
VersionDesc String 版本描述信息
示例值:1
JvmOpts String 启动参数
示例值:1
EsInfo EsInfo 弹性伸缩配置(已废弃,请使用HorizontalAutoscaler设置弹性策略)
示例值:1
EnvConf.N Array of Pair 环境变量配置
示例值:1
LogConfs.N Array of String 日志配置
示例值:1
StorageConfs.N Array of StorageConf 数据卷配置
示例值:1
StorageMountConfs.N Array of StorageMountConf 数据卷挂载配置
示例值:1
DeployMode String 部署类型。
- JAR:通过 jar 包部署
- WAR:通过 war 包部署
- IMAGE:通过镜像部署
示例值:1
DeployVersion String 部署类型为 IMAGE 时,该参数表示镜像 tag。
部署类型为 JAR/WAR 时,该参数表示包版本号。
示例值:1
PkgName String 包名。使用 JAR 包或者 WAR 包部署的时候必填。
示例值:1
JdkVersion String JDK 版本。
- KONA:8:使用 kona jdk 8。
- OPEN:8:使用 open jdk 8。
- KONA:11:使用 kona jdk 11。
- OPEN:11:使用 open jdk 11。
示例值:1
SecurityGroupIds.N Array of String 安全组ID s
示例值:1
LogOutputConf LogOutputConf 日志输出配置
示例值:1
SourceChannel Integer 来源渠道
示例值:0
Description String 版本描述
示例值:1
ImageCommand String 镜像命令
示例值:cd
ImageArgs.N Array of String 镜像命令参数
示例值:/home
UseRegistryDefaultConfig Boolean 是否添加默认注册中心配置
示例值:true
SettingConfs.N Array of MountedSettingConf 挂载配置信息
示例值:[]
Service EksService 应用访问设置
示例值:1
VersionId String 要回滚到的历史版本id
示例值:version-123
PostStart String 启动后执行的脚本
示例值:1
PreStop String 停止前执行的脚本
示例值:1
Liveness HealthCheckConfig 存活探针配置
示例值:1
Readiness HealthCheckConfig 就绪探针配置
示例值:1
DeployStrategyConf DeployStrategyConf 分批发布策略配置
示例值:1
HorizontalAutoscaler.N Array of HorizontalAutoscaler 弹性策略(已弃用,请使用弹性伸缩策略组合相关接口)
示例值:1
CronHorizontalAutoscaler.N Array of CronHorizontalAutoscaler 定时弹性策略(已弃用,请使用弹性伸缩策略组合相关接口)
示例值:1
LogEnable Integer 是否启用log,1为启用,0为不启用
示例值:1
ConfEdited Boolean (除开镜像配置)配置是否修改
示例值:true
SpeedUp Boolean 是否开启应用加速
示例值:true
StartupProbe HealthCheckConfig 启动探针配置
示例值:1
OsFlavour String 操作系统版本;
当选择openjdk时,可选参数:
- ALPINE
- CENTOS
当选择konajdk时,可选参数:
- ALPINE
- TENCENTOS
示例值:1
EnablePrometheusConf EnablePrometheusConf metrics业务指标监控配置
示例值:{}
EnableTracing Integer 1:开始自动apm采集(skywalking);
0:关闭apm采集;
示例值:0
EnableMetrics Integer 1:开始自动metrics采集(open-telemetry);
0:关闭metrics采集;
示例值:0
TcrInstanceId String 镜像部署时,选择的tcr实例id
示例值:tcr-123
RepoServer String 镜像部署时,选择的镜像服务器地址
示例值:ccr.ccs.tencentcryun.com
RepoType Integer 镜像部署时,仓库类型:0:个人仓库;1:企业版;2:公共仓库;3:tem托管仓库;4:demo仓库
示例值:0

3. 输出参数

参数名称 类型 描述
Result String 版本ID(前端可忽略)
示例值:1
RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 应用部署

应用部署

输入示例

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

{
    "Service": {
        "ApplicationName": "xx",
        "ExternalIp": "xx",
        "Name": "xx",
        "PortMappings": [
            {
                "Protocol": "xx",
                "TargetPort": 0,
                "Port": 0
            }
        ],
        "Yaml": "xx",
        "LoadBalanceId": "xx",
        "VersionName": "xx",
        "ClusterIp": [
            "xx"
        ],
        "SubnetId": "xx",
        "Type": "xx",
        "Ports": [
            0
        ]
    },
    "JvmOpts": "xx",
    "StorageConfs": [
        {
            "StorageVolName": "xx",
            "StorageVolIp": "xx",
            "StorageVolPath": "xx"
        }
    ],
    "ImgRepo": "xx",
    "EnvConf": [
        {
            "Value": "xx",
            "Key": "xx"
        }
    ],
    "ImageCommand": "xx",
    "Description": "xx",
    "JdkVersion": "xx",
    "ApplicationId": "xx",
    "LogOutputConf": {
        "ClsLogTopicId": "xx",
        "ClsLogsetName": "xx",
        "ClsLogsetId": "xx",
        "ClsLogTopicName": "xx",
        "OutputType": "xx"
    },
    "UseRegistryDefaultConfig": true,
    "CpuSpec": 0.0,
    "DeployMode": "xx",
    "SecurityGroupIds": [
        "xx"
    ],
    "SourceChannel": 0,
    "DeployVersion": "xx",
    "InitPodNum": 1,
    "VersionDesc": "xx",
    "ImageArgs": [
        "xx"
    ],
    "MemorySpec": 0.0,
    "EnvironmentId": "xx",
    "LogConfs": [
        "xx"
    ],
    "PkgName": "xx",
    "StorageMountConfs": [
        {
            "VolumeName": "xx",
            "MountPath": "xx"
        }
    ],
    "EsInfo": {
        "MinAliveInstances": 0,
        "EsStrategy": 0,
        "VersionId": "xx",
        "Threshold": 1,
        "MaxAliveInstances": 2
    },
    "VersionId": "xx",
    "SettingConfs": [
        {
            "ConfigDataName": "xx",
            "MountedPath": "xx",
            "Data": [
                {
                    "Value": "xx",
                    "Key": "xx"
                }
            ]
        }
    ],
    "OsFlavour": "ALPINE"
}

输出示例

{
    "Response": {
        "RequestId": "81f74023-563c-437d-abf7-8139449ef178",
        "Result": "version-xxx"
    }
}

示例2 nanjing-test-20220111

输入示例

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

{
    "Service": {
        "Name": "字符串"
    },
    "JvmOpts": "字符串",
    "SpeedUp": "false",
    "PreStop": "字符串",
    "ImgRepo": "字符串",
    "EnvConf": [
        {
            "Config": "字符串",
            "Type": "字符串",
            "Key": "字符串",
            "Value": "字符串"
        }
    ],
    "ImageCommand": "字符串",
    "Description": "字符串",
    "JdkVersion": "字符串",
    "ApplicationId": "字符串",
    "LogOutputConf": {
        "ClsLogTopicName": "字符串",
        "ClsLogsetName": "字符串",
        "ClsLogTopicId": "字符串",
        "OutputType": "字符串",
        "ClsLogsetId": "字符串"
    },
    "ConfEdited": "false",
    "EnvironmentId": "字符串",
    "CpuSpec": "0.1",
    "DeployMode": "字符串",
    "SecurityGroupIds": [
        "字符串"
    ],
    "SourceChannel": "0",
    "LogEnable": "0",
    "InitPodNum": "2",
    "VersionDesc": "字符串",
    "ImageArgs": [
        "字符串"
    ],
    "MemorySpec": "1024",
    "UseRegistryDefaultConfig": "true",
    "LogConfs": [
        "字符串"
    ],
    "PkgName": "字符串",
    "StorageMountConfs": [
        {
            "VolumeName": "字符串",
            "MountPath": "字符串"
        }
    ],
    "DeployVersion": "字符串",
    "VersionId": "字符串",
    "SettingConfs": [
        {
            "ConfigDataName": "字符串",
            "MountedPath": "字符串",
            "Data": [
                {
                    "Config": "字符串",
                    "Type": "字符串",
                    "Key": "字符串",
                    "Value": "字符串"
                }
            ]
        }
    ],
    "StorageConfs": [
        {
            "StorageVolPath": "字符串",
            "StorageVolIp": "字符串",
            "StorageVolName": "字符串"
        }
    ],
    "PostStart": "字符串",
    "OsFlavour": "ALPINE"
}

输出示例

{
    "Response": {
        "RequestId": "422a54ac-9913-4d46-8439-9c05600003b3",
        "Result": "version-success"
    }
}

5. 开发者资源

腾讯云 API 平台

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

API Inspector

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

SDK

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

命令行工具

6. 错误码

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

错误码 描述
FailedOperation.ActionReadTimeout 请求响应超时。
FailedOperation.CreateServiceError 创建服务失败。
FailedOperation.DefaultInternalError 服务器繁忙,请稍后再试。
FailedOperation.DescribeServiceListError 查询service列表失败。
InternalError.ActionReadTimeout 请求响应超时。
InternalError.CreateApmResourceError 创建apm资源失败。
InternalError.CreateServiceError 创建服务失败。
InternalError.DefaultInternalError 服务器繁忙,请稍后再试。
InternalError.DeployVersionError 版本部署调用失败。
InvalidParameterValue.ApmNotBind APM 没有与当前环境绑定。
InvalidParameterValue.AutoScalerLargerThanOne 只支持绑定一种弹性伸缩。
InvalidParameterValue.CannotOverWriteOtherApplicationService 不能覆盖其他应用的访问方式。
InvalidParameterValue.InvalidDeployVersion 版本号格式非法。
InvalidParameterValue.InvalidEnvName 环境变量名非法,要求有由字母、数字,".","_" 和 "-" 组成,不能由数字开头。
InvalidParameterValue.InvalidEnvValue 环境变量长度不能超过1000。
InvalidParameterValue.InvalidMountPath 挂载路径不合法,不能为 /app。
InvalidParameterValue.InvalidTenantInfo 无法识别租户信息。
InvalidParameterValue.JdkVersionRequired JDK 版本不能为空。
InvalidParameterValue.MustProvidePortMappingRules 必须提供PortMapping规则。
InvalidParameterValue.NamespaceNotBelongToAppid 命名空间不属于用户。
InvalidParameterValue.OsNotSupport 操作系统不支持。
InvalidParameterValue.PostStartNotValid post start 不合法。
InvalidParameterValue.PreStopNotValid pre stop 不合法。
InvalidParameterValue.RegistryNotBind 注册中心没有与当前环境绑定。
InvalidParameterValue.ServiceNameDuplicateError 应用名已存在。
InvalidParameterValue.ServiceNotBelongToAppid 应用不属于此账户。
InvalidParameterValue.ServicePodReachMaximum 实例创建失败,达到上限。
InvalidParameterValue.ServiceUseReserveSuffix 服务名使用了保留后缀。
InvalidParameterValue.TemIdInvalid 不是合法的TEM ID。
InvalidParameterValue.TraitsTracingNotSupported 非 JAVA 应用不支持链路追踪特性。
InvalidParameterValue.VersionLengthLimit version 不能超过128位。
InvalidParameterValue.VersionLowerCase 版本必须小写。
MissingParameter.DeployModeNull 部署方式不能为空。
MissingParameter.DeployVersionNull 部署版本不能为空。
MissingParameter.ImgRepoNull 镜像仓库不能为空。
MissingParameter.LogsetOrTopicNull logset 和 topic 不能为空。
MissingParameter.PkgNameNull 包名不能为空。
MissingParameter.RepoServerNull 镜像仓库服务器不能为空。
MissingParameter.ServiceIdNull 服务ID不能为空。
MissingParameter.SvcRepoNotReady 镜像仓库还未就绪。
MissingParameter.VpcServiceSubnetNull vpc内访问类型子网ID不能为空。
ResourceInUse.ServiceDeploying 服务部署中。
ResourceNotFound.MicroserviceOffline 目标微服务已离线。
ResourceNotFound.ServiceNotFound 找不到应用。
ResourceNotFound.VersionNamespaceNotFound 找不到版本对应的环境。
ResourceUnavailable.WaitForKruise 等待组件安装。
UnauthorizedOperation.MissingEksLogRole 缺少容器服务的 CLS 日志角色,请打开控制台授权。
UnauthorizedOperation.UnauthorizedOperation 未授权。