ServiceMeshProps
Properties for defining a ServiceMesh.
See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-asm-servicemesh
Initializer
using AlibabaCloud.SDK.ROS.CDK.Asm;
new ServiceMeshProps {
object VpcId,
object VSwitches,
object AccessLogEnabled = null,
object AccessLogFile = null,
object AccessLogFormat = null,
object AccessLogProject = null,
object AccessLogServiceEnabled = null,
object AccessLogServiceHost = null,
object AccessLogServicePort = null,
object ApiServerLoadBalancerSpec = null,
object ApiServerPublicEip = null,
object AuditProject = null,
object AutoRenew = null,
object AutoRenewPeriod = null,
object CertChain = null,
object ChargeType = null,
object ClusterSpec = null,
object ConfigSourceEnabled = null,
object ConfigSourceNacosId = null,
object ControlPlaneLogEnabled = null,
object ControlPlaneLogProject = null,
object CrAggregationEnabled = null,
object CustomizedPrometheus = null,
object CustomizedZipkin = null,
object DnsProxyingEnabled = null,
object DubboFilterEnabled = null,
object Edition = null,
object EnableAcmg = null,
object EnableAmbient = null,
object EnableAudit = null,
object EnableCrHistory = null,
object EnableSdsServer = null,
object ExcludeInboundPorts = null,
object ExcludeIpRanges = null,
object ExcludeOutboundPorts = null,
object ExistingCaCert = null,
object ExistingCaKey = null,
object ExistingCaType = null,
object ExistingRootCaCert = null,
object ExistingRootCaKey = null,
object FilterGatewayClusterConfig = null,
object GatewayApiEnabled = null,
object GuestCluster = null,
object IncludeIpRanges = null,
object IstioVersion = null,
object KialiEnabled = null,
object LocalityLbConf = null,
object LocalityLoadBalancing = null,
object MseEnabled = null,
object MultiBufferEnabled = null,
object MultiBufferPollDelay = null,
object MysqlFilterEnabled = null,
object Name = null,
object Opa = null,
object OpaEnabled = null,
object OutboundTrafficPolicy = null,
object Period = null,
object PilotLoadBalancerSpec = null,
object PilotPublicEip = null,
object PlaygroundScene = null,
object PrometheusUrl = null,
object Proxy = null,
object Telemetry = null,
object TraceSampling = null,
object Tracing = null,
object UseExistingCa = null,
object WebAssemblyFilterEnabled = null
};
Properties
| Name | Type | Description |
|---|---|---|
VpcId | object | Property vpcId: The ID of the virtual private cloud (VPC). |
VSwitches | object | Property vSwitches: The ID of the vSwitch, eg: ["vsw-xzegf5dndkbf4m6eg****"]. |
AccessLogEnabled | object | Property accessLogEnabled: Specifies whether to enable access log. |
AccessLogFile | object | Property accessLogFile: Enable and disable access logs. |
AccessLogFormat | object | Property accessLogFormat: The custom format of access logs. |
AccessLogProject | object | Property accessLogProject: The Log Service project for access logs. |
AccessLogServiceEnabled | object | Property accessLogServiceEnabled: Whether Envoy's gRPC logging service (ALS) is enabled. |
AccessLogServiceHost | object | Property accessLogServiceHost: Address where Envoy's gRPC logging service (ALS) is enabled. |
AccessLogServicePort | object | Property accessLogServicePort: Port on which Envoy's gRPC logging service (ALS) is enabled. |
ApiServerLoadBalancerSpec | object | Property apiServerLoadBalancerSpec: CLB specification for the APIServer binding. |
ApiServerPublicEip | object | Property apiServerPublicEip: Specifies whether to expose the API server to the Internet. |
AuditProject | object | Property auditProject: The name of the Log Service project that is used for mesh audit. |
AutoRenew | object | Property autoRenew: If CLB is annual and monthly, whether it will be automatically renewed. |
AutoRenewPeriod | object | Property autoRenewPeriod: This parameter is valid only if you set ChargeType to PrePay. |
CertChain | object | Property certChain: The certificate chain from CaCert to RootCert contains at least two certificates. |
ChargeType | object | Property chargeType: CLB payment type. |
ClusterSpec | object | Property clusterSpec: Service grid instance specification, value: - standard: The standard version. |
ConfigSourceEnabled | object | Property configSourceEnabled: Whether to enable an external service registry. |
ConfigSourceNacosId | object | Property configSourceNacosId: The Nacos ID for config source. |
ControlPlaneLogEnabled | object | Property controlPlaneLogEnabled: Specifies whether to enable control plane log collection. |
ControlPlaneLogProject | object | Property controlPlaneLogProject: The Log Service project for control plane logs. |
CrAggregationEnabled | object | Property crAggregationEnabled: Whether to enable Kubernetes API for data plane cluster to access Istio resources (ASM instance v1.9.7.93 or later). Value: - true: Enable data plane cluster Kubernetes API to access Istio resources. - false: Data plane cluster Kubernetes API is not enabled to access Istio resources. Default value: false. |
CustomizedPrometheus | object | Property customizedPrometheus: Specifies whether to use a self-managed Prometheus system. |
CustomizedZipkin | object | Property customizedZipkin: Specifies whether to use a self-managed Zipkin system. |
DnsProxyingEnabled | object | Property dnsProxyingEnabled: Specifies whether to enable DNS proxy. |
DubboFilterEnabled | object | Property dubboFilterEnabled: Specifies whether to enable the Dubbo filter. |
Edition | object | Property edition: The edition of the ASM instance. |
EnableAcmg | object | Property enableAcmg: Specifies whether to enable ACMG. |
EnableAmbient | object | Property enableAmbient: Specifies whether to enable ambient mode. |
EnableAudit | object | Property enableAudit: Specifies whether to enable the mesh audit feature. |
EnableCrHistory | object | Property enableCrHistory: Specifies whether to enable the history version management feature for Istio resources in ASM. |
EnableSdsServer | object | Property enableSdsServer: Specifies whether to enable the Secret Discovery Service (SDS). |
ExcludeInboundPorts | object | Property excludeInboundPorts: The inbound ports to exclude from traffic management. |
ExcludeIpRanges | object | Property excludeIpRanges: The IP ranges to exclude from traffic management. |
ExcludeOutboundPorts | object | Property excludeOutboundPorts: The outbound ports to exclude from traffic management. |
ExistingCaCert | object | Property existingCaCert: The existing CA certificate. |
ExistingCaKey | object | Property existingCaKey: The existing CA key. |
ExistingCaType | object | Property existingCaType: The type of the existing certificate: - 1: A self-signed certificate of Istiod. |
ExistingRootCaCert | object | Property existingRootCaCert: The existing root CA certificate. |
ExistingRootCaKey | object | Property existingRootCaKey: The existing root CA key. |
FilterGatewayClusterConfig | object | Property filterGatewayClusterConfig: Specifies whether to enable gateway configuration filtering. |
GatewayApiEnabled | object | Property gatewayApiEnabled: Specifies whether to enable the Gateway API. |
GuestCluster | object | Property guestCluster: When you create a Service Mesh instance, you can add a cluster to the instance. |
IncludeIpRanges | object | Property includeIpRanges: The IP address ranges that are allowed to access the proxy. |
IstioVersion | object | Property istioVersion: The Istio version of the ASM instance. |
KialiEnabled | object | Property kialiEnabled: Specifies whether to enable the mesh topology feature. |
LocalityLbConf | object | Property localityLbConf: The locality load balancing configuration. |
LocalityLoadBalancing | object | Property localityLoadBalancing: Specifies whether to route traffic to the nearest instance. |
MseEnabled | object | Property mseEnabled: Specifies whether to enable Microservices Engine (MSE). |
MultiBufferEnabled | object | Property multiBufferEnabled: Specifies whether to enable TLS performance optimization that is based on MultiBuffer. |
MultiBufferPollDelay | object | Property multiBufferPollDelay: The synchronization period of the MultiBuffer enabling status. |
MysqlFilterEnabled | object | Property mysqlFilterEnabled: Specifies whether to enable the MySQL filter. |
Name | object | Property name: The name of the ASM instance. |
Opa | object | Property opa: OPA settings. |
OpaEnabled | object | Property opaEnabled: Specifies whether to enable OPA. |
OutboundTrafficPolicy | object | Property outboundTrafficPolicy: The outbound traffic policy of the ASM instance. |
Period | object | Property period: This parameter is valid only if you set ChargeType to PrePay. |
PilotLoadBalancerSpec | object | Property pilotLoadBalancerSpec: The specification of the SLB instance that is bound to Istio Pilot of the control plane. |
PilotPublicEip | object | Property pilotPublicEip: Specifies whether to expose Istio Pilot to the Internet. |
PlaygroundScene | object | Property playgroundScene: The playground scenario. |
PrometheusUrl | object | Property prometheusUrl: The URL for Prometheus. |
Proxy | object | Property proxy: Proxy settings. |
Telemetry | object | Property telemetry: Specifies whether to enable Prometheus monitoring. |
TraceSampling | object | Property traceSampling: The sampling percentage of tracing. |
Tracing | object | Property tracing: Specifies whether to enable the tracing feature. |
UseExistingCa | object | Property useExistingCa: Specifies whether to use an existing CA. |
WebAssemblyFilterEnabled | object | Property webAssemblyFilterEnabled: Specifies whether to enable the WebAssembly filter. |
VpcIdRequired
public object VpcId { get; set; }
- Type: object
Property vpcId: The ID of the virtual private cloud (VPC).
VSwitchesRequired
public object VSwitches { get; set; }
- Type: object
Property vSwitches: The ID of the vSwitch, eg: ["vsw-xzegf5dndkbf4m6eg****"].
AccessLogEnabledOptional
public object AccessLogEnabled { get; set; }
- Type: object
Property accessLogEnabled: Specifies whether to enable access log.
Valid values:
true: Enables access log.false: Disables access log. Default value:false.
AccessLogFileOptional
public object AccessLogFile { get; set; }
- Type: object
Property accessLogFile: Enable and disable access logs.
Value:
- "" : Turn off access logs.
- /dev/stdout: Enables access logging
AccessLogFormatOptional
public object AccessLogFormat { get; set; }
- Type: object
Property accessLogFormat: The custom format of access logs.
This parameter is available only if you enable access log. The value must be a JSON string that contains the following keys: 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, and x_forwarded_for.
AccessLogProjectOptional
public object AccessLogProject { get; set; }
- Type: object
Property accessLogProject: The Log Service project for access logs.
AccessLogServiceEnabledOptional
public object AccessLogServiceEnabled { get; set; }
- Type: object
Property accessLogServiceEnabled: Whether Envoy's gRPC logging service (ALS) is enabled.
Value:
- true: Enables Envoy's gRPC logging service.
- false: Envoy's gRPC logging service is not enabled. Default value: false
AccessLogServiceHostOptional
public object AccessLogServiceHost { get; set; }
- Type: object
Property accessLogServiceHost: Address where Envoy's gRPC logging service (ALS) is enabled.
AccessLogServicePortOptional
public object AccessLogServicePort { get; set; }
- Type: object
Property accessLogServicePort: Port on which Envoy's gRPC logging service (ALS) is enabled.
ApiServerLoadBalancerSpecOptional
public object ApiServerLoadBalancerSpec { get; set; }
- Type: object
Property apiServerLoadBalancerSpec: CLB specification for the APIServer binding.
Value: Compact type I (slb.s1.small), Standard type I (slb.s2.small), Standard Type II (slb.s2.medium), high-order type I (slb.s3.small), high-order type II (slb.s3.medium), Super type I (slb.s3.large).
ApiServerPublicEipOptional
public object ApiServerPublicEip { get; set; }
- Type: object
Property apiServerPublicEip: Specifies whether to expose the API server to the Internet.
Valid values: true and false. Default value: false. If you do not set this parameter, the API server of clusters added to the ASM instance cannot be accessed from the Internet.
AuditProjectOptional
public object AuditProject { get; set; }
- Type: object
Property auditProject: The name of the Log Service project that is used for mesh audit.
Default value: mesh-log-{meshId}.
AutoRenewOptional
public object AutoRenew { get; set; }
- Type: object
Property autoRenew: If CLB is annual and monthly, whether it will be automatically renewed.
Value:
- true: Automatic renewal.
- false: No automatic renewal.
AutoRenewPeriodOptional
public object AutoRenewPeriod { get; set; }
- Type: object
Property autoRenewPeriod: This parameter is valid only if you set ChargeType to PrePay.
The auto-renewal period. If the subscription duration is less than one year, the value of this parameter indicates the number of months for which you want to renew the instance. If the subscription duration is more than one year, the value of this parameter indicates the number of years for which you want to renew the instance.
CertChainOptional
public object CertChain { get; set; }
- Type: object
Property certChain: The certificate chain from CaCert to RootCert contains at least two certificates.
ChargeTypeOptional
public object ChargeType { get; set; }
- Type: object
Property chargeType: CLB payment type.
Value:
- PayOnDemand: pay-as-you-go type
- PrePay: Annual and monthly.
ClusterSpecOptional
public object ClusterSpec { get; set; }
- Type: object
Property clusterSpec: Service grid instance specification, value: - standard: The standard version.
- enterprise: Enterprise Edition
- ultimate: ultimate.
ConfigSourceEnabledOptional
public object ConfigSourceEnabled { get; set; }
- Type: object
Property configSourceEnabled: Whether to enable an external service registry.
Value:
- true: Enables the external service registry.
- false: The external service registry is not enabled. Default value: false
ConfigSourceNacosIdOptional
public object ConfigSourceNacosId { get; set; }
- Type: object
Property configSourceNacosId: The Nacos ID for config source.
ControlPlaneLogEnabledOptional
public object ControlPlaneLogEnabled { get; set; }
- Type: object
Property controlPlaneLogEnabled: Specifies whether to enable control plane log collection.
Valid values:
true: Enables control plane log collection.false: Disables control plane log collection. Default value:false.
ControlPlaneLogProjectOptional
public object ControlPlaneLogProject { get; set; }
- Type: object
Property controlPlaneLogProject: The Log Service project for control plane logs.
CrAggregationEnabledOptional
public object CrAggregationEnabled { get; set; }
- Type: object
Property crAggregationEnabled: Whether to enable Kubernetes API for data plane cluster to access Istio resources (ASM instance v1.9.7.93 or later). Value: - true: Enable data plane cluster Kubernetes API to access Istio resources. - false: Data plane cluster Kubernetes API is not enabled to access Istio resources. Default value: false.
CustomizedPrometheusOptional
public object CustomizedPrometheus { get; set; }
- Type: object
Property customizedPrometheus: Specifies whether to use a self-managed Prometheus system.
Valid values:
true: Uses a self-managed Prometheus system.false: Does not use a self-managed Prometheus system. Default value:false.
CustomizedZipkinOptional
public object CustomizedZipkin { get; set; }
- Type: object
Property customizedZipkin: Specifies whether to use a self-managed Zipkin system.
Valid values:
true: Uses a self-managed Zipkin system.false: Uses Tracing Analysis. Default value:false.
DnsProxyingEnabledOptional
public object DnsProxyingEnabled { get; set; }
- Type: object
Property dnsProxyingEnabled: Specifies whether to enable DNS proxy.
Valid values:
true: Enables DNS proxy.false: Disables DNS proxy. Default value:false.
DubboFilterEnabledOptional
public object DubboFilterEnabled { get; set; }
- Type: object
Property dubboFilterEnabled: Specifies whether to enable the Dubbo filter.
Valid values:
true: Enables the Dubbo filter.false: Disables the Dubbo filter. Default value:false.
EditionOptional
public object Edition { get; set; }
- Type: object
Property edition: The edition of the ASM instance.
EnableAcmgOptional
public object EnableAcmg { get; set; }
- Type: object
Property enableAcmg: Specifies whether to enable ACMG.
EnableAmbientOptional
public object EnableAmbient { get; set; }
- Type: object
Property enableAmbient: Specifies whether to enable ambient mode.
EnableAuditOptional
public object EnableAudit { get; set; }
- Type: object
Property enableAudit: Specifies whether to enable the mesh audit feature.
To enable this feature, make sure that you have activated Alibaba Cloud Log Service. Valid values: true and false. Default value: false.
EnableCrHistoryOptional
public object EnableCrHistory { get; set; }
- Type: object
Property enableCrHistory: Specifies whether to enable the history version management feature for Istio resources in ASM.
Valid values:
true: Enables the history version management feature.false: Disables the history version management feature. Default value:false.
EnableSdsServerOptional
public object EnableSdsServer { get; set; }
- Type: object
Property enableSdsServer: Specifies whether to enable the Secret Discovery Service (SDS).
Valid values:
true: Enables SDS.false: Disables SDS. Default value:false.
ExcludeInboundPortsOptional
public object ExcludeInboundPorts { get; set; }
- Type: object
Property excludeInboundPorts: The inbound ports to exclude from traffic management.
ExcludeIpRangesOptional
public object ExcludeIpRanges { get; set; }
- Type: object
Property excludeIpRanges: The IP ranges to exclude from traffic management.
ExcludeOutboundPortsOptional
public object ExcludeOutboundPorts { get; set; }
- Type: object
Property excludeOutboundPorts: The outbound ports to exclude from traffic management.
ExistingCaCertOptional
public object ExistingCaCert { get; set; }
- Type: object
Property existingCaCert: The existing CA certificate.
ExistingCaKeyOptional
public object ExistingCaKey { get; set; }
- Type: object
Property existingCaKey: The existing CA key.
ExistingCaTypeOptional
public object ExistingCaType { get; set; }
- Type: object
Property existingCaType: The type of the existing certificate: - 1: A self-signed certificate of Istiod.
This corresponds to the istio-ca-secret secret in the istio-system namespace. If you use this type, you must also provide the ExistingCaCert and ExsitingCaKey parameters.
- 2: An external certificate of Istiod. For more information, see plugin ca cert. This generally corresponds to the cacerts secret in the istio-system namespace. If you use this type, you must also provide the
ExisingRootCaCertandExisingRootCaKeyparameters.
ExistingRootCaCertOptional
public object ExistingRootCaCert { get; set; }
- Type: object
Property existingRootCaCert: The existing root CA certificate.
ExistingRootCaKeyOptional
public object ExistingRootCaKey { get; set; }
- Type: object
Property existingRootCaKey: The existing root CA key.
FilterGatewayClusterConfigOptional
public object FilterGatewayClusterConfig { get; set; }
- Type: object
Property filterGatewayClusterConfig: Specifies whether to enable gateway configuration filtering.
Valid values:
true: Enables gateway configuration filtering.false: Disables gateway configuration filtering. Default value:false.
GatewayApiEnabledOptional
public object GatewayApiEnabled { get; set; }
- Type: object
Property gatewayApiEnabled: Specifies whether to enable the Gateway API.
Valid values:
true: Enables the Gateway API.false: Disables the Gateway API. Default value:false.
GuestClusterOptional
public object GuestCluster { get; set; }
- Type: object
Property guestCluster: When you create a Service Mesh instance, you can add a cluster to the instance.
If you do not specify this parameter, no cluster is added. The cluster must be in the same VPC and vSwitch as the Service Mesh instance, and must have the same domain name.
IncludeIpRangesOptional
public object IncludeIpRanges { get; set; }
- Type: object
Property includeIpRanges: The IP address ranges that are allowed to access the proxy.
IstioVersionOptional
public object IstioVersion { get; set; }
- Type: object
Property istioVersion: The Istio version of the ASM instance.
KialiEnabledOptional
public object KialiEnabled { get; set; }
- Type: object
Property kialiEnabled: Specifies whether to enable the mesh topology feature.
To enable this feature, you must first enable Prometheus monitoring. If Prometheus monitoring is disabled, this feature is forcibly disabled. Valid values:
true: Enables the mesh topology feature.false: Disables the mesh topology feature. Default value:false.
LocalityLbConfOptional
public object LocalityLbConf { get; set; }
- Type: object
Property localityLbConf: The locality load balancing configuration.
LocalityLoadBalancingOptional
public object LocalityLoadBalancing { get; set; }
- Type: object
Property localityLoadBalancing: Specifies whether to route traffic to the nearest instance.
Valid values: true and false. Default value: false.
MseEnabledOptional
public object MseEnabled { get; set; }
- Type: object
Property mseEnabled: Specifies whether to enable Microservices Engine (MSE).
Valid values:
true: Enables MSE.false: Disables MSE. Default value:false.
MultiBufferEnabledOptional
public object MultiBufferEnabled { get; set; }
- Type: object
Property multiBufferEnabled: Specifies whether to enable TLS performance optimization that is based on MultiBuffer.
Valid values:
true: Enables the feature.false: Disables the feature. Default value:true.
MultiBufferPollDelayOptional
public object MultiBufferPollDelay { get; set; }
- Type: object
Property multiBufferPollDelay: The synchronization period of the MultiBuffer enabling status.
Default value: 30s.
MysqlFilterEnabledOptional
public object MysqlFilterEnabled { get; set; }
- Type: object
Property mysqlFilterEnabled: Specifies whether to enable the MySQL filter.
Valid values:
true: Enables the MySQL filter.false: Disables the MySQL filter. Default value:false.
NameOptional
public object Name { get; set; }
- Type: object
Property name: The name of the ASM instance.
OpaOptional
public object Opa { get; set; }
- Type: object
Property opa: OPA settings.
OpaEnabledOptional
public object OpaEnabled { get; set; }
- Type: object
Property opaEnabled: Specifies whether to enable OPA.
Valid values:
true: Enables OPA.false: Disables OPA. Default value:false.
OutboundTrafficPolicyOptional
public object OutboundTrafficPolicy { get; set; }
- Type: object
Property outboundTrafficPolicy: The outbound traffic policy of the ASM instance.
PeriodOptional
public object Period { get; set; }
- Type: object
Property period: This parameter is valid only if you set ChargeType to PrePay.
The subscription duration of the SLB instance. Unit: months. If you want to purchase the instance for one year, enter 12.
PilotLoadBalancerSpecOptional
public object PilotLoadBalancerSpec { get; set; }
- Type: object
Property pilotLoadBalancerSpec: The specification of the SLB instance that is bound to Istio Pilot of the control plane.
Valid values: slb.s1.small, slb.s2.small, slb.s2.medium, slb.s3.small, slb.s3.medium, and slb.s3.large.
PilotPublicEipOptional
public object PilotPublicEip { get; set; }
- Type: object
Property pilotPublicEip: Specifies whether to expose Istio Pilot to the Internet.
Valid values: true and false. Default value: false. If you do not set this parameter, only clusters in the same VPC as the ASM instance can access Istio Pilot of the instance.
PlaygroundSceneOptional
public object PlaygroundScene { get; set; }
- Type: object
Property playgroundScene: The playground scenario.
If you specify this parameter, an ASM playground instance is created. Valid value:
- ewmaLb: the exponentially weighted moving average (EWMA) load balancing scenario
PrometheusUrlOptional
public object PrometheusUrl { get; set; }
- Type: object
Property prometheusUrl: The URL for Prometheus.
ProxyOptional
public object Proxy { get; set; }
- Type: object
Property proxy: Proxy settings.
TelemetryOptional
public object Telemetry { get; set; }
- Type: object
Property telemetry: Specifies whether to enable Prometheus monitoring.
We recommend that you use Managed Service for Prometheus. Valid values:
true: Enables Prometheus monitoring.false: Disables Prometheus monitoring. Default value:false.
TraceSamplingOptional
public object TraceSampling { get; set; }
- Type: object
Property traceSampling: The sampling percentage of tracing.
TracingOptional
public object Tracing { get; set; }
- Type: object
Property tracing: Specifies whether to enable the tracing feature.
To enable this feature, make sure that you have activated Alibaba Cloud Tracing Analysis. Valid values: true and false. Default value: false.
UseExistingCaOptional
public object UseExistingCa { get; set; }
- Type: object
Property useExistingCa: Specifies whether to use an existing CA.
WebAssemblyFilterEnabledOptional
public object WebAssemblyFilterEnabled { get; set; }
- Type: object
Property webAssemblyFilterEnabled: Specifies whether to enable the WebAssembly filter.
Valid values:
true: Enables the WebAssembly filter.false: Disables the WebAssembly filter. Default value:false.