调用CreateServiceMesh接口创建一个服务网格实例。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String CreateServiceMesh

系统规定参数。取值:CreateServiceMesh。

RegionId String cn-hangzhou

服务网格所在地域ID。

IstioVersion String v1.5.4.1-g5960ec40-aliyun

Istio版本号。

VpcId String vpc-xzelac2tw4ic7wz31****

专有网络ID。

ApiServerPublicEip Boolean false

是否使用公网地址暴露API Server。取值:

  • true:使用公网地址暴露API Server。
  • false:不使用公网地址暴露API Server。

默认值:false

说明 若配置为false则无法通过外网访问集群API Server。
Tracing Boolean false

是否启用链路追踪。取值:

  • true:启用链路追踪。
  • false:不启用链路追踪。

默认值:false

Name String mesh1

服务网格名称。

VSwitches String ["vsw-xzegf5dndkbf4m6eg****"]

虚拟交换机ID。

TraceSampling Float 100

链路追踪采样百分比。

CustomizedZipkin Boolean false

是否使用自建Zipkin。取值:

  • true:使用自建Zipkin。
  • false:使用阿里云链路追踪。

默认值:false

LocalityLoadBalancing Boolean false

是否启用服务就近访问。取值:

  • true:启用服务就近访问。
  • false:不启用服务就近访问。

默认值:false

LocalityLBConf String {"failover":[{"from":"cn-hangzhou","to":"cn-shanghai"}]}

服务就近访问配置。

Telemetry Boolean false

是否开启采集Prometheus监控指标(建议使用阿里云Prometheus监控)。取值:

  • true:开启采集Prometheus监控指标。
  • false:不开启采集Prometheus监控指标。

默认值:false

OpenAgentPolicy Boolean false

是否集成开放策略代理(OPA)插件。取值:

  • true:集成开放策略代理(OPA)插件。
  • false:不集成开放策略代理(OPA)插件。

默认值:false

OPALogLevel String info

OPA代理容器日志级别。

OPARequestCPU String 1

OPA代理容器的CPU资源请求,可以使用Kubernetes标准CPU表示形式。例如1为1核CPU。

OPARequestMemory String 512Mi

OPA代理容器的内存资源请求,可以使用Kubernetes标准内存表示形式。例如1 Mi为1024 KB。

OPALimitCPU String 2

OPA代理容器的CPU资源限制。

OPALimitMemory String 1024Mi

OPA代理容器的内存资源限制,可以使用Kubernetes标准内存表示形式。例如1 Mi为1024 KB。

EnableAudit Boolean false

是否启用网格审计(需要开通阿里云日志服务)。取值:

  • true:启用网格审计。
  • false:不启用网格审计。

默认值:false

AuditProject String mesh-log-xxxx

网格审计对应的日志项目名称。

默认值:mesh-log-{meshId}。

ProxyRequestCPU String 100m

代理容器的CPU请求资源。

ProxyRequestMemory String 128Mi

代理容器的内存请求资源。

ProxyLimitCPU String 2000m

代理容器的CPU限制资源。

ProxyLimitMemory String 1024Mi

代理容器的内存限制资源。

IncludeIPRanges String *

拦截对外访问的地址范围。

ExcludeIPRanges String 100.100.10*.***

排除拦截对外访问的地址范围。

ExcludeOutboundPorts String 80,81

以半角英文逗号(,)分隔的出站端口列表。

ExcludeInboundPorts String 80,81

以半角英文逗号(,)分隔的入站端口列表。

OpaEnabled Boolean false

是否启用OPA。取值:

  • true:启用OPA。
  • false:不启用OPA。

默认值:false

KialiEnabled Boolean false

是否启用网格拓扑(需先开启采集Prometheus监控指标,当该项更新为false时,本项强制为false)。取值:

  • true:启用网格拓扑。
  • false:不启用网格拓扑。

默认值:false

AccessLogEnabled Boolean false

是否启用访问日志。取值:

  • true:启用访问日志。
  • false:不启用访问日志。

默认值:false

CustomizedPrometheus Boolean false

是否自定义Prometheus。取值:

  • true:自定义Prometheus。
  • false:不自定义Prometheus。

默认值:false

PrometheusUrl String http://prometheus:9090

自定义Prometheus服务地址。

RedisFilterEnabled Boolean true

是否启用Redis Filter能力,取值:

  • true:启用Redis Filter能力。
  • false:不启用Redis Filter能力。

默认值:false

MysqlFilterEnabled Boolean false

