Multi-Cluster-Probleme beheben
In diesem Abschnitt werden häufig auftretende Cloud Service Mesh-Probleme und deren Behebung erläutert. Weitere Informationen finden Sie unter Support.
Fehlende Secrets
Dieser Abschnitt gilt nur für die Steuerungsebene im Cluster und die verwaltete Steuerungsebene mit der Istiod-Implementierung.
Cloud Service Mesh benötigt eine kubeconfig-Datei, die in das Kubernetes-Secret eingebettet ist, um eine ordnungsgemäße Remote-Endpunkterkennung zu ermöglichen. Wenn die Secrets fehlen, sehen Nutzer während des clusterübergreifenden Load Balancing immer, dass Anfragen Pods im lokalen Cluster treffen.
Überprüfen Sie mit dem folgenden Befehl in jedem Cluster, ob das Secret erstellt wurde:
kubectl get secret istio-remote-secret-CLUSTER_NAME_i -n istio-system
Prüfen Sie die erwartete Ausgabe:
NAME TYPE DATA AGE
istio-remote-secret-CLUSTER_NAME_i Opaque 1 44s
Löschen Sie zur problembehebung alle Remote-Secrets und führen Sie den Befehl create-mesh
noch einmal aus.
Nicht erreichbarer API-Server
Dieser Abschnitt gilt nur für die clusterinterne Steuerungsebene und die verwaltete (istiod-Implementierung).
Die Steuerungsebene von Cloud Service Mesh muss den API-Server des Remote-Clusters erreichen. In folgenden Situationen ist der Remotecluster unter Umständen nicht mehr erreichbar:
- Der Remote-Cluster wurde gelöscht.
- Der Remote-Cluster ist ein privater Cluster, für den kein globaler Zugriff aktiviert ist.
- Der Remote-Cluster ist ein privater Cluster, für den Autorisiertes Master-Netzwerk aktiviert ist, aber die IP-Adresse der Cloud Service Mesh-Steuerungsebene wurde nicht ordnungsgemäß über die Zulassungsliste erlaubt.
Bei einem nicht erreichbaren API-Server gibt Istiod Fehlermeldungen im Log aus. Nutzer sehen beim clusterübergreifenden Cluster-Load-Balancing immer Anfragen an den lokalen Pod.
Legen Sie in der Oberfläche Log-Explorer die Abfrage resource.type
auf istio_control_plane
fest.
Prüfen Sie, ob ungültige Secret-Fehler vorliegen.
Beheben Sie das zugrunde liegende API-Server-Erreichbarkeitsproblem, um dieses Problem zu beheben. Löschen Sie als Nächstes alle Remote-Secrets in jedem Cluster und führen Sie den Befehl create-mesh
noch einmal aus.
Fehlende Firewallregel
Ohne die richtige Firewallregel kommt es bei einem clusterübergreifenden Load-Balancing zu einer Verzögerung von 10 Sekunden gefolgt von einer Zeitüberschreitung.
Führen Sie die Schritte unter Firewallregel erstellen aus, um dieses Problem zu beheben.