Sie lesen gerade die Dokumentation zu Apigee und Apigee Hybrid.
Für dieses Thema gibt es keine entsprechende Apigee Edge-Dokumentation.
Symptome
- API-Produkte, Entwickler, Anwendungen werden nicht in die Apigee-Benutzeroberfläche eingefügt.
- API-Proxy-Bereitstellungen werden nicht abgeschlossen.
- Management API-Anfragen, die zum Lesen und Schreiben von API-Produkten, Entwicklern und Apps ausgeführt werden, schlagen fehl./li>
Fehlermeldungen
In diesem Abschnitt werden die möglichen Fehlermeldungen beschrieben, die angezeigt werden, wenn keine Netzwerkverbindung besteht.
ApigeeIssue
Wenn dieses Problem als ApigeeIssue gemeldet wurde und der folgende Befehl ausgeführt wird:
kubectl -n APIGEE_NAMESPACE get apigeeissues
wobei APIGEE_NAMESPACE der Name für eine Gruppierung von Kubernetes-Ressourcen ist.
wird der folgende Fehlercode angezeigt:
NAME SEVERITY AGE URL control-plane-connectivity-failure Error 1hr https://cloud.google.com/apigee/docs/api-platform/troubleshoot/playbooks/no-network-connectivity
Seiten für API-Produkte, Entwickler und Apps Apigee-UI
Auf den Seiten API-Produkte, Entwickler und Apps Apigee-UI wird der folgende Fehler angezeigt:
Error: no connections available from the Apigee connect agent(s): refer to documentation to triage further.
apigee-synchronizer-Logs
Die folgende Fehlermeldung wird in apigee-synchronizer
-Logs angezeigt:
{"level":"SEVERE","thread":"Apigee-Timer-3","mdc":{"action":"SYNC","env":"dev", "org":"example-hybrid-dev"},"className":"com.apigee.httpclient.adaptor.RequestAdaptor", "method":"doSend","severity":"SEVERE","message":"request failed [CONTEXT ratelimit_period\u003d\"1 MINUTES [skipped: 1]\" ]", "formattedDate":"2023-02-01T06:27:48.700Z","logger":"SERVICES.HTTPCLIENTSERVICE", "exceptionStackTrace":"java.net.SocketTimeoutException: connect timed out ... com.apigee.httpclient.adaptor.RequestAdaptor.send(RequestAdaptor.java:251) at com.apigee.hybrid.runtime.contract.sync.context.HttpContractDownloader.download(HttpContractDownloader.java:84) at com.apigee.hybrid.runtime.contract.sync.context.ControlPlaneReplicationContext.getContract(ControlPlaneReplicationContext.java:66)
apigee-watcher-Logs
Die folgende Fehlermeldung wird in apigee-watcher
-Logs angezeigt:
{"level":"error","ts":1675232549.5093117,"caller":"watcher/watcher.go:60", "msg":"error during watch","name":"mpstatus","error":"INTERNAL: error sending mp status to mgmt: INTERNAL: failed to send runtime status Post \"https://apigee.googleapis.com/v1/organizations/example-hybrid-dev/instances/apigee-hybrid-australia-southeast1:reportStatus\": dial tcp 172.217.24.42:443: i/o timeout","stacktrace": "edge-internal.git.corp.google.com/apigee-watcher.git/watcher. (*Watcher).Start.func1.1\n\t/go/src/edge-internal/apigee-watcher/watcher/watcher.go:60"}
Mögliche Ursachen
Plattform | Ursache | Beschreibung |
---|---|---|
Alle | Keine Netzwerkroute zum Internet verfügbar | Wenn keine Netzwerkroute zum Internet verfügbar ist, können die Komponenten der Apigee-Laufzeitebene nicht mit den APIs der Apigee-Steuerungsebene kommunizieren. |
Alle | Apigee API-Endpunkte stehen nicht auf der Zulassungsliste | Wenn eine Firewall vorhanden ist, stehen Apigee API-Endpunkte möglicherweise nicht auf der Zulassungsliste. |
GKE | Privater Google-Zugriff ist nicht aktiviert | Wenn das Deployment in GKE erfolgt, wurde der private Google-Zugriff möglicherweise im Subnetz nicht aktiviert. |
Alle | Unbekannter Netzwerkfehler | Wenn im Clusternetzwerk ein unbekannter Fehler beim Herstellen einer Verbindung zum Internet auftritt, kann dieses Problem auftreten. |
Ursache: Keine Netzwerkroute zum Internet verfügbar
Diagnose
- Prüfen Sie je nach verwendeter Plattform, ob eine Netzwerkroute vom Clusternetzwerk zum Internet verfügbar ist. Weitere Informationen zur Vernetzung in GKE finden Sie z. B. unter Netzwerkübersicht.
- Erkundigen Sie sich bei Ihrem Infrastruktur- und Netzwerkteam, ob das Clusternetzwerk einen Weiterleitungsproxy-Server für die Verbindung zum Internet verwendet.
Lösung
- Wenden Sie sich an den Netzwerkadministrator und fügen Sie nach Möglichkeit eine Netzwerkroute zum Internet hinzu.
-
Wenn ein Weiterleitungsproxy-Server für die Kommunikation zwischen dem Clusternetzwerk und dem Internet verwendet wird,
konfigurieren Sie die Einstellungen für den Weiterleitungs-Proxyserver in Apigee mit der Datei
overrides.yaml
und wenden Sie diese Änderung auf die Laufzeitebene an.apigeectl apply --settings virtualhosts -f overrides/overrides.yaml
Apigee API-Endpunkte stehen nicht auf der Zulassungsliste
Diagnose
Erkundigen Sie sich beim Netzwerkadministrator, ob die Liste der Apigee API-Endpunkte in der Firewall auf der Plattform, auf der Apigee installiert ist, auf der Zulassungsliste steht. Für GKE könnte dies Cloud Next Generation Firewall sein.
Lösung
Wenn die obige Liste der Apigee API-Endpunkte nicht auf der Zulassungsliste steht, wenden Sie sich an den Netzwerkadministrator und erfüllen Sie diese Anforderung.
Ursache: Privater Google-Zugriff ist nicht aktiviert
Diagnose
- Wenn Apigee auf einem privaten GKE-Cluster ohne Zugang zum Internet eingesetzt wird, muss der private Google-Zugriff aktiviert werden, um den Komponenten der Apigee-Laufzeitebene den internen Zugriff auf Google APIs zu ermöglichen.
-
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
- Klicken Sie auf den Namen eines Netzwerks.
- Prüfen Sie auf dem Tab Subnetze in der Spalte Privater Google-Zugriff, ob das relevante Subnetz aktiviert ist. Sollte dies nicht der Fall sein, ist das der Grund für diesen Fehler.
Lösung
-
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
- Klicken Sie auf den Namen eines Netzwerks.
- Klicken Sie auf den Namen eines Subnetzes.
- Klicken Sie auf Bearbeiten.
- Wählen Sie Privater Google-Zugriff ein aus.
- Klicken Sie auf Speichern. Nach der Aktivierung wird dieses Problem behoben.
Ursache: Unbekannter Netzwerkfehler
Diagnose
Wenden Sie sich an Ihren Netzwerkadministrator und prüfen Sie, ob unbekannte Fehler im Clusternetzwerk auftreten.
Lösung
Wenden Sie sich an Ihren Netzwerkadministrator und beheben Sie die Probleme im Clusternetzwerk. Sobald die Netzwerkprobleme behoben wurden, wird auch dieses Problem behoben.
Erfassen von Diagnoseinformationen erforderlich
Wenn das Problem auch nach Befolgen der obigen Anweisungen weiterhin besteht, sammeln Sie die folgenden Diagnoseinformationen und wenden Sie sich dann an Google Cloud Customer Care:
- Die Google Cloud-Projekt-ID.
- Der Name der Apigee Hybrid-Organisation.
- Die Ausgaben der folgenden Befehle, die auf allen Kubernetes-Clusterknoten ausgeführt werden:
ping apigee.googleapis.com
traceroute apigee.googleapis.com
telnet apigee.googleapis.com 443
- Die Datei
overrides.yaml
, die alle vertraulichen Informationen maskiert. - Der Kubernetes-Pod-Status in allen Namespaces:
kubectl get pods -A > kubectl-pod-status`date +%Y.%m.%d_%H.%M.%S`.txt
- Der Cluster-Info-Dump von Kubernetes:
Cluster-Info-Dump von Kubernetes generieren:
kubectl cluster-info dump -A --output-directory=/tmp/kubectl-cluster-info-dump
Cluster-Info-Dump von Kubernetes zippen:
zip -r kubectl-cluster-info-dump`date +%Y.%m.%d_%H.%M.%S`.zip /tmp/kubectl-cluster-info-dump/*