[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-08-19。"],[],[],null,["# Cloud Service Mesh limitations with Envoy\n=========================================\n\nThis document describes limitations that apply to Cloud Service Mesh with the\nGoogle Cloud APIs, including\nadvanced traffic management limitations. It does not apply to Cloud Service Mesh\nwith the Istio APIs.\n\nFor information about *limits* , see [Quotas and limits](/service-mesh/quotas).\n\nGeneral limitations\n-------------------\n\nThe limitations of Cloud Service Mesh include the following:\n\n- Cloud Service Mesh with the service routing APIs only supports Google Cloud APIs.\n- You can use Cloud Service Mesh to configure the following request protocols: HTTP (HTTP/1.1 or HTTP/2), HTTPS, TCP, and gRPC.\n- When you use Envoy as the dataplane proxy, the [`stream_idle_timeout` value](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto) defaults to 5 minutes. This is not configurable through Cloud Service Mesh.\n- When you use the `TCPRoute` resource to configure the TCP request protocol, you cannot use the [advanced traffic management features](/service-mesh/docs/service-routing/advanced-traffic-management). Advanced traffic management is only available when you configure the data plane to handle HTTP or gRPC requests.\n- Cloud Service Mesh supports [VPC Network Peering](/vpc/docs/vpc-peering) with the [service routing APIs](/service-mesh/docs/service-routing/service-routing-overview).\n- Cloud Service Mesh does not support server-first protocols.\n- You cannot use Cloud Service Mesh with services running in [Knative](/knative) or [Google Cloud Serverless Computing](/serverless).\n- This document discusses Envoy proxies, but you can use any [open standard API (xDS) proxy](https://www.envoyproxy.io/docs/envoy/latest/api/api) with Cloud Service Mesh. However, Google has tested Cloud Service Mesh only with the Envoy proxy.\n- To ensure that all known security vulnerabilities are mitigated, we recommend that you use the most recent Envoy version. For information about Envoy security advisories, see [Envoy Security Advisories](https://github.com/envoyproxy/envoy/security/advisories).\n- The Google Cloud console does not support hybrid connectivity network endpoint groups (NEGs). To create or delete hybrid connectivity NEGs, use the Google Cloud CLI.\n- Because your data plane handles health checks, you cannot use the Google Cloud console, API, or gcloud CLI to retrieve health check status.\n- Check `iptables` and ensure that it is set up correctly. For more information\n about how to configure `iptables`, see Envoy's notes about configuring\n [HTTP filtering](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/original_src_filter#extra-setup).\n\n - If you use the Google Cloud console to create virtual machine (VM) instances, some `ipv6`-related modules are not installed and available before a restart. As a result, `iptables.sh` fails due to missing dependencies. In such a case, restart the VM and rerun the `run.sh` script.\n - If you use the gcloud CLI to create Compute Engine VMs, you are not expected to have this problem.\n\nAdvanced traffic management limitations\n---------------------------------------\n\nThe limitations of advanced traffic management include the following:\n\n- If the value of `BackendService.sessionAffinity` is not NONE, and `BackendService.localityLbPolicy` is set to a load-balancing policy other than `MAGLEV` or `RING_HASH`, the session affinity settings don't take effect.\n- The `gcloud import` command doesn't delete top-level fields of the resource, such as the backend service and the URL map. For example, if a backend service is created with settings for `circuitBreakers`, you can use a subsequent `gcloud import` command to update those settings. However, you cannot delete those settings from the backend service. You can delete and recreate the resource itself without the `circuitBreakers` settings.\n\nLimitations with Service Directory\n----------------------------------\n\n- Service Directory and Cloud Service Mesh don't guarantee network reachability for clients.\n- A backend service can only reference one of the following:\n\n - Managed instance group or unmanaged instance group\n - Network endpoint group\n - Service bindings\n- Service Directory services can only be used with global\n backend services with `load-balancing-scheme=INTERNAL_SELF_MANAGED`.\n\n- A Service Directory service that is referenced by a service\n binding can be deleted. If the underlying Service Directory\n service to which the backend service is attached is deleted, applications\n that use Cloud Service Mesh cannot send traffic to this service, therefore,\n requests fail. See [Observability and debugging](/traffic-director/docs/service-directory-observability) for best practices.\n\n- When you bind a Service Directory service to a backend\n service, you cannot configure a health check on that backend service.\n\nWhat's next\n-----------\n\n- To learn about limitations that apply to Cloud Service Mesh with proxyless gRPC applications, see [Proxyless gRPC limitations](/service-mesh/docs/service-routing/limitations-proxyless)."]]