是否启用MysqlFilter,取值:

  • true:启用MysqlFilter。
  • false:不启用MysqlFilter。

默认值:false

ThriftFilterEnabled Boolean false

是否启用ThriftFilter。取值:

  • true:启用ThriftFilter。
  • false:不启用ThriftFilter。

默认值:false

WebAssemblyFilterEnabled Boolean false

是否启用WebAssemblyFilter。取值:

  • true:启用WebAssemblyFilter。
  • false:不启用WebAssemblyFilter。

默认值:false

MSEEnabled Boolean false

是否启用MSE微服务引擎。取值:

  • true:启用MSE微服务引擎。
  • false:不启用MSE微服务引擎。

默认值:false

DNSProxyingEnabled Boolean false

是否启用DNS代理能力。取值:

  • true:启用DNS代理能力。
  • false:不启用DNS代理能力。

默认值:false

Edition String Pro

ASM实例版本。

ConfigSourceEnabled Boolean false

是否启用外部服务注册中心。取值:

  • true:启用外部服务注册中心。
  • false:不启用外部服务注册中心。

默认值:false

ConfigSourceNacosID String mse-cn-tl326******

Nacos注册中心实例ID。

DubboFilterEnabled Boolean false

是否启用DubboFilter。取值:

  • true:启用DubboFilter。
  • false:不启用DubboFilter。

默认值:false

FilterGatewayClusterConfig Boolean false

是否启用Gateway配置过滤。取值:

  • true:启用Gateway配置过滤。
  • false:不启用Gateway配置过滤。

默认值:false

EnableSDSServer Boolean false

是否启用SDS服务。取值:

  • true:启用SDS服务。
  • false:不启用SDS服务。

默认值:false

AccessLogServiceEnabled Boolean false

是否启用Envoy的gRPC日志服务(ALS)。取值:

  • true:启用Envoy的gRPC日志服务。
  • false:不启用Envoy的gRPC日志服务。

默认值:false

AccessLogServiceHost String 0.0.0.0

启用Envoy的gRPC日志服务(ALS)的地址。

AccessLogServicePort Integer 9999

启用Envoy的gRPC日志服务(ALS)的端口。

GatewayAPIEnabled Boolean false

是否启用Gateway API。取值:

  • true:启用Gateway API。
  • false:不启用Gateway API。

默认值:false

ControlPlaneLogEnabled Boolean false

是否启用控制面日志采集。取值:

  • true:启用控制面日志采集。
  • false:不启用控制面日志采集。

默认值:false

ControlPlaneLogProject String mesh-log-cf245a429b6ff4b6e97f20797758*****

控制面日志采集的SLS Project。

AccessLogFormat String {"authority_for":"%REQ(:AUTHORITY)%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","downstream_local_address":"%DOWNSTREAM_LOCAL_ADDRESS%","downstream_remote_address":"%DOWNSTREAM_REMOTE_ADDRESS%","duration":"%DURATION%","istio_policy_status":"%DYNAMIC_METADATA(istio.mixer:status)%","method":"%REQ(:METHOD)%","path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","protocol":"%PROTOCOL%","request_id":"%REQ(X-REQUEST-ID)%","requested_server_name":"%REQUESTED_SERVER_NAME%","response_code":"%RESPONSE_CODE%","response_flags":"%RESPONSE_FLAGS%","route_name":"%ROUTE_NAME%","start_time":"%START_TIME%","trace_id":"%REQ(X-B3-TRACEID)%","upstream_cluster":"%UPSTREAM_CLUSTER%","upstream_host":"%UPSTREAM_HOST%","upstream_local_address":"%UPSTREAM_LOCAL_ADDRESS%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_transport_failure_reason":"%UPSTREAM_TRANSPORT_FAILURE_REASON%","user_agent":"%REQ(USER-AGENT)%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%"}

自定义访问日志的格式(需选择启用访问日志,否则自动忽略本项)。本项字符串为JSON格式,且JSON字符串中必须至少包含下述的键值:authority_for、bytes_received、bytes_sent、downstream_local_address、downstream_remote_address、duration、istio_policy_status、method、path、protocol、requested_server_name、response_code、response_flags、route_name、start_time、trace_id、upstream_cluster、upstream_host、upstream_local_address、upstream_service_time、upstream_transport_failure_reason、user_agent、x_forwarded_for。

AccessLogFile String /dev/stdout

开启和关闭访问日志。取值:

  • “”:关闭访问日志。
  • /dev/stdout:开启访问日志。
