持续交付
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
Action | String | 是 | CreateManagedApp | 接口名称。当前 API 的名称为 CreateManagedApp。 |
Version | String | 是 | 2023-05-01 | 接口版本。当前 API 的版本为 2023-05-01。 |
WorkspaceId | String | 否 | 18be9*****a1aca409f5e19c**** | 工作区的 ID,用于指定应用所属的工作区。 |
MetaInfo | 是 | - | 应用元信息,包含应用的基本标识、技术栈、成员角色、部署类型等信息。 | |
BasicConfig | 是 | - | 应用的基础配置,包含部署方式、访问方式、镜像配置、服务规格和版本号等信息。 | |
AdvancedConfig | 否 | - | 应用的高级配置,包含健康检查、启动配置、环境变量、启动命令和参数、应用监控配置、服务访问权限配置、存储配置以及自定义标签和注解等。 | |
EnvConfig | 否 | - | 应用的环境配置,包含部署资源 ID、命名空间、部署资源类型等信息。 | |
ReleaseStrategy | 否 | - | 应用发布策略类型。 | |
EnvType | String | 否 | DeployCluster | 应用环境类型,当前仅支持使用已有的部署集群类型 DeployCluster。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
Name | String | 是 | demo-app | 应用的 ID,用于在系统中唯一识别该应用。 |
AppStack | String | 否 | Java | 应用的技术栈类型,用于标识应用所使用的技术框架或语言。支持的取值如下所示。
|
UserRoles | 是 | - | 应用成员及其角色列表。 | |
DeployType | String | 否 | K8sYaml | 应用的部署资源类型,用于指定应用部署时所使用的资源类型。当前仅支持 K8sYaml。 |
Description | String | 否 | Demo application | 应用的描述信息,用于简要说明应用的用途、功能或其他相关信息。 |
DisplayName | String | 是 | Demo Application | 应用的显示名称,用于在用户界面中展示该应用的友好名称。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
User | 否 | - | 用户信息,包含用户 ID 和主账号 ID。 | |
UserType | String | 否 | - | 用户类型,用于指定应用成员的绑定类型。
|
RoleNames | Array of String | 是 | ["Developer","Tester"] | 应用成员的角色名称列表,用于指定成员在应用中的权限。各角色权限说明如下:
|
UserGroup | 否 | - | 用户组信息,包含主账号 ID 和用户组 ID。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
UserId | Long | 否 | 53**** | 用户的 ID,用于指定应用成员中的用户。 |
AccountId | Long | 是 | 210000**** | 用户的主账号 ID,用于标识用户所属的主账号。当 UserType 为 User 时,此字段必填。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
AccountId | Long | 是 | 2100000000 | 用户的主账号 ID,用于标识用户所属的主账号。 |
UserGroupId | Long | 否 | 12000000 | 用户组的 ID,用于指定应用成员中的用户组。当 UserType 为 UserGroup 时,此字段必填。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
DeployType | String | 是 | Image | 应用的部署方式,当前仅支持 Image 类型。 |
AppServices | 否 | - | 应用的访问方式配置,用于定义服务的名称、类型、端口映射等信息。 | |
ImageConfig | 否 | - | 镜像配置,用于指定应用的容器镜像信息。支持的镜像类型如下所示。
| |
Specification | 否 | - | 服务规格配置,用于定义应用的资源分配和实例数量。包括 CPU 和内存的请求与限制值,以及实例数量。 | |
VersionNumber | String | 否 | v1.0.0 | 应用的版本号,用于标识当前应用的版本信息。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
Name | String | 否 | demo-svc | 服务的名称,用于标识应用中的服务实例。 |
Scheduler | String | 否 | wrr | 负载均衡器的调度算法,当前仅支持 wrr(加权轮询)方式分发流量到后端服务实例。 |
AddressType | String | 是 | ClusterIP | 服务的访问类型,当前仅支持 ClusterIP。该类型表示服务仅在集群内部可访问,不对外暴露。 |
ServicePortMapping | 否 | - | 端口映射列表,用于定义服务端口与目标端口的映射关系。每个映射包含协议类型、服务端口和目标端口。 | |
ExternalTrafficPolicy | String | 否 | Cluster | 负载均衡器的外部流量策略,用于控制外部流量如何路由到后端服务实例。当前仅支持 Cluster 模式,表示流量可以均衡转发到工作负载对应的所有 Pod。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
Protocol | String | 是 | TCP | 端口映射的协议类型,用于指定服务端口与目标端口之间的通信协议。支持的取值如下所示。
|
TargetPort | Integer | 否 | 8000 | 端口映射的目标端口,用于指定容器内部服务监听的端口号。 |
ServicePort | Integer | 是 | 8000 | 端口映射的服务端口,用于指定服务对外暴露的端口号。该端口号将映射到容器内部的 TargetPort,允许外部流量通过该端口访问服务。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
Image | String | 否 | ***-cn-beijing.cr.volces.com/namespace/repo:tag | 容器镜像的完整地址,用于指定应用部署时使用的镜像。当 ImageType 为 Custom 时,此字段必填。 |
CRImage | 否 | - | 容器镜像仓库(CR)的镜像配置信息,用于指定应用部署时使用的容器镜像来源。包含镜像的仓库名称、命名空间、标签、地域和实例名称等关键信息。 | |
ImageType | String | 是 | CR | 镜像类型,用于指定应用部署时使用的容器镜像来源。支持的取值如下所示。
|
ImageCredential | 否 | - | 镜像鉴权信息,用于访问私有镜像仓库时的身份验证。包含用户名和密码,用于拉取私有镜像。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
Tag | String | 否 | v1.0.0 | 容器镜像仓库(CR)中镜像的标签,用于标识镜像的特定版本。 |
Repo | String | 否 | demo-repo | 容器镜像仓库(CR)中的制品仓库名称,用于标识存储容器镜像的仓库。 |
Region | String | 否 | cn-beijing | |
Instance | String | 否 | demo-instance | 容器镜像仓库(CR)的实例名称,用于标识镜像所在的 CR 实例。 |
Namespace | String | 否 | demo-namespace | 容器镜像仓库(CR)中制品的命名空间,用于标识镜像在仓库中的逻辑分组。命名空间通常用于组织和管理不同项目或团队的镜像资源。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
Password | String | 是 | Pwd123**** | 用于访问私有镜像仓库时的密码,需与 Username 字段配合使用以完成身份验证。 |
Username | String | 是 | username | 用于访问私有镜像仓库时的用户名,需与 Password 字段配合使用以完成身份验证。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
CPU | Double | 否 | 0.5 | 分配给容器的 CPU 核数,用于指定应用运行时的计算资源配额。该值表示容器可以使用的 CPU 核心数量,通常以小数形式表示部分核心资源。 |
Memory | Long | 否 | 1 | 分配给容器的内存大小,单位为 GB。该值表示容器可以使用的内存资源配额。 |
CPULimit | String | 否 | 1 | 容器 CPU 资源的最大限制值,单位为核(core)。该值表示容器运行时可以使用的 CPU 资源上限,超过此限制时容器将被限制或终止。 |
CPURequest | String | 否 | 0.5 | 容器 CPU 资源的请求值,单位为核(core)。该值表示容器运行时需要的最小 CPU 资源配额,Kubernetes 调度器将确保容器至少获得该数量的 CPU 资源。 |
MemoryLimit | String | 否 | 2Gi | 容器内存资源的最大限制值,用于指定容器运行时可以使用的内存上限。超过此限制时容器将被限制或终止。该值需符合 Kubernetes 资源单位规范,例如 Gi 表示 Gibibyte。 |
MemoryRequest | String | 否 | 1Gi | 容器内存资源的请求值,用于指定容器运行时需要的最小内存资源配额。Kubernetes 调度器将确保容器至少获得该数量的内存资源。该值需符合 Kubernetes 资源单位规范,例如 Gi 表示 Gibibyte。 |
InstanceNumber | Long | 是 | 2 | 应用实例的数量,用于指定应用运行时需要启动的容器实例个数。该值决定了应用的横向扩展能力,数值越大表示应用的并发处理能力越强。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
HealthCheck | 否 | - | 健康检查配置,用于定义容器运行时的健康检查策略,确保应用实例能够正常提供服务。支持的检查方式如下所示。
| |
StartConfig | 否 | - | 应用的启动配置,用于定义容器启动时的执行方式。支持的启动方式如下所示。
| |
EnvVariables | 否 | - | 应用运行时的环境变量配置,用于定义容器运行时的环境变量键值对。每个环境变量包含 Key 和 Value 两个字段。 | |
StartCommand | String | 否 | python | 容器启动时执行的命令,用于指定应用启动的入口程序或脚本。该命令将在容器启动时自动执行,通常用于启动应用的主进程。 |
StartParameter | String | 否 | demo.py | 容器启动时传递给启动命令的参数,用于指定应用启动时的额外配置或执行参数。该参数将与 StartCommand 配合使用,共同构成完整的启动指令。 |
AppMonitoringConfig | 否 | - | 应用的可观测性配置,用于定义应用的监控相关设置。包含 APMPlusConfig 配置项,用于指定监控应用类型和服务名称。 | |
ServiceAccessConfig | 否 | - | 应用访问其他服务的权限配置,当前仅在 VKE 镜像场景下支持 IRSA 方式。该配置用于定义应用如何通过 OIDC 机制获取访问服务的权限。 | |
AppStorageConfigList | 否 | - | 应用存储配置列表,用于定义容器运行时挂载的存储卷信息。每个配置项包含存储类型、挂载路径以及 NAS 配置等详细信息。 | |
CustomLabelsAndAnnotations | 否 | - | 自定义标签和注解,用于为应用添加额外的元数据信息。标签用于标识和分类资源,注解用于存储非标识性的附加信息。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
Port | Long | 是 | 8080 | 健康检查的目标端口号,用于指定容器内部服务监听的端口。当健康检查类型为 HTTP 或 TCP 时,此字段必填。 |
Type | String | 是 | HTTP | 健康检查的类型,用于指定容器健康检查的方式。支持的取值如下所示。
|
HTTPPath | String | 否 | /health | HTTP 健康检查的路径,用于指定容器健康检查时发送 HTTP 请求的目标路径。当健康检查类型为 HTTP 时,此字段必填。 |
Protocol | String | 否 | HTTP | 健康检查的协议类型,仅当健康检查类型为 HTTP 时有效。支持的取值如下所示。
|
TimeConfig | 否 | - | 健康检查的时间配置,用于定义健康检查的初始等待时间、超时时间和检查间隔。所有时间单位均为秒。 | |
ThresholdConfig | 否 | - | 健康检查的阈值配置,用于定义健康检查的成功和失败判定条件。当健康检查连续成功次数达到 SuccessNumber 时,判定为健康。当连续失败次数达到 FailureNumber 时,判定为不健康。 | |
HTTPRequestHeader | 否 | - | HTTP 健康检查的请求头列表,用于在发送健康检查请求时附加自定义的 HTTP 头部信息。每个请求头包含 Key 和 Value 两个字段。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
Timeout | Long | 是 | 10 | 健康检查的超时时间,单位为秒。表示在健康检查过程中,等待容器响应的最长时间。如果超过该时间仍未收到响应,则认为健康检查失败。 |
InitialWait | Long | 是 | 10 | 健康检查的初始等待时间,单位为秒。表示容器启动后,等待多长时间才开始执行第一次健康检查。该时间用于确保容器内的应用服务已完全启动并准备好接收健康检查请求。 |
CheckInterval | Long | 是 | 10 | 健康检查的间隔时间,单位为秒。表示两次健康检查之间的等待时间。该时间决定了健康检查的频率,数值越小表示检查越频繁。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
FailureNumber | Long | 是 | 3 | 健康检查的失败阈值,表示当连续健康检查失败次数达到该值时,判定容器为不健康状态。 |
SuccessNumber | Long | 是 | 1 | 健康检查的成功阈值,表示当连续健康检查成功次数达到该值时,判定容器为健康状态。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
Key | String | 是 | User-Agent | HTTP 健康检查请求头的键名,用于定义发送健康检查请求时附加的自定义 HTTP 头部字段名称。 |
Value | String | 是 | HealthCheck | HTTP 健康检查请求头的值,用于定义发送健康检查请求时附加的自定义 HTTP 头部字段的具体内容。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
Type | String | 是 | CloudNative | 应用的启动方式类型,用于指定容器启动时的执行方式。支持的取值如下所示。
|
CustomScript | 否 | - | 自定义脚本内容,用于定义容器启动时执行的自定义脚本命令。当 StartConfig.Type 为 CustomScript 时,此字段必填。 | |
CloudNativeCommand | 否 | - | 云原生命令配置,用于定义容器启动时执行的命令及其参数。当 StartConfig.Type 为 CloudNative 时,此配置生效。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
Content | String | 是 | /bin/bash -c app_start.sh | 自定义脚本内容,用于定义容器启动时执行的自定义脚本命令。当 StartConfig.Type 为 CustomScript 时,此字段必填。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
Command | String | 否 | python | 容器启动时执行的云原生命令,用于指定应用的主进程启动命令。该命令通常为可执行文件或脚本路径,例如 python 或 /usr/local/bin/myapp。当 StartConfig.Type 为 CloudNative 时,此字段生效。 |
Arguments | Array of String | 否 | ["agent.py","--port=8080"] | 容器启动时传递给启动命令的参数列表,用于指定应用启动时的额外配置或执行参数。该参数将与 Command 字段配合使用,共同构成完整的启动指令。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
APMPlusConfig | 否 | - | APMPlus 监控配置,用于指定应用的监控类型和服务名称。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
InjectType | String | 是 | Python | 应用监控的注入类型,用于指定 APMPlus 监控的应用技术栈类型。支持的取值如下所示。
|
ServiceName | String | 否 | demo-service | 监控服务的名称,用于标识应用在 APMPlus 监控系统中的服务实例。推荐使用应用名称作为该字段的值,以便于在监控系统中快速识别和定位应用。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
Type | String | 是 | IRSA | 应用访问其他服务的权限配置类型,当前仅在 VKE 镜像场景下支持 IRSA 方式。该配置用于定义应用如何通过 OIDC 机制获取访问服务的权限。 |
IRSAConfig | 否 | - | VKE IRSA OIDC 的详细配置,用于定义应用通过 OIDC 机制访问其他服务的权限。包含 OIDC 提供商的 JSON 配置文档、OIDC 提供商 TRN、IAM 角色 TRN 以及凭证文件在容器中的挂载路径。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
OIDCTrn | String | 是 | trn:iam::210000****:oidc-provider/vke-irsa-**** | OIDC 提供商的 TRN(Tinder Resource Name),用于唯一标识中的 OIDC 提供商资源。该字段是 IRSA(IAM Roles for Service Accounts)配置的一部分,用于授权应用访问其他服务。 |
OIDCUrl | String | 是 | https://oidc-vke-cn-beijing.tos-cn-beijing.volces.com/**** | OIDC 提供商的 JSON 格式配置文档 URL,包含了 OIDC 提供商的相关信息,用于应用通过 OIDC 机制获取访问服务的权限。 |
IamRoleTrn | String | 是 | trn:iam::210000****:role/agent-test | IAM 角色的 TRN(Tinder Resource Name),用于授权应用通过 OIDC 机制访问其他服务。该角色需预先配置相应的访问权限策略。 |
CredentialPath | String | 是 | /var/run/secrets/iam/credential | OIDC Token 换取的凭证文件在容器中的挂载路径,用于应用通过 IRSA(IAM Roles for Service Accounts)机制访问其他服务时的身份认证。该路径指定了容器内部存储凭证文件的位置,系统将自动在该路径下挂载包含访问凭证的文件。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
Type | String | 是 | NAS | 存储类型,用于指定应用运行时挂载的存储卷类型。支持的取值如下所示。
|
MountPath | String | 是 | /data | 存储卷在容器中的挂载路径,用于指定容器内部访问存储卷的位置。该路径必须为绝对路径,且不能与系统目录冲突。 |
NASConfig | 否 | - | NAS 存储配置,用于定义应用挂载的网络附加存储(NAS)的详细信息。包含文件系统 ID、挂载点 ID、文件系统名称、挂载点域名、地域和子目录等关键信息。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
Type | String | 是 | NFS | NAS 存储的文件类型,用于指定网络附加存储的具体类型。 |
Region | String | 是 | cn-beijing | NAS 存储所在的地域,用于指定网络附加存储的地理位置。该字段为必填项,需与文件系统和挂载点位于同一地域。 |
Subpath | String | 否 | /data | NAS 存储的子目录路径,用于指定在 NAS 文件系统中挂载的具体子目录。该路径相对于 NAS 文件系统的根目录,允许应用访问文件系统中的特定子目录而非整个文件系统。 |
FilesystemId | String | 是 | enas-cnbj1234**** | NAS 文件系统的 ID,用于指定应用挂载的网络附加存储(NAS)文件系统。该字段为必填项,需与挂载点 ID 和文件系统名称位于同一地域。 |
MountPointId | String | 是 | mount-a6ee**** | NAS 存储挂载点的 ID,用于指定应用运行时挂载的网络附加存储的具体挂载点。该 ID 与 FilesystemId 配合使用,确保应用能够正确访问指定的 NAS 存储资源。 |
FilesystemName | String | 是 | my-nas-filesystem | NAS 文件系统的名称,用于标识网络附加存储(NAS)的文件系统。该名称与 FilesystemId 和 MountPointId 配合使用,确保应用能够正确访问指定的 NAS 存储资源。 |
MountPointDomain | String | 是 | my-nas-filesystem.cn-beijing.nas.volces.com | NAS 存储挂载点的域名,用于指定应用访问网络附加存储时的网络地址。该域名由 NAS 服务自动生成,格式通常为 文件系统名称.地域.nas.volces.com。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
Name | String | 是 | demo-prod | 部署资源的名称,用于标识应用部署的目标环境或命名空间。 |
Namespace | String | 否 | demo-namespace | 部署资源的命名空间,用于指定应用在 Kubernetes 集群中的逻辑分组。命名空间通常用于隔离和管理不同项目或团队的应用资源。 |
DeployResourceId | String | 是 | 18be9*****a1aca409f5e19c**** | 部署资源的 ID,用于指定应用部署的目标资源。该 ID 通常指向已存在的 Kubernetes 集群或其他部署环境。 |
DeployResourceType | String | 否 | K8sYaml | 部署资源类型,当前仅支持K8sYaml。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
Type | String | 是 | Rolling | 应用发布策略类型,用于指定应用的发布方式。支持的取值如下所示。
|
参数 | 类型 | 示例值 | 描述 |
参数 | 类型 | 示例值 | 描述 |
Id | String | 18be9a1aca409f5e19c1**** | 托管应用的 ID,用于后续对该应用的查询、更新或删除操作。 |