Einschränkungen von Cloud Service Mesh mit Envoy

In diesem Dokument werden die Einschränkungen von Cloud Service Mesh mit denGoogle Cloud APIs beschrieben, einschließlich der Einschränkungen für die erweiterte Traffic-Verwaltung. Die Einschränkungen gelten nicht für Cloud Service Mesh mit Istio APIs.

Informationen zu Grenzwerten finden Sie unter Kontingente und Limits.

Allgemeine Einschränkungen

Für Cloud Service Mesh gelten folgende Einschränkungen:

  • Cloud Service Mesh mit Service Routing APIs unterstützt nurGoogle Cloud APIs.
  • Sie können mit Cloud Service Mesh die folgenden Anfrageprotokolle konfigurieren: HTTP (HTTP/1.1 oder HTTP/2), HTTPS, TCP und gRPC.
  • Wenn Sie als Datenebenenproxy Envoy verwenden, ist der Wert stream_idle_timeout standardmäßig auf 5 Minuten festgelegt. Dies kann über Cloud Service Mesh nicht konfiguriert werden.
  • Wenn Sie die Ressource TCPRoute zum Konfigurieren des TCP-Anfrageprotokolls verwenden, können Sie keine erweiterten Funktionen zur Traffic-Verwaltung verwenden. Die erweiterte Traffic-Verwaltung 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 Server-First-Protokolle.
  • Sie können Cloud Service Mesh nicht mit Diensten verwenden, die in Knative oder Google Cloud serverlosem Computing ausgeführt werden.
  • In diesem Dokument werden Envoy-Proxys beschrieben. Sie können mit Cloud Service Mesh jedoch auch einen beliebigen Proxy mit einer Open Standard API (xDS) verwenden. Google hat Cloud Service Mesh bisher nur mit dem Envoy-Proxy getestet.
  • Um alle bekannten Sicherheitslücken auszuschließen, sollten Sie die neueste Envoy-Version verwenden. Sicherheitshinweise für Envoy finden Sie in Sicherheitshinweise für Envoy auf GitHub
  • Die Google Cloud Console unterstützt keine Netzwerk-Endpunktgruppen (NEGs) mit Hybridverbindungen. Verwenden Sie die Google Cloud CLI, um NEGs mit Hybridverbindungen zu erstellen oder zu löschen.
  • Da Systemdiagnosen in der Datenebene verarbeitet werden, können Sie den Status der Systemdiagnose nicht über dieGoogle Cloud Console, die API oder die gcloud CLI abrufen.
  • Prüfen Sie, ob iptables korrekt eingerichtet ist. Weitere Informationen zum Konfigurieren von iptables finden Sie in den Envoy-Hinweisen zum Konfigurieren der HTTP-Filterung.

    • Wenn Sie mit der Google Cloud Console VM-Instanzen erstellen, werden einige ipv6-bezogene Module erst nach einem Neustart installiert und verfügbar gemacht. Daher schlägt iptables.sh aufgrund fehlender Abhängigkeiten fehl. Starten Sie in diesem Fall die VM neu und führen Sie das Skript run.sh noch einmal aus.
    • Wenn Sie für die Erstellung von Compute Engine-VMs die gcloud CLI verwenden, ist dieses Problem nicht zu erwarten.

Einschränkungen für die erweiterte Traffic-Verwaltung

Folgende Einschränkungen gelten für die erweiterte Traffic-Verwaltung:

  • Wenn der Wert für BackendService.sessionAffinity nicht NONE lautet und für BackendService.localityLbPolicy eine andere Load-Balancing-Richtlinie als MAGLEV oder RING_HASH festgelegt ist, werden die Einstellungen für die Sitzungsaffinität nicht wirksam.
  • Der Befehl gcloud import löscht keine Felder der obersten Ebene der Ressource wie den Backend-Dienst oder die URL-Zuordnung. Wenn beispielsweise ein Backend-Dienst mit Einstellungen für circuitBreakers erstellt wird, können Sie diese Einstellungen mit einem nachfolgenden gcloud import-Befehl aktualisieren. Sie können diese Einstellungen jedoch nicht aus dem Backend-Dienst löschen. Sie können die Ressource selbst ohne die Einstellungen für circuitBreakers löschen und neu erstellen.

Einschränkungen bei Service Directory

  • Service Directory und Cloud Service Mesh bieten für Clients keine garantierte Network Reachability.
  • Ein Backend-Dienst kann nur auf Folgendes 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 der zugrunde liegende Service Directory-Dienst, an den der Backend-Dienst angehängt ist, gelöscht wird, können Anwendungen, die Cloud Service Mesh verwenden, keinen Traffic an diesen Dienst senden. Daher schlagen Anfragen fehl. Best Practices finden Sie unter Beobachtbarkeit und Fehlerbehebung.

  • Wenn Sie einen Service Directory-Dienst an einen Backend-Dienst binden, können Sie für diesen Backend-Dienst keine Systemdiagnose konfigurieren.

Nächste Schritte