Einschränkungen von Cloud Service Mesh mit Envoy
In diesem Dokument werden die Einschränkungen für Cloud Service Mesh mit den Google Cloud APIs beschrieben, einschließlich Einschränkungen der erweiterten Trafficverwaltung. Sie gilt nicht für Cloud Service Mesh mit den Istio-APIs.
Informationen zu Limits finden Sie unter Kontingente und Limits.
Allgemeine Beschränkungen
Cloud Service Mesh bietet unter anderem folgende Einschränkungen:
- Cloud Service Mesh mit den Service Routing APIs unterstützt nur Google Cloud APIs.
- Sie können Cloud Service Mesh verwenden, um die folgende Anfrage zu konfigurieren Protokolle: HTTP (HTTP/1.1 oder HTTP/2), HTTPS, TCP und gRPC.
- Wenn Sie Envoy als Dataplane-Proxy verwenden,
Wert:
stream_idle_timeout
ist standardmäßig 5 Minuten. Dies kann nicht über Cloud Service Mesh konfiguriert werden. - Wenn Sie die
TCPRoute
-Ressource zum Konfigurieren des TCP-Anfrageprotokolls verwenden, können Sie nicht die erweiterten Features zur Trafficverwaltung verwenden. Die erweiterte Trafficverwaltung ist nur verfügbar, wenn Sie die Datenebene für die Verarbeitung von HTTP- oder gRPC-Anfragen konfigurieren. - Cloud Service Mesh unterstützt VPC-Netzwerk-Peering mit den Service Routing APIs.
- Cloud Service Mesh unterstützt keine serverfirst-Protokolle.
- Sie können Cloud Service Mesh nicht mit Diensten verwenden, die in Knative oder serverlosem Google Cloud-Computing ausgeführt werden.
- In diesem Dokument werden Envoy-Proxys erläutert. Sie können aber jeden beliebigen Open Standard API-Proxy (xDS) mit dem Cloud Service Mesh. Google hat Cloud Service Mesh jedoch nur mit dem Envoy-Proxy getestet.
- Damit alle bekannten Sicherheitslücken minimiert werden, sollten Sie die neueste Envoy-Version verwenden. Informationen zu den Sicherheitshinweisen für Envoy finden Sie in den Sicherheitshinweisen für Envoy.
- Die Google Cloud Console unterstützt keine Netzwerk-Endpunktgruppen (NEGs) mit Hybridkonnektivität. Verwenden Sie zum Erstellen oder Löschen von NEGs mit Hybridkonnektivität die Google Cloud CLI.
- Da die Datenebene Systemdiagnosen verarbeitet, können Sie den Status der Systemdiagnose nicht über die Google Cloud Console, die API oder die gcloud CLI abrufen.
Prüfen Sie, ob
iptables
korrekt eingerichtet ist. Weitere Informationen zum Konfigurieren voniptables
finden Sie in den Hinweisen von Envoy zum Konfigurieren der HTTP-Filterung.- Wenn Sie mit der Google Cloud Console VM-Instanzen erstellen, werden einige
ipv6
-bezogene Module nicht vor einem Neustart installiert und verfügbar gemacht. Daher schlägtiptables.sh
aufgrund fehlender Abhängigkeiten fehl. Starten Sie in diesem Fall die VM neu und führen Sie das Skriptrun.sh
noch einmal aus. - Wenn Sie die gcloud CLI zum Erstellen von Compute Engine-VMs verwenden, wird dieses Problem nicht erwartet.
- Wenn Sie mit der Google Cloud Console VM-Instanzen erstellen, werden einige
Einschränkungen für die erweiterte Trafficverwaltung
Zu den Einschränkungen der erweiterten Trafficverwaltung gehört Folgendes:
- Wenn der Wert von
BackendService.sessionAffinity
nicht NONE ist undBackendService.localityLbPolicy
ist auf eine andere Load-Balancing-Richtlinie festgelegt alsMAGLEV
oderRING_HASH
, haben die Einstellungen für die Sitzungsaffinität Effekts. - Der Befehl
gcloud import
löscht die Felder der obersten Ebene der Ressource nicht, also z. B. den Back-End-Dienst und die URL-Zuordnung. Wenn beispielsweise ein Back-End-Dienst mit Einstellungen fürcircuitBreakers
erstellt wird, können Sie diese Einstellungen mit einem nachfolgenden Befehlgcloud import
aktualisieren. Sie können diese Einstellungen jedoch nicht aus dem Back-End-Dienst löschen. Sie können die Ressource ohne die Einstellungen fürcircuitBreakers
löschen und neu erstellen.
Einschränkungen bei Service Directory
- Service Directory und Cloud Service Mesh garantieren keine Erreichbarkeit des Netzwerks für Clients.
Ein Backend-Dienst kann nur auf einen der folgenden Werte verweisen:
- Verwaltete Instanzgruppe oder nicht verwaltete Instanzgruppe
- Netzwerk-Endpunktgruppe
- Dienstbindungen
Service Directory-Dienste können nur mit globalen Backend-Diensten mit
load-balancing-scheme=INTERNAL_SELF_MANAGED
verwendet werden.Ein Service Directory-Dienst, auf den von einer Dienstbindung verwiesen wird, kann gelöscht werden. Wenn das zugrunde liegende Service Directory an den der Backend-Dienst angehängt ist, gelöscht wurde, die Cloud Service Mesh verwenden, können keinen Traffic an diesen Dienst senden. Daher -Anfragen schlagen fehl. Best Practices finden Sie unter Beobachtbarkeit und Fehlerbehebung.
Wenn Sie einen Service Directory-Dienst an ein Back-End binden können Sie für diesen Back-End-Dienst keine Systemdiagnose konfigurieren.
Nächste Schritte
- Weitere Informationen zu Einschränkungen für Cloud Service Mesh mit proxylose gRPC-Anwendungen, siehe Proxylose gRPC-Einschränkungen.