O recurso ALIYUN::ASM::ServiceMesh cria uma instância do Service Mesh (ASM).
Sintaxe
{
"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
}
}
Propriedades
Propriedade | Tipo | Obrigatório | Editável | Descrição | Restrição |
VpcId | String | Sim | Não | ID da Virtual Private Cloud (VPC). | Nenhuma. |
VSwitches | List | Sim | Não | IDs dos vSwitches. | Nenhuma. |
ApiServerPublicEip | Boolean | Não | Não | Define se o servidor de API fica exposto à Internet. | Valores válidos:
|
AuditProject | String | Não | Sim | Nome do projeto do Simple Log Service (SLS) usado para auditorias do mesh. | Valor padrão: mesh-log-{meshId}. |
EnableACMG | Boolean | Não | Não | Indica se o modo Alibaba Centralized Mesh Gateway (ACMG) está ativado. | Nenhuma. |
CustomizedPrometheus | Boolean | Não | Não | Determina se uma instância personalizada do Prometheus será utilizada. | Valores válidos:
Valor padrão: |
MSEEnabled | Boolean | Não | Não | Controla a ativação do Microservices Engine (MSE). | Valores válidos:
Valor padrão: |
WebAssemblyFilterEnabled | Boolean | Não | Não | Habilita ou desabilita o WebAssembly Filter. | Valores válidos:
Valor padrão: |
CRAggregationEnabled | Boolean | Não | Não | Permite que a API Kubernetes dos clusters no plano de dados acesse recursos do Istio. | Valores válidos:
Valor padrão: |
CertChain | String | Não | Não | Cadeia de certificados desde o certificado da autoridade certificadora (CA) até o certificado raiz. A cadeia deve incluir pelo menos dois certificados. | Nenhuma. |
ConfigSourceNacosID | String | Não | Não | ID da instância do registro Nacos. | Nenhuma. |
ConfigSourceEnabled | Boolean | Não | Não | Ativa o registro de serviço externo. | Valores válidos:
Valor padrão: |
EnableSDSServer | Boolean | Não | Não | Habilita o Secret Discovery Service (SDS). | Valores válidos:
Valor padrão: |
DNSProxyingEnabled | Boolean | Não | Não | Ativa o recurso de proxy de resolução de nomes de domínio (DNS). | Valores válidos:
Valor padrão: |
OpaEnabled | Boolean | Não | Não | Ativa o plug-in Open Policy Agent (OPA). | Valores válidos:
Valor padrão: |
LocalityLBConf | String | Não | Não | Configurações para acesso à instância ASM mais próxima. | Nenhuma. |
GuestCluster | String | Não | Não | ID do cluster a ser adicionado à instância ASM durante sua criação. Se esta propriedade não for especificada, nenhum cluster será adicionado à instância ASM. | O cluster e a instância ASM devem estar no mesmo vSwitch da mesma VPC e possuir o mesmo nome de domínio. |
KialiEnabled | Boolean | Não | Não | Ativa o recurso de topologia do mesh. | Valores válidos:
Valor padrão: |
ControlPlaneLogEnabled | Boolean | Não | Não | Habilita a coleta de logs do plano de controle. | Valores válidos:
Valor padrão: |
EnableAmbient | Boolean | Não | Não | Ativa o modo Ambient Mesh para a instância ASM. | Nenhuma. |
ExistingCaKey | String | Não | Não | Chave da CA existente. | Esta propriedade é usada em cenários de migração do Istio open source para o ASM. O valor corresponde ao conteúdo do arquivo ca-key.pem no segredo istio-ca-secret, dentro do namespace istio-system do cluster onde o Istio open source está instalado. |
ApiServerLoadBalancerSpec | String | Não | Não | Especificação da instância do Classic Load Balancer (CLB) vinculada ao servidor de API. | Valores válidos: |
ExcludeIPRanges | String | Não | Não | Faixas de endereços IP excluídas do redirecionamento para o proxy sidecar na instância ASM. | Nenhuma. |
FilterGatewayClusterConfig | Boolean | Não | Não | Ativa o recurso de filtragem de configuração do gateway. | Valores válidos:
Valor padrão: |
PilotLoadBalancerSpec | String | Não | Não | Especificação da instância CLB vinculada ao Istio Pilot. | Valores válidos: |
AutoRenew | Boolean | Não | Não | Define se a renovação automática da instância CLB deve ser ativada quando ela utiliza o método de faturamento por assinatura. | Valores válidos:
|
AccessLogServiceEnabled | Boolean | Não | Não | Habilita o gRPC Access Log Service (ALS) do Envoy. | Valores válidos:
Valor padrão: |
ExistingRootCaCert | String | Não | Não | Certificado raiz existente. | Nenhuma. |
MysqlFilterEnabled | Boolean | Não | Não | Ativa o MySQL Filter. | Valores válidos:
Valor padrão: |
GatewayAPIEnabled | Boolean | Não | Não | Habilita a Gateway API. | Valores válidos:
Valor padrão: |
ControlPlaneLogProject | String | Não | Não | Nome do projeto SLS utilizado para coletar logs do plano de controle. | Nenhuma. |
Edition | String | Não | Não | Edição gratuita da instância ASM. | Nenhuma. |
UseExistingCA | Boolean | Não | Não | Define se um certificado CA e chave privada existentes devem ser utilizados. | Nenhuma. |
ChargeType | String | Não | Não | Método de faturamento da instância CLB. | Valores válidos:
|
ExistingCaType | String | Não | Não | Tipo do certificado CA existente. |
|
PlaygroundScene | String | Não | Não | Cenário de playground. | Defina o valor como ewmaLb. Esse valor especifica o algoritmo de balanceamento de carga de média móvel ponderada exponencialmente (EWMA). |
AccessLogEnabled | Boolean | Não | Não | Ativa a coleta de logs de acesso. | Valores válidos:
Valor padrão: |
AccessLogProject | String | Não | Não | Projeto SLS de onde os logs de acesso são coletados. | Nenhuma. |
ExistingRootCaKey | String | Não | Não | Chave privada correspondente ao certificado raiz. | Nenhuma. |
ExistingCaCert | String | Não | Não | Certificado CA existente, codificado em Base64. | Esta propriedade é usada em cenários de migração do Istio open source para o ASM. O valor corresponde ao conteúdo do arquivo ca-cert.pem no segredo istio-ca-secret, dentro do namespace istio-system do cluster onde o Istio open source está instalado. |
Period | Number | Não | Não | Duração da assinatura da instância CLB quando ela utiliza o método de faturamento por assinatura. Unidade: mês. | Esta propriedade entra em vigor quando ChargeType é definido como PrePay. Para uma assinatura anual, defina o valor de Period como 12. |
ExcludeInboundPorts | String | Não | Não | Portas de entrada excluídas do redirecionamento para o proxy sidecar na instância ASM. Separe múltiplos números de porta com vírgulas (,). | Nenhuma. |
ClusterSpec | String | Não | Não | Edição da instância ASM. | Valores válidos:
|
MultiBufferPollDelay | String | Não | Não | Latência de pull-request. | Valor padrão: 30s. |
AccessLogServicePort | Integer | Não | Não | Porta do gRPC ALS do Envoy. | Nenhuma. |
ExcludeOutboundPorts | String | Não | Não | Portas de saída excluídas do redirecionamento para o proxy sidecar na instância ASM. Separe múltiplos números de porta com vírgulas (,). | Nenhuma. |
PrometheusUrl | String | Não | Não | Endereço da instância personalizada do Prometheus. | Nenhuma. |
AccessLogFormat | String | Não | Não | Formato personalizado dos logs de acesso. | O valor desta propriedade deve ser uma string JSON contendo pelo menos as seguintes chaves e seus 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 e x_forwarded_for. Exemplo: |
DubboFilterEnabled | Boolean | Não | Não | Ativa o Dubbo Filter. | Valores válidos:
Valor padrão: |
AutoRenewPeriod | Integer | Não | Não | Período de renovação automática da instância CLB quando ela utiliza o método de faturamento por assinatura. | Esta propriedade entra em vigor quando |
AccessLogFile | String | Não | Não | Define se a coleta de logs de acesso deve ser ativada. | Valores válidos:
|
MultiBufferEnabled | Boolean | Não | Não | Ativa a aceleração de Transport Layer Security (TLS) baseada em MultiBuffer. | Valores válidos:
Valor padrão: |
EnableCRHistory | Boolean | Não | Não | Habilita o recurso de reversão para recursos do Istio. | Valores válidos:
Valor padrão: |
AccessLogServiceHost | String | Não | Não | Endereço do gRPC ALS do Envoy. | Nenhuma. |
CustomizedZipkin | Boolean | Não | Sim | Ativa o Zipkin autogerenciado. | Valores válidos:
|
EnableAudit | Boolean | Não | Sim | Ativa o recurso de auditoria do mesh. | Valores válidos:
Nota Para ativar este recurso, você deve ativar o SLS. |
IncludeIPRanges | String | Não | Sim | Faixas de endereços IP cujo tráfego será redirecionado para o proxy sidecar na instância ASM. | Nenhuma. |
IstioVersion | String | Não | Não | Versão do Istio. | Nenhuma. |
LocalityLoadBalancing | Boolean | Não | Sim | Define se o tráfego deve ser roteado para a instância ASM mais próxima. | Valores válidos:
|
Name | String | Não | Não | Nome da instância ASM. | Nenhuma. |
OPA | Map | Não | Sim | Configurações do plug-in OPA. | Para mais informações, consulte Propriedades do OPA. |
OutboundTrafficPolicy | String | Não | Sim | Política de tráfego de saída. | Valores válidos:
|
PilotPublicEip | Boolean | Não | Não | Define se o Istio Pilot deve ser exposto à Internet. | Valores válidos:
|
Proxy | Map | Não | Sim | Configurações do proxy. | Para mais informações, consulte Propriedades do Proxy. |
Telemetry | Boolean | Não | Sim | Ativa o recurso de monitoramento do Prometheus. | Recomendamos o uso do Alibaba Cloud Managed Service for Prometheus. |
TraceSampling | Number | Não | Sim | Porcentagem de amostragem do Managed Service for OpenTelemetry. | Nenhuma. |
Tracing | Boolean | Não | Sim | Ativa o recurso de análise de rastreamento. | Valores válidos:
Nota Para ativar este recurso, você deve ativar o Managed Service for OpenTelemetry. |
Sintaxe do OPA
"OPA": {
"OPARequestCPU": String,
"OpenAgentPolicy": Boolean,
"OPALogLevel": String,
"OPALimitCPU": String,
"OPALimitMemory": String,
"OPARequestMemory": String
}
Propriedades do OPA
Propriedade | Tipo | Obrigatório | Editável | Descrição | Restrição |
OPALimitCPU | String | Não | Sim | Limite de CPU do contêiner OPA. | Nenhuma. |
OPALimitMemory | String | Não | Sim | Limite de memória do contêiner OPA. | Nenhuma. |
OPALogLevel | String | Não | Sim | Nível de log do contêiner OPA. | Nenhuma. |
OPARequestCPU | String | Não | Sim | Solicitação de CPU do contêiner OPA. | Nenhuma. |
OPARequestMemory | String | Não | Sim | Solicitação de memória do contêiner OPA. | Nenhuma. |
OpenAgentPolicy | Boolean | Não | Sim | Define se o plug-in OPA deve ser instalado. | Valores válidos:
|
Sintaxe do Proxy
"Proxy": {
"ClusterDomain": String,
"ProxyLimitCPU": String,
"ProxyLimitMemory": String,
"ProxyRequestCPU": String,
"ProxyRequestMemory": String
}
Propriedades do Proxy
|
Propriedade |
Tipo |
Obrigatório |
Editável |
Descrição |
Restrição |
|
ClusterDomain |
String |
Não |
Sim |
Nome de domínio do cluster. |
Nenhuma. |
|
ProxyLimitCPU |
String |
Não |
Sim |
Limite de CPU do proxy. |
Nenhuma. |
|
ProxyLimitMemory |
String |
Não |
Sim |
Limite de memória do proxy. |
Nenhuma. |
|
ProxyRequestCPU |
String |
Não |
Sim |
Solicitação de CPU do proxy. |
Nenhuma. |
|
ProxyRequestMemory |
String |
Não |
Sim |
Solicitação de memória do proxy. |
Nenhuma. |
Valores de retorno
Fn::GetAtt
ServiceMeshId: o ID da instância ASM.
Exemplos
Formato YAML
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
Formato JSON
{
"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"
]
}
}
}
}