Stai visualizzando la documentazione relativa a Apigee e Apigee ibrido.
Non esiste una documentazione
Apigee Edge equivalente per questo argomento.
Sintomi
- I prodotti API, gli sviluppatori e le app non vengono inseriti nella UI di Apigee.
- I deployment del proxy API non sono stati completati.
- Le richieste API di gestione eseguite per lettura e scrittura di prodotti API, sviluppatori e app non vanno a buon fine./li>
Messaggi di errore
Questa sezione descrive i possibili messaggi di errore visualizzati in assenza di connettività di rete.
ApigeeIssue
Se questo problema è stato segnalato come un problema Apigee, quando viene eseguito il comando seguente:
kubectl -n APIGEE_NAMESPACE get apigeeissues
dove APIGEE_NAMESPACE è il nome di un raggruppamento di risorse Kubernetes.
viene visualizzato il seguente codice di errore:
NAME SEVERITY AGE URL control-plane-connectivity-failure Error 1hr https://cloud.google.com/apigee/docs/api-platform/troubleshoot/playbooks/no-network-connectivity
Pagine della UI di Apigee per prodotti API, sviluppatori e app
Le pagine della UI di Apigee nei prodotti API, negli sviluppatori e nelle app mostrano il seguente errore:
Error: no connections available from the Apigee connect agent(s): refer to documentation to triage further.
Log apigee-synchronizer
È possibile visualizzare il seguente messaggio di errore nei log di apigee-synchronizer
:
{"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)
Log apigee-watcher
È possibile visualizzare il seguente messaggio di errore nei log di apigee-watcher
:
{"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"}
Possibili cause
Piattaforma | Causa | Descrizione |
---|---|---|
Tutti | Nessuna route di rete disponibile per internet | Se non è disponibile nessuna route di rete su internet, i componenti del piano di runtime Apigee non potranno comunicare con le API del piano di controllo Apigee. |
Tutti | Gli endpoint API Apigee non sono nella lista consentita | Se è presente un firewall, gli endpoint API Apigee potrebbero non essere stati inseriti nella lista consentita. |
GKE | L'accesso privato Google non è abilitato | Se il deployment è su GKE, l'accesso privato Google potrebbe non essere stato abilitato nella subnet. |
Tutti | Errore di rete sconosciuto | Questo problema potrebbe verificarsi se si verifica un errore sconosciuto nella rete del cluster durante la connessione a internet. |
Causa: nessuna route di rete disponibile per internet
Diagnosi
- A seconda della piattaforma utilizzata, verifica se è disponibile una route di rete dalla rete del cluster a internet. Ad esempio, per ulteriori informazioni sul networking su GKE, consulta Panoramica della rete.
- Verifica con il team dedicato all'infrastruttura e al networking se la rete del cluster utilizza un server proxy di inoltro per la connessione a internet.
Risoluzione
- Rivolgiti all'amministratore di rete e, se possibile, aggiungi una route di rete a internet.
-
Se è presente un server proxy di inoltro utilizzato per comunicare tra la rete del cluster e internet,
configura le impostazioni del server proxy di inoltro in Apigee utilizzando il file
overrides.yaml
e applica la modifica al piano di runtime.apigeectl apply --settings virtualhosts -f overrides/overrides.yaml
Causa: gli endpoint API Apigee non sono nella lista consentita
Diagnosi
Verifica con l'amministratore di rete se l'elenco di endpoint API Apigee è consentito nel firewall sulla piattaforma in cui è installato Apigee. Per GKE, potrebbe essere Cloud Next Generation Firewall.
Risoluzione
Se l'elenco di endpoint API Apigee non è incluso nella lista consentita, contatta l'amministratore di rete e completa il requisito.
Causa: l'accesso privato Google non è abilitato
Diagnosi
- Se il deployment di Apigee viene eseguito su un cluster GKE privato che non ha accesso a internet, l' accesso privato Google deve essere abilitato per consentire ai componenti del piano di runtime Apigee di accedere internamente alle API di Google.
-
Nella console Google Cloud, vai alla pagina Reti VPC.
- Fai clic sul nome di una rete.
- Nella scheda Subnet, nella colonna Accesso privato Google, verifica che sia abilitata la subnet pertinente. Se non è così, questo è il motivo dell'errore.
Risoluzione
-
Nella console Google Cloud, vai alla pagina Reti VPC.
- Fai clic sul nome di una rete.
- Fai clic sul nome di una subnet.
- Fai clic su Modifica.
- Seleziona Accesso privato Google On.
- Fai clic su Salva. Una volta attivato, il problema verrà risolto.
Causa: errore di rete sconosciuto
Diagnosi
Contatta l'amministratore di rete e verifica se sono presenti errori sconosciuti nella rete del cluster.
Risoluzione
Collabora con l'amministratore di rete e risolvi i problemi nella rete del cluster. Una volta risolti i problemi di rete, il problema verrà risolto.
Raccogliere dati diagnostici
Se il problema persiste anche dopo aver seguito le istruzioni riportate sopra, raccogli le seguenti informazioni diagnostiche e contatta l'assistenza clienti Google Cloud:
- L'ID del progetto Google Cloud.
- Il nome dell'organizzazione Apigee ibrida.
- Gli output dei seguenti comandi eseguiti su tutti i nodi del cluster Kubernetes:
ping apigee.googleapis.com
traceroute apigee.googleapis.com
telnet apigee.googleapis.com 443
- Il file
overrides.yaml
, mascherando le informazioni sensibili. - Lo stato del pod Kubernetes in tutti gli spazi dei nomi:
kubectl get pods -A > kubectl-pod-status`date +%Y.%m.%d_%H.%M.%S`.txt
- Il dump delle informazioni sul cluster Kubernetes:
Genera il dump delle informazioni sul cluster Kubernetes:
kubectl cluster-info dump -A --output-directory=/tmp/kubectl-cluster-info-dump
Comprimi il dump delle informazioni sul cluster Kubernetes:
zip -r kubectl-cluster-info-dump`date +%Y.%m.%d_%H.%M.%S`.zip /tmp/kubectl-cluster-info-dump/*