Cloud Service Mesh-Einschränkungen mit Envoy

In diesem Dokument werden Einschränkungen für Cloud Service Mesh mit den Google Cloud APIs beschrieben, einschließlich der Einschränkungen für die erweiterte 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 folgenden Anfrageprotokolle zu konfigurieren: HTTP (HTTP/1.1 oder HTTP/2), HTTPS, TCP und gRPC.
  • Wenn Sie Envoy als Proxy für die Datenebene verwenden, beträgt der Wert stream_idle_timeout standardmäßig 5 Minuten. Dies kann nicht über Cloud Service Mesh konfiguriert werden.
  • Wenn Sie die Ressource TCPRoute zum Konfigurieren des TCP-Anfrageprotokolls verwenden, können Sie die erweiterten Features der Trafficverwaltung nicht nutzen. 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 Dienst-Routing-APIs.
  • Cloud Service Mesh unterstützt keine Server-First-Protokolle.
  • Cloud Service Mesh kann nicht mit Diensten verwendet werden, die in Knative oder serverlosem Computing von Google Cloud ausgeführt werden.
  • In diesem Dokument werden Envoy-Proxys beschrieben. Sie können jedoch einen beliebigen xDS-Proxy (Open Standard API) mit Cloud Service Mesh verwenden. 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 von iptables 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ä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 die gcloud CLI zum Erstellen von Compute Engine-VMs verwenden, wird dieses Problem nicht erwartet.

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 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 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ür circuitBreakers erstellt wird, können Sie diese Einstellungen mit einem nachfolgenden Befehl gcloud 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ür circuitBreakers löschen und neu erstellen.

Einschränkungen bei Service Directory

  • Service Directory und Cloud Service Mesh garantieren keine Netzwerkerreichbarkeit 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 der zugrunde liegende Service Directory-Dienst gelöscht wird, an den der Back-End-Dienst angehängt ist, 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 Back-End-Dienst binden, können Sie für diesen Back-End-Dienst keine Systemdiagnose konfigurieren.

Nächste Schritte