AccessLogProject String mesh-log-cf245a429b6ff4b6e97f20797758*****

访问日志采集的SLS Project。

EnableCRHistory Boolean false

是否启用ASM的Istio资源历史版本管理功能。取值:

  • true:启用ASM的Istio资源历史版本管理功能。
  • false:不启用ASM的Istio资源历史版本管理功能。

默认值:false

CRAggregationEnabled Boolean false

是否启用数据面集群Kubernetes API访问Istio资源(需ASM实例v1.9.7.93版本以上)。取值:

  • true:启用数据面集群Kubernetes API访问Istio资源。
  • false:不启用数据面集群Kubernetes API访问Istio资源。

默认值:false

GlobalRateLimitEnabled Boolean false

是否开启AHAS流控。取值:

  • true:开启AHAS流控。
  • false:不开启AHAS流控。

默认值:false

ApiServerLoadBalancerSpec String slb.s1.small

APIServer 绑定的SLB规格。取值:简约型I(slb.s1.small)、标准型I(slb.s2.small)、标准型II(slb.s2.medium)、高阶型I(slb.s3.small)、高阶型II(slb.s3.medium)、超强型I(slb.s3.large)。

PilotLoadBalancerSpec String slb.s1.small

APIServer绑定的SLB规格。取值:简约型I(slb.s1.small)、标准型I(slb.s2.small)、标准型II(slb.s2.medium)、高阶型I(slb.s3.small) 、高阶型II(slb.s3.medium)、超强型I(slb.s3.large)。

ChargeType String PostPaid

SLB付费类型。取值:

  • PayOnDemand:按量付费类型。
  • PrePaid:包年包月类型。
Period Integer 3

ChargeType为PrePay时生效。表示购买包年包月类型的SLB时,购买的月份。如果为1年,则输入12。

AutoRenew Boolean true

SLB为包年包月类型时,是否自动续费。取值:

  • true:自动续费。
  • false:不自动续费。
AutoRenewPeriod Integer 3

ChargeTypePrePay时生效。表示购买包年包月类型的SLB时,自动续费的时间。如果为购买时间小于1年,此参数表示自动续费多少个月;如果购买时长超过1年,此参数表示自动续费多少年。

ClusterSpec String standard

服务网格实例规格,取值:

  • standard:标准版。
  • enterprise:企业版。
  • ultimate:旗舰版。
MultiBufferEnabled Boolean true

是否启用基于MultiBuffer的TLS性能优化。取值:

  • true:开启。
  • false:不开启。

默认值:true

MultiBufferPollDelay String 30s

MultiBuffer开启状态同步时间。默认30s

UseExistingCA Boolean false

使用已有的CA证书和私钥。

ExistingCaCert String ca cert内容,base64编码格式

CA证书(Base64 Encode格式),该参数一般用于自建Istio迁移ASM的场景下,对应自建Istio集群的istio-system命名空间下名称为istio-ca-secret的secret的ca-cert.pem文件内容。

ExistingCaKey String ca key内容,base64编码格式

CA Key(Base64 Encode格式)。该参数一般用于自建Istio迁移ASM的场景下,对应自建Istio集群的istio-system命名空间下名称为istio-ca-secret的secret的ca-key.pem文件内容。

ExistingCaType String 1

已有的证书类型:

  • 1:Istiod自签证书。对应istio-system命名空间下名称为istio-ca-secret的secret。若使用该类型,还需要提供ExistingCaCertExsitingCaKey两个参数。
  • 2:Istiod外部证书。详情请参见plugin ca cert。一般对应为istio-system命名空间下名称为cacerts的secret。 若使用该类型,还需要提供ExisingRootCaCertExisingRootCaKey两个参数。
ExistingRootCaCert String 根证书内容,base64 编码格式

已有的根证书。

ExistingRootCaKey String root key的内容,base64编码格式

已有的根证书对应的私钥。

返回数据

名称 类型 示例值 描述
RequestId String BD65C0AD-D3C6-48D3-8D93-38D2015C****

请求ID。

ServiceMeshId String c08ba3fd1e6484b0f8cc1ad8fe10d****

服务网格ID。

示例

请求示例

