Limitações do Cloud Service Mesh com o Envoy
Este documento descreve as limitações que se aplicam à malha de serviços do Cloud com as APIs do Google Cloud, incluindo limitações avançadas de gerenciamento de tráfego. Isso não se aplica ao Cloud Service Mesh com as APIs do Istio.
Para mais informações sobre limites, consulte Cotas e limites.
Limitações gerais
As limitações do Cloud Service Mesh incluem:
- O Cloud Service Mesh com as APIs de roteamento de serviço só oferece suporte APIs do Google Cloud.
- É possível usar o Cloud Service Mesh para configurar a solicitação a seguir protocolos: HTTP (HTTP/1.1 ou HTTP/2), HTTPS, TCP e gRPC.
- Quando você usa o Envoy como o proxy de plano de dados, o
valor
stream_idle_timeout
tem o padrão 5 minutos. Isso não é configurável pelo Cloud Service Mesh. - Quando você usa o recurso
TCPRoute
para configurar a solicitação TCP não será possível usar os recursos avançados de gerenciamento de tráfego. O gerenciamento avançado do tráfego só está disponível quando você configura o plano de dados para processar as solicitações HTTP ou gRPC. - O Cloud Service Mesh oferece suporte ao peering de rede VPC com as APIs de roteamento de serviço.
- O Cloud Service Mesh não oferece suporte a protocolos que priorizam o servidor.
- Não é possível usar o Cloud Service Mesh com serviços em execução no Knative ou na computação sem servidor do Google Cloud.
- Este documento aborda os proxies Envoy, mas é possível usar qualquer Proxy de API aberta padrão (xDS) com o Cloud Service Mesh. No entanto, o Google testou o Cloud Service Mesh somente com o proxy Envoy.
- Para garantir que todas as vulnerabilidades de segurança conhecidas sejam reduzidas, recomendamos usar a versão mais recente do Envoy. Para mais informações sobre alertas de segurança do Envoy, acesse Consultas de segurança do Envoy.
- O Console do Google Cloud não é compatível com grupos de endpoints de rede de conectividade híbrida (NEGs, na sigla em inglês). Para criar ou excluir NEGs de conectividade híbrida, use a CLI do Google Cloud.
- Como seu plano de dados lida com verificações de integridade, não é possível usar o Console do Google Cloud, a API ou a CLI gcloud para recuperar o status da verificação de integridade.
Verifique o
iptables
e verifique se ele está configurado corretamente. Para mais informações sobre como configurar oiptables
, consulte as observações do Envoy sobre a configuração da filtragem HTTP.- Se você usar o Console do Google Cloud para criar instâncias de máquina virtual (VM),
alguns módulos relacionados a
ipv6
não serão instalados e não ficarão disponíveis antes da reinicialização. Como resultado,iptables.sh
falha devido a dependências ausentes. Nesse caso, reinicie a VM e execute novamente o scriptrun.sh
. - Se você usa a CLI gcloud para criar VMs do Compute Engine, não tem esse problema.
- Se você usar o Console do Google Cloud para criar instâncias de máquina virtual (VM),
alguns módulos relacionados a
Limitações avançadas de gerenciamento de tráfego
As limitações do gerenciamento avançado de tráfego incluem o seguinte:
- Se o valor de
BackendService.sessionAffinity
não for NONE, eBackendService.localityLbPolicy
está definida como uma política de balanceamento de carga diferenteMAGLEV
ouRING_HASH
, as configurações de afinidade da sessão não levam efeito - O comando
gcloud import
não exclui os campos de nível superior do recurso, como o serviço de back-end e o mapa de URL. Por exemplo, se um serviço de back-end for criado com configurações paracircuitBreakers
, será possível usar um comandogcloud import
subsequente para atualizar essas configurações. No entanto, não é possível excluir essas configurações do serviço de back-end. É possível excluir e recriar o recurso sem as configurações decircuitBreakers
.
Limitações com o Diretório de serviços
- O Diretório de serviços e a Cloud Service Mesh não garantem a acessibilidade da rede para clientes.
Um serviço de back-end só pode referir-se a um dos seguintes itens:
- Grupo de instâncias gerenciadas ou não gerenciada
- Grupo de endpoints de rede
- Vinculações de serviço
Os serviços do Diretório de serviços só podem ser usados com serviços de back-end globais com
load-balancing-scheme=INTERNAL_SELF_MANAGED
.Um serviço do Diretório de serviços referenciado por uma vinculação de serviço pode ser excluído. Se o serviço do Diretório de serviços subjacente ao serviço de back-end for excluído, os aplicativos que usam o Cloud Service Mesh não poderão enviar tráfego para esse serviço. Portanto, as solicitações falharão. Para ver as práticas recomendadas, consulte Observabilidade e depuração.
Quando você vincula um serviço do Diretório de serviços a um back-end não será possível configurar uma verificação de integridade nesse serviço de back-end.
A seguir
- Para saber mais sobre as limitações que se aplicam ao Cloud Service Mesh com aplicativos gRPC sem proxy, consulte Limitações do gRPC sem proxy.