更新时间:2024-12-16 GMT+08:00

应用中导入CCE工作负载创建组件

功能介绍

在CCE中,工作负载(Workload)是指一组以某种方式协同工作的Pod集合,它们为了完成一个特定的应用程序或服务而存在。

此API用于在应用中导入CCE中已经创建的工作负载用于创建组件。

URI

POST /v3/{project_id}/cas/applications/{application_id}/components

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

租户项目ID。获取方法,请参考获取项目ID

application_id

String

应用ID。获取方法,请参考获取所有应用

请求消息

表2 请求Header参数

参数

是否必选

参数类型

描述

Content-Type

String

消息体的类型(格式),默认取值为“application/json;charset=utf8”。

X-Auth-Token

String

调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考认证鉴权

表3 请求Body参数

参数

是否必选

参数类型

描述

create_mode

String

组件创建方式。

导入CCE中已经创建的工作负载用于创建组件,该参数需要设置为import。

name

String

应用组件名称。

由英文字母、数字、中划线(-)、下划线(_)组成,并以英文字母开头,英文字母或者数字结尾,长度为2~64个字符。

workload_name

String

CCE上已经创建的工作负载的名称。

labels

Array of objects

标签。

容器部署可通过标签查询对应工作负载,请参考表4

runtime_stack

Object

运行时,固定为Docker。

environment_id

String

环境ID。

description

String

描述。

最大长度为128个字符。

version

String

组件版本号,最大长度32,规则为:

^([0-9]+)(.[0-9]+){2,3}$

workload_kind

String

工作负载类型。

  • deployment,无状态工作负载。
  • statefulset,有状态工作负载。

refer_resources

Array of objects

关联资源,请参考表5

导入的工作负载需要进行微服务灰度发布时,需关联ServiceComb引擎或者Nacos引擎。

external_accesses

Array of Objects

外部访问,请参考表7

表4 labels

参数

是否必选

参数类型

描述

key

String

标签名称。

value

String

标签值。

表5 refer_resources

参数

是否必选

参数类型

描述

id

String

资源id。

type

String

资源类型:

  • vpc:虚拟私有云
  • eip:弹性公网IP
  • elb:弹性负载均衡
  • cce:云容器引擎
  • ecs:弹性云服务器
  • dcs:分布式缓存服务
  • rds:云数据库
  • cse:ServiceComb引擎
  • nacos:注册配置中心

parameters

Object

资源参数,请参考表6

表6 refer_resource_parameter

参数

是否必选

参数类型

描述

namespace

String

命名空间。

表7 external_accesses

参数

是否必选

参数类型

描述

protocol

String

外部访问类型,取值范围为:http、https。

address

String

外部访问地址。

forward_port

Integer

外部访问端口。

响应消息

表8 响应参数

参数

参数类型

描述

instance_id

String

组件实例ID。

请求示例

通过从id为1d23eab7-da00-11ee-a1e1-0255ac1001ba的CCE中导入test-cyf-deployment工作负载,创建名为testcyf-import-deployment的无状态组件。

{
	"name": "testcyf-import-deployment",
	"description": "",
	"labels": [],
	"version": "2024.0506.16306",
	"environment_id": "9cff7557-4ebb-481b-bc1e-6a6573b5b8d2",
	"application_id": "563cab6a-53fb-4f5d-8921-de1bfe36db00",
	"enterprise_project_id": "0",
	"workload_name": "test-cyf-deployment",
	"workload_kind": "deployment",
	"runtime_stack": {
		"name": "Docker",
		"version": "",
		"type": "Docker",
		"deploy_mode": "container"
	},
	"refer_resources": [{
		"id": "1d23eab7-da00-11ee-a1e1-0255ac1001ba",
		"type": "cce",
		"parameters": {
			"namespace": "default"
		}
	}],
	"create_mode": "import"
}

响应示例

{
   
    "instance_id": "7897df44-e9c3-486f-9406-7a55e9aa55e2"

}

状态码

状态码

描述

200

操作成功

400

错误的请求

404

请求对象不存在

500

内部错误

错误码

错误码格式为:SVCSTG.00100.[Error_ID],例如:SVCSTG.00100400。错误码说明请参考ServiceStage错误码