http(s)://[Endpoint]/?Action=CreateServiceMesh
&RegionId=cn-hangzhou
&IstioVersion=v1.5.4.1-g5960ec40-aliyun
&VpcId=vpc-xzelac2tw4ic7wz31****
&ApiServerPublicEip=false
&Tracing=false
&Name=mesh1
&VSwitches=["vsw-xzegf5dndkbf4m6eg****"]
&TraceSampling=100.0
&CustomizedZipkin=false
&LocalityLoadBalancing=false
&LocalityLBConf={"failover":[{"from":"cn-hangzhou","to":"cn-shanghai"}]}
&Telemetry=false
&OpenAgentPolicy=false
&OPALogLevel=info
&OPARequestCPU=1
&OPARequestMemory=512Mi
&OPALimitCPU=2
&OPALimitMemory=1024Mi
&EnableAudit=false
&AuditProject=mesh-log-xxxx
&ProxyRequestCPU=100m
&ProxyRequestMemory=128Mi
&ProxyLimitCPU=2000m
&ProxyLimitMemory=1024Mi
&IncludeIPRanges=*
&ExcludeIPRanges=100.100.10*.***
&ExcludeOutboundPorts=80,81
&ExcludeInboundPorts=80,81
&OpaEnabled=false
&KialiEnabled=false
&AccessLogEnabled=false
&CustomizedPrometheus=false
&PrometheusUrl=http://prometheus:9090
&RedisFilterEnabled=true
&MysqlFilterEnabled=false
&ThriftFilterEnabled=false
&WebAssemblyFilterEnabled=false
&MSEEnabled=false
&DNSProxyingEnabled=false
&Edition=Pro
&ConfigSourceEnabled=false
&ConfigSourceNacosID=mse-cn-tl326******
&DubboFilterEnabled=false
&FilterGatewayClusterConfig=false
&EnableSDSServer=false
&AccessLogServiceEnabled=false
&AccessLogServiceHost=0.0.0.0
&AccessLogServicePort=9999
&GatewayAPIEnabled=false
&ControlPlaneLogEnabled=false
&ControlPlaneLogProject=mesh-log-cf245a429b6ff4b6e97f20797758*****
&AccessLogFormat={"authority_for":"%REQ(:AUTHORITY)%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","downstream_local_address":"%DOWNSTREAM_LOCAL_ADDRESS%","downstream_remote_address":"%DOWNSTREAM_REMOTE_ADDRESS%","duration":"%DURATION%","istio_policy_status":"%DYNAMIC_METADATA(istio.mixer:status)%","method":"%REQ(:METHOD)%","path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","protocol":"%PROTOCOL%","request_id":"%REQ(X-REQUEST-ID)%","requested_server_name":"%REQUESTED_SERVER_NAME%","response_code":"%RESPONSE_CODE%","response_flags":"%RESPONSE_FLAGS%","route_name":"%ROUTE_NAME%","start_time":"%START_TIME%","trace_id":"%REQ(X-B3-TRACEID)%","upstream_cluster":"%UPSTREAM_CLUSTER%","upstream_host":"%UPSTREAM_HOST%","upstream_local_address":"%UPSTREAM_LOCAL_ADDRESS%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_transport_failure_reason":"%UPSTREAM_TRANSPORT_FAILURE_REASON%","user_agent":"%REQ(USER-AGENT)%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%"}
&AccessLogFile=/dev/stdout
&AccessLogProject=mesh-log-cf245a429b6ff4b6e97f20797758*****
&EnableCRHistory=false
&CRAggregationEnabled=false
&GlobalRateLimitEnabled=false
&ApiServerLoadBalancerSpec=slb.s1.small
&PilotLoadBalancerSpec=slb.s1.small
&ChargeType=PostPaid
&Period=3
&AutoRenew=true
&AutoRenewPeriod=3
&ClusterSpec=standard
&MultiBufferEnabled=true
&MultiBufferPollDelay=30s
&UseExistingCA=false
&ExistingCaCert=ca cert内容,base64编码格式
&ExistingCaKey=ca key内容,base64编码格式
&ExistingCaType=1
&ExistingRootCaCert=根证书内容,base64 编码格式
&ExistingRootCaKey=root key的内容,base64编码格式
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<CreateServiceMeshResponse>
    <RequestId>BD65C0AD-D3C6-48D3-8D93-38D2015C****</RequestId>
    <ServiceMeshId>c08ba3fd1e6484b0f8cc1ad8fe10d****</ServiceMeshId>
</CreateServiceMeshResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "BD65C0AD-D3C6-48D3-8D93-38D2015C****",
  "ServiceMeshId" : "c08ba3fd1e6484b0f8cc1ad8fe10d****"
}

错误码

HttpCode 错误码 错误信息 描述
404 ERR404 Not found 不存在

访问错误中心查看更多错误码。