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 Google Cloud , incluindo limitações avançadas de gerenciamento de tráfego. Não se aplica ao Cloud Service Mesh com as APIs 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 a Google Cloud APIs.
- É possível usar a Cloud Service Mesh para configurar os seguintes protocolos de solicitação: 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 o protocolo de solicitação TCP, não é 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 a Cloud Service Mesh com serviços em execução no Knative ou no Google Cloud Serverless Computing.
- Neste documento, são abordados os proxies do Envoy. No entanto, é possível usar qualquer proxy de API de padrão aberto (xDS) com a Cloud Service Mesh. No entanto, o Google testou o Cloud Service Mesh apenas com o proxy do 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). Para criar ou excluir NEGs de conectividade híbrida, use a CLI do Google Cloud.
- Como o plano de dados gerencia as 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 NENHUM eBackendService.localityLbPolicy
for definido como uma política de balanceamento de carga diferente deMAGLEV
ouRING_HASH
, as configurações de afinidade da sessão não terão 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 serviço de back-end, não é 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 à Cloud Service Mesh com aplicativos gRPC sem proxy, consulte Limitações do gRPC sem proxy.