创建网格
功能介绍
该API用于创建一个网格。
URI
POST /v1/{project_id}/meshes
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
Content-Type |
是 |
String |
消息体的类型(格式) |
X-Auth-Token |
是 |
String |
调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
apiVersion |
是 |
String |
API版本,固定值“v1”,该值不可修改 |
kind |
是 |
String |
API类型,固定值“Mesh”或“mesh”,该值不可修改 |
metadata |
是 |
表4 object |
网格的基本信息,为集合类的元素类型,包含一组由不同名称定义的属性 |
spec |
是 |
表5 object |
集合类的元素类型,您对需要管理的网格进行详细描述的主体部分都在spec中给出。ASM通过spec的描述来创建或更新网格对象 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
网格名称。 命名规则:以小写字母开头,由小写字母、数字、中划线(-)组成,长度范围4-64位,且不能以中划线(-)结尾 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
type |
是 |
String |
网格类型: InCluster: 集群内控制平面形态,基础版网格取值为InCluster |
version |
是 |
String |
网格版本 |
extendParams |
是 |
表6 object |
服务网格扩展信息 |
ipv6Enable |
否 |
Boolean |
网格是否支持IPV6 |
config |
否 |
表12 object |
网格配置。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
clusterID |
是 |
String |
集群ID,资源唯一标识,通过该ID查询需要添加的集群 |
injection |
否 |
表8 object |
sidecar注入配置 |
installation |
是 |
表9 object |
网格组件安装配置 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
key |
是 |
String |
Key值 |
operator |
是 |
String |
操作符,仅支持取值"In" |
values |
是 |
Array of strings |
Value值 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
proxyConfig |
否 |
表13 object |
网格数据面配置 |
telemetryConfig |
否 |
表14 object |
网格的可观测性配置 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
includeIPRanges |
否 |
String |
拦截对外访问的地址范围,以半角英文逗号(,)分隔的IP网段 |
excludeIPRanges |
否 |
String |
排除拦截对外访问的地址范围,以半角英文逗号(,)分隔的IP网段 |
excludeOutboundPorts |
否 |
String |
排除拦截对外访问端口,以半角英文逗号(,)分隔的出站端口列表 |
excludeInboundPorts |
否 |
String |
排除拦截访问服务的端口,以半角英文逗号(,)分隔的入站端口列表 |
includeOutboundPorts |
否 |
String |
拦截对外访问端口,以半角英文逗号(,)分隔的出站端口列表 |
includeInboundPorts |
否 |
String |
拦截访问服务的端口,以半角英文逗号(,)分隔的入站端口列表 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
metrics |
否 |
表15 object |
应用指标配置,用于上报ASM网格指标数据。如果要启用该配置,集群需安装云原生监控插件。 |
accessLogging |
否 |
表17 object |
AccessLog配置,用于上报ASM网格内Istio代理的访问日志。如果要启用该配置,集群需安装云原生日志采集插件。 |
tracing |
否 |
表19 object |
Tracing配置,用于上报ASM网格内的调用链数据。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
logGroupID |
否 |
String |
AccessLog日志组ID |
logStreamID |
否 |
String |
AccessLog输出日志流ID |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
randomSamplingPercentage |
否 |
Float |
tracing采样率 |
defaultProviders |
否 |
Array of strings |
tracing默认上报的provider名称,必须与extensionProviders中的name字段匹配,或使用ASM预设的provider "apm-otel"。 如果使用"apm-otel",需确认当前region已支持APM2.0且网格版本大于1.18。 |
extensionProviders |
否 |
Array of 表20 objects |
用户自配置provider,目前支持zipkin协议。 如果用户配置zipkin协议的provider,请保证网格版本大于等于1.15。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
否 |
String |
provider实例name |
zipkin |
否 |
表21 object |
zipkin协议provider自有配置 |
响应参数
状态码: 201
参数 |
参数类型 |
描述 |
---|---|---|
apiVersion |
String |
API版本,固定值“v1”,该值不可修改 |
kind |
String |
API类型,固定值“Mesh”或“mesh”,该值不可修改 |
metadata |
表23 object |
网格的基本信息,为集合类的元素类型,包含一组由不同名称定义的属性 |
spec |
表24 object |
集合类的元素类型,您对需要管理的网格进行详细描述的主体部分都在spec中给出。ASM通过spec的描述来创建或更新网格对象 |
status |
表37 object |
集合类的元素类型,用于记录网格在系统中的当前状态信息。 该参数为系统自动生成,不需要用户填写 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
网格名称。 命名规则:以小写字母开头,由小写字母、数字、中划线(-)组成,长度范围4-64位,且不能以中划线(-)结尾 |
uid |
String |
网格ID,资源唯一标识,创建成功后自动生成,填写无效 |
creationTimestamp |
String |
网格创建时间 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
网格类型: InCluster: 集群内控制平面形态,基础版网格取值为InCluster |
version |
String |
网格版本 |
extendParams |
表25 object |
服务网格扩展信息 |
ipv6Enable |
Boolean |
网格是否支持IPV6 |
config |
表27 object |
网格配置。 |
参数 |
参数类型 |
描述 |
---|---|---|
includeIPRanges |
String |
拦截对外访问的地址范围,以半角英文逗号(,)分隔的IP网段 |
excludeIPRanges |
String |
排除拦截对外访问的地址范围,以半角英文逗号(,)分隔的IP网段 |
excludeOutboundPorts |
String |
排除拦截对外访问端口,以半角英文逗号(,)分隔的出站端口列表 |
excludeInboundPorts |
String |
排除拦截访问服务的端口,以半角英文逗号(,)分隔的入站端口列表 |
includeOutboundPorts |
String |
拦截对外访问端口,以半角英文逗号(,)分隔的出站端口列表 |
includeInboundPorts |
String |
拦截访问服务的端口,以半角英文逗号(,)分隔的入站端口列表 |
参数 |
参数类型 |
描述 |
---|---|---|
metrics |
表30 object |
应用指标配置,用于上报ASM网格指标数据。如果要启用该配置,集群需安装云原生监控插件。 |
accessLogging |
表32 object |
AccessLog配置,用于上报ASM网格内Istio代理的访问日志。如果要启用该配置,集群需安装云原生日志采集插件。 |
tracing |
表34 object |
Tracing配置,用于上报ASM网格内的调用链数据。 |
参数 |
参数类型 |
描述 |
---|---|---|
randomSamplingPercentage |
Float |
tracing采样率 |
defaultProviders |
Array of strings |
tracing默认上报的provider名称,必须与extensionProviders中的name字段匹配,或使用ASM预设的provider "apm-otel"。 如果使用"apm-otel",需确认当前region已支持APM2.0且网格版本大于1.18。 |
extensionProviders |
Array of 表35 objects |
用户自配置provider,目前支持zipkin协议。 如果用户配置zipkin协议的provider,请保证网格版本大于等于1.15。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
provider实例name |
zipkin |
表36 object |
zipkin协议provider自有配置 |
参数 |
参数类型 |
描述 |
---|---|---|
phase |
String |
网格状态,取值如下
|
updateTimestamp |
String |
网格更新时间 |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
errorCode |
String |
错误码 最小长度:8 最大长度:36 |
errorMsg |
String |
错误描述 最小长度:2 最大长度:512 |
状态码: 409
参数 |
参数类型 |
描述 |
---|---|---|
errorCode |
String |
错误码 最小长度:8 最大长度:36 |
errorMsg |
String |
错误描述 最小长度:2 最大长度:512 |
状态码: 500
参数 |
参数类型 |
描述 |
---|---|---|
errorCode |
String |
错误码 最小长度:8 最大长度:36 |
errorMsg |
String |
错误描述 最小长度:2 最大长度:512 |
请求示例
创建网格
POST /v1/719217bc273743xxxxxxxxae8bc34480/meshes { "apiVersion" : "v1", "kind" : "Mesh", "metadata" : { "name" : "mesh-test-api" }, "spec" : { "type" : "InCluster", "version" : "1.18.7-r5", "extendParams" : { "clusters" : [ { "clusterID" : "cb0ef541-xxxx-xxxx-xxxx-0255ac1001b7", "installation" : { "nodes" : { "fieldSelector" : { "key" : "UID", "operator" : "In", "values" : [ "1c531b0c-xxxx-xxxx-xxxx-0255ac100b08" ] } } }, "injection" : { "namespaces" : { "fieldSelector" : { "key" : "Name", "operator" : "In", "values" : [ "default" ] } } } } ] }, "config" : { "proxyConfig" : { "includeIPRanges" : "10.247.0.0/16" }, "telemetryConfig" : { "metrics" : { "aom" : [ { "instanceID" : "602a5b7e-xxxx-xxxx-xxxx-4268c35b0424" } ] }, "accessLogging" : { "lts" : [ { "logGroupID" : "b884eaeb-xxxx-xxxx-xxxx-f442de73c392", "logStreamID" : "362e11e8-xxxx-xxxx-xxxx-0afdc68da7d2" } ] }, "tracing" : { "randomSamplingPercentage" : 1, "defaultProviders" : [ "zipkin" ], "extensionProviders" : [ { "name" : "zipkin", "zipkin" : { "service" : "zipkin.monitoring.svc.cluster.local", "port" : 9411 } } ] } } } } }
响应示例
状态码: 201
表示创建网格任务下发成功,开始创建网格
{ "kind" : "Mesh", "apiVersion" : "v1", "metadata" : { "name" : "mesh-test-api", "uid" : "a1efdc3e-xxxx-xxxx-xxxx-94bef433347e", "creationTimestamp" : "2025-04-10T07:48:37Z" }, "spec" : { "type" : "InCluster", "version" : "1.18.7-r5", "config" : { "telemetryConfig" : { "metrics" : { "aom" : [ { "instanceID" : "602a5b7e-xxxx-xxxx-xxxx-4268c35b0424" } ] }, "accessLogging" : { "lts" : [ { "logGroupID" : "b884eaeb-xxxx-xxxx-xxxx-f442de73c392", "logStreamID" : "362e11e8-xxxx-xxxx-xxxx-0afdc68da7d2" } ] }, "tracing" : { "randomSamplingPercentage" : 1, "defaultProviders" : [ "zipkin" ], "extensionProviders" : [ { "name" : "zipkin", "zipkin" : { "service" : "zipkin.monitoring.svc.cluster.local", "port" : 9411 } } ] } }, "proxyConfig" : { "includeIPRanges" : "10.247.0.0/16" } }, "extendParams" : { "clusters" : [ { "clusterID" : "cb0ef541-xxxx-xxxx-xxxx-0255ac1001b7" } ] } }, "status" : { "phase" : "Creating" } }
状态码
状态码 |
描述 |
---|---|
201 |
表示创建网格任务下发成功,开始创建网格 |
400 |
用户提供的网格创建参数有问题,未通过校验 |
409 |
需要创建的网格与现有网格冲突 |
500 |
创建过程中出现问题 |
错误码
请参见错误码。