ALIYUN::ASM::ServiceMesh se usa para crear una instancia de Service Mesh (ASM).
Sintaxis
{
"Type": "ALIYUN::ASM::ServiceMesh",
"Properties": {
"EnableAudit": Boolean,
"OPA": Map,
"IstioVersion": String,
"ApiServerPublicEip": Boolean,
"LocalityLoadBalancing": Boolean,
"Telemetry": Boolean,
"OutboundTrafficPolicy": String,
"AuditProject": String,
"TraceSampling": Number,
"Name": String,
"Proxy": Map,
"VpcId": String,
"PilotPublicEip": Boolean,
"IncludeIPRanges": String,
"VSwitches": List,
"Tracing": Boolean,
"CustomizedZipkin": Boolean,
"EnableACMG": Boolean,
"CustomizedPrometheus": Boolean,
"MSEEnabled": Boolean,
"WebAssemblyFilterEnabled": Boolean,
"CRAggregationEnabled": Boolean,
"CertChain": String,
"ConfigSourceNacosID": String,
"ConfigSourceEnabled": Boolean,
"EnableSDSServer": Boolean,
"DNSProxyingEnabled": Boolean,
"OpaEnabled": Boolean,
"LocalityLBConf": String,
"GuestCluster": String,
"KialiEnabled": Boolean,
"ControlPlaneLogEnabled": Boolean,
"EnableAmbient": Boolean,
"ExistingCaKey": String,
"ApiServerLoadBalancerSpec": String,
"ExcludeIPRanges": String,
"FilterGatewayClusterConfig": Boolean,
"PilotLoadBalancerSpec": String,
"AutoRenew": Boolean,
"AccessLogServiceEnabled": Boolean,
"ExistingRootCaCert": String,
"MysqlFilterEnabled": Boolean,
"GatewayAPIEnabled": Boolean,
"ControlPlaneLogProject": String,
"Edition": String,
"UseExistingCA": Boolean,
"ChargeType": String,
"ExistingCaType": String,
"PlaygroundScene": String,
"AccessLogEnabled": Boolean,
"AccessLogProject": String,
"ExistingRootCaKey": String,
"ExistingCaCert": String,
"Period": Number,
"ExcludeInboundPorts": String,
"ClusterSpec": String,
"MultiBufferPollDelay": String,
"AccessLogServicePort": Integer,
"ExcludeOutboundPorts": String,
"PrometheusUrl": String,
"AccessLogFormat": String,
"DubboFilterEnabled": Boolean,
"AutoRenewPeriod": Integer,
"AccessLogFile": String,
"MultiBufferEnabled": Boolean,
"EnableCRHistory": Boolean,
"AccessLogServiceHost": String
}
}
Propiedades
Propiedad | Tipo | Obligatorio | Editable | Descripción | Restricción |
VpcId | String | Sí | No | ID de la virtual private cloud (VPC). | Ninguna. |
VSwitches | List | Sí | No | ID de los vSwitches. | Ninguna. |
ApiServerPublicEip | Boolean | No | No | Indica si el servidor de API se expone a Internet. | Valores válidos:
|
AuditProject | String | No | Sí | Nombre del proyecto de Simple Log Service (SLS) usado para las auditorías de la malla. | Valor predeterminado: mesh-log-{meshId}. |
EnableACMG | Boolean | No | No | Indica si se habilita el modo Alibaba Centralized Mesh Gateway (ACMG). | Ninguna. |
CustomizedPrometheus | Boolean | No | No | Indica si se usa una instancia personalizada de Prometheus. | Valores válidos:
Valor predeterminado: |
MSEEnabled | Boolean | No | No | Indica si se habilita Microservices Engine (MSE). | Valores válidos:
Valor predeterminado: |
WebAssemblyFilterEnabled | Boolean | No | No | Indica si se habilita WebAssembly Filter. | Valores válidos:
Valor predeterminado: |
CRAggregationEnabled | Boolean | No | No | Indica si se permite que la API de Kubernetes de los clústeres en el plano de datos acceda a los recursos de Istio. | Valores válidos:
Valor predeterminado: |
CertChain | String | No | No | Cadena de certificados desde el certificado de la autoridad de certificación (CA) hasta el certificado raíz. La cadena debe incluir como mínimo dos certificados. | Ninguna. |
ConfigSourceNacosID | String | No | No | ID de instancia del registro Nacos. | Ninguna. |
ConfigSourceEnabled | Boolean | No | No | Indica si se habilita el registro de servicios externo. | Valores válidos:
Valor predeterminado: |
EnableSDSServer | Boolean | No | No | Indica si se habilita Secret Discovery Service (SDS). | Valores válidos:
Valor predeterminado: |
DNSProxyingEnabled | Boolean | No | No | Indica si se habilita la función de proxy de resolución de nombres de dominio (DNS). | Valores válidos:
Valor predeterminado: |
OpaEnabled | Boolean | No | No | Indica si se habilita el plugin de Open Policy Agent (OPA). | Valores válidos:
Valor predeterminado: |
LocalityLBConf | String | No | No | Configuraciones para acceder a la instancia de ASM más cercana. | Ninguna. |
GuestCluster | String | No | No | ID del clúster que desea agregar a la instancia de ASM al crearla. Si no especifica esta propiedad, no se agrega ningún clúster a la instancia de ASM. | El clúster y la instancia de ASM deben estar en el mismo vSwitch de la misma VPC y tener el mismo nombre de dominio. |
KialiEnabled | Boolean | No | No | Indica si se habilita la función de topología de malla. | Valores válidos:
Valor predeterminado: |
ControlPlaneLogEnabled | Boolean | No | No | Indica si se habilita la recopilación de registros del plano de control. | Valores válidos:
Valor predeterminado: |
EnableAmbient | Boolean | No | No | Indica si se habilita el modo Ambient Mesh para la instancia de ASM. | Ninguna. |
ExistingCaKey | String | No | No | Clave de CA existente. | Esta propiedad se usa en escenarios donde se migra Istio de código abierto a ASM. El valor corresponde al contenido del archivo ca-key.pem en el secreto istio-ca-secret dentro del namespace istio-system del clúster donde está instalado Istio de código abierto. |
ApiServerLoadBalancerSpec | String | No | No | Especificación de la instancia de Classic Load Balancer (CLB) vinculada al servidor de API. | Valores válidos: |
ExcludeIPRanges | String | No | No | Rangos de direcciones IP que se excluirán de la redirección al proxy sidecar en la instancia de ASM. | Ninguna. |
FilterGatewayClusterConfig | Boolean | No | No | Indica si se habilita la función de filtrado de configuración de gateway. | Valores válidos:
Valor predeterminado: |
PilotLoadBalancerSpec | String | No | No | Especificación de la instancia de CLB vinculada a Istio Pilot. | Valores válidos: |
AutoRenew | Boolean | No | No | Indica si se habilita la renovación automática para la instancia de CLB cuando esta usa el método de facturación por suscripción. | Valores válidos:
|
AccessLogServiceEnabled | Boolean | No | No | Indica si se habilita gRPC Access Log Service (ALS) de Envoy. | Valores válidos:
Valor predeterminado: |
ExistingRootCaCert | String | No | No | Certificado raíz existente. | Ninguna. |
MysqlFilterEnabled | Boolean | No | No | Indica si se habilita MySQL Filter. | Valores válidos:
Valor predeterminado: |
GatewayAPIEnabled | Boolean | No | No | Indica si se habilita Gateway API. | Valores válidos:
Valor predeterminado: |
ControlPlaneLogProject | String | No | No | Nombre del proyecto de SLS usado para recopilar registros del plano de control. | Ninguna. |
Edition | String | No | No | Edición gratuita de la instancia de ASM. | Ninguna. |
UseExistingCA | Boolean | No | No | Indica si se usa un certificado de CA y una clave privada existentes. | Ninguna. |
ChargeType | String | No | No | Método de facturación de la instancia de CLB. | Valores válidos:
|
ExistingCaType | String | No | No | Tipo de certificado de CA existente. |
|
PlaygroundScene | String | No | No | Escenario de playground. | Establezca el valor en ewmaLb. Un valor de ewmaLb especifica el algoritmo de balanceo de carga de media móvil ponderada exponencialmente (EWMA). |
AccessLogEnabled | Boolean | No | No | Indica si se habilita la función de recopilación de registros de acceso. | Valores válidos:
Valor predeterminado: |
AccessLogProject | String | No | No | Proyecto de SLS desde el cual se recopilan los registros de acceso. | Ninguna. |
ExistingRootCaKey | String | No | No | Clave privada correspondiente al certificado raíz. | Ninguna. |
ExistingCaCert | String | No | No | Certificado de CA existente, codificado en Base64. | Esta propiedad se usa en escenarios donde se migra Istio de código abierto a ASM. El valor corresponde al contenido del archivo ca-cert.pem en el secreto istio-ca-secret dentro del namespace istio-system del clúster donde está instalado Istio de código abierto. |
Period | Number | No | No | Duración de la suscripción de la instancia de CLB cuando esta usa el método de facturación por suscripción. Unidad: mes. | Esta propiedad surte efecto cuando ChargeType se establece en PrePay. Si desea una suscripción de un año, especifique 12 como valor de Period. |
ExcludeInboundPorts | String | No | No | Puertos de entrada que se excluirán de la redirección al proxy sidecar en la instancia de ASM. Separe varios números de puerto con comas (,). | Ninguna. |
ClusterSpec | String | No | No | Edición de la instancia de ASM. | Valores válidos:
|
MultiBufferPollDelay | String | No | No | Latencia de solicitud de extracción. | Valor predeterminado: 30s. |
AccessLogServicePort | Integer | No | No | Puerto de gRPC ALS de Envoy. | Ninguna. |
ExcludeOutboundPorts | String | No | No | Puertos de salida que se excluirán de la redirección al proxy sidecar en la instancia de ASM. Separe varios números de puerto con comas (,). | Ninguna. |
PrometheusUrl | String | No | No | Dirección de la instancia personalizada de Prometheus. | Ninguna. |
AccessLogFormat | String | No | No | Formato personalizado de los registros de acceso. | El valor de esta propiedad debe ser una cadena JSON que contenga como mínimo las siguientes claves y sus valores: 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 y x_forwarded_for. Ejemplo: |
DubboFilterEnabled | Boolean | No | No | Indica si se habilita Dubbo Filter. | Valores válidos:
Valor predeterminado: |
AutoRenewPeriod | Integer | No | No | Periodo de renovación automática de la instancia de CLB cuando esta usa el método de facturación por suscripción. | Esta propiedad surte efecto cuando |
AccessLogFile | String | No | No | Indica si se habilita la función de recopilación de registros de acceso. | Valores válidos:
|
MultiBufferEnabled | Boolean | No | No | Indica si se habilita la aceleración de Transport Layer Security (TLS) basada en MultiBuffer. | Valores válidos:
Valor predeterminado: |
EnableCRHistory | Boolean | No | No | Indica si se habilita la función de reversión para recursos de Istio. | Valores válidos:
Valor predeterminado: |
AccessLogServiceHost | String | No | No | Dirección de gRPC ALS de Envoy. | Ninguna. |
CustomizedZipkin | Boolean | No | Sí | Indica si se habilita Zipkin autogestionado. | Valores válidos:
|
EnableAudit | Boolean | No | Sí | Indica si se habilita la función de auditoría de malla. | Valores válidos:
Nota Para habilitar esta función, debe activar SLS. |
IncludeIPRanges | String | No | Sí | Rangos de direcciones IP cuyo tráfico se redirigirá al proxy sidecar en la instancia de ASM. | Ninguna. |
IstioVersion | String | No | No | Versión de Istio. | Ninguna. |
LocalityLoadBalancing | Boolean | No | Sí | Indica si se enruta el tráfico a la instancia de ASM más cercana. | Valores válidos:
|
Name | String | No | No | Nombre de la instancia de ASM. | Ninguna. |
OPA | Map | No | Sí | Configuraciones del plugin de OPA. | Para obtener más información, consulte OPA properties. |
OutboundTrafficPolicy | String | No | Sí | Directiva de tráfico de salida. | Valores válidos:
|
PilotPublicEip | Boolean | No | No | Indica si se expone Istio Pilot a Internet. | Valores válidos:
|
Proxy | Map | No | Sí | Configuraciones del proxy. | Para obtener más información, consulte Proxy properties. |
Telemetry | Boolean | No | Sí | Indica si se habilita la función de monitoreo de Prometheus. | Se recomienda usar Alibaba Cloud Managed Service for Prometheus. |
TraceSampling | Number | No | Sí | Porcentaje de muestreo de Managed Service for OpenTelemetry. | Ninguna. |
Tracing | Boolean | No | Sí | Indica si se habilita la función de análisis de rastreo. | Valores válidos:
Nota Para habilitar esta función, debe activar Managed Service for OpenTelemetry. |
Sintaxis de OPA
"OPA": {
"OPARequestCPU": String,
"OpenAgentPolicy": Boolean,
"OPALogLevel": String,
"OPALimitCPU": String,
"OPALimitMemory": String,
"OPARequestMemory": String
}
Propiedades de OPA
Propiedad | Tipo | Obligatorio | Editable | Descripción | Restricción |
OPALimitCPU | String | No | Sí | Límite de CPU del contenedor de OPA. | Ninguna. |
OPALimitMemory | String | No | Sí | Límite de memoria del contenedor de OPA. | Ninguna. |
OPALogLevel | String | No | Sí | Nivel de registro del contenedor de OPA. | Ninguna. |
OPARequestCPU | String | No | Sí | Solicitud de CPU del contenedor de OPA. | Ninguna. |
OPARequestMemory | String | No | Sí | Solicitud de memoria del contenedor de OPA. | Ninguna. |
OpenAgentPolicy | Boolean | No | Sí | Indica si se instala el plugin de OPA. | Valores válidos:
|
Sintaxis de Proxy
"Proxy": {
"ClusterDomain": String,
"ProxyLimitCPU": String,
"ProxyLimitMemory": String,
"ProxyRequestCPU": String,
"ProxyRequestMemory": String
}
Propiedades de Proxy
|
Propiedad |
Tipo |
Obligatorio |
Editable |
Descripción |
Restricción |
|
ClusterDomain |
String |
No |
Sí |
Nombre de dominio del clúster. |
Ninguna. |
|
ProxyLimitCPU |
String |
No |
Sí |
Límite de CPU del proxy. |
Ninguna. |
|
ProxyLimitMemory |
String |
No |
Sí |
Límite de memoria del proxy. |
Ninguna. |
|
ProxyRequestCPU |
String |
No |
Sí |
Solicitud de CPU del proxy. |
Ninguna. |
|
ProxyRequestMemory |
String |
No |
Sí |
Solicitud de memoria del proxy. |
Ninguna. |
Valores de retorno
Fn::GetAtt
ServiceMeshId: ID de la instancia de ASM.
Ejemplos
YAML format
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
ZoneId:
Type: String
Description: Create an Availability Zone for an instance to ensure that the Availability Zone supports the creation of Memcache resource specifications.
AssociationProperty: ALIYUN::ECS::Instance::ZoneId
Label: Zone ID
VPC:
AssociationProperty: ALIYUN::ECS::VPC::VPCId
Type: String
Description: Please search the ID starts with (vpc-xxx)from console-Virtual Private Cloud
Label: Existing VPC Instance ID
VSwitch:
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
Type: String
Description: Please search the business VSwitch ID starts with(vsw-xxx)from console-Virtual Private Cloud-VSwitches
Label: Existing VSwitch ID
AssociationPropertyMetadata:
VpcId: VPC
ZoneId: ZoneId
Resources:
ServiceMesh:
Type: ALIYUN::ASM::ServiceMesh
Properties:
VpcId:
Ref: VPC
VSwitches:
- Ref: VSwitch
Outputs:
ServiceMeshId:
Description: The ID of the ASM instance.
Value:
Fn::GetAtt:
- ServiceMesh
- ServiceMeshId
JSON format
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"ZoneId": {
"Type": "String",
"Description": "Create an Availability Zone for an instance to ensure that the Availability Zone supports the creation of Memcache resource specifications.",
"AssociationProperty": "ALIYUN::ECS::Instance::ZoneId",
"Label": "Zone ID"
},
"VPC": {
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
"Type": "String",
"Description": "Please search the ID starts with (vpc-xxx)from console-Virtual Private Cloud",
"Label": "Existing VPC Instance ID"
},
"VSwitch": {
"AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
"Type": "String",
"Description": "Please search the business VSwitch ID starts with(vsw-xxx)from console-Virtual Private Cloud-VSwitches",
"Label": "Existing VSwitch ID",
"AssociationPropertyMetadata": {
"VpcId": "VPC",
"ZoneId": "ZoneId"
}
}
},
"Resources": {
"ServiceMesh": {
"Type": "ALIYUN::ASM::ServiceMesh",
"Properties": {
"VpcId": {
"Ref": "VPC"
},
"VSwitches": [
{
"Ref": "VSwitch"
}
]
}
}
},
"Outputs": {
"ServiceMeshId": {
"Description": "The ID of the ASM instance.",
"Value": {
"Fn::GetAtt": [
"ServiceMesh",
"ServiceMeshId"
]
}
}
}
}