Stai visualizzando la documentazione di Apigee e Apigee hybrid.
Non esiste una documentazione equivalente di
Apigee Edge per questo argomento.
Sintomi
- I prodotti API, gli sviluppatori e le app non vengono inseriti nell'interfaccia utente di Apigee.
- I deployment del proxy API non vengono completati.
- Le richieste API di gestione eseguite per lettura e scrittura di prodotti API, errori per gli sviluppatori e le app.</li>
Messaggi di errore
In questa sezione vengono descritti i possibili messaggi di errore visualizzati in assenza di connettività di rete.
ApigeeIssue
Se questo problema è stato segnalato come ApigeeIssue, 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 dell'interfaccia utente di Apigee per prodotti API, sviluppatori e app
Le pagine dell'interfaccia utente di Apigee dei prodotti API, degli sviluppatori e delle app mostrano il seguente errore:
Error: no connections available from the Apigee connect agent(s): refer to documentation to triage further.
Log Apigee-synchronizer
Il seguente messaggio di errore è visibile nei log 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
Nei log di apigee-watcher
è possibile visualizzare il seguente messaggio di errore:
{"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 |
---|---|---|
Tutte | Nessuna route di rete disponibile per internet | Se non è disponibile alcuna route di rete su internet, i componenti del piano di runtime Apigee non potranno comunicare con le API del piano di controllo Apigee. |
Tutte | Gli endpoint API Apigee non sono inclusi nella lista consentita | Se è attivo 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. |
Tutte | Errore di rete sconosciuto | Questo problema potrebbe verificarsi se si è verificato 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 saperne di più sul networking su GKE, consulta la panoramica della rete.
- Verifica con il team dell'infrastruttura e del 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 la comunicazione 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 inclusi nella lista consentita
Diagnosi
Verifica con l'amministratore di rete se l'elenco degli endpoint API Apigee è incluso nella lista consentita nel firewall sulla piattaforma in cui è installata Apigee. Per GKE, potrebbe trattarsi di firewall di Cloud Next Generation.
Risoluzione
Se l'elenco precedente 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 viene eseguito il deployment di Apigee su un cluster GKE privato che non ha accesso a internet, è necessario abilitare l' accesso privato Google per consentire ai componenti del piano di runtime di 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, verifica che la subnet pertinente sia abilitata nella colonna Accesso privato Google. In caso contrario, 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 attivo.
- 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 verranno risolti.
Deve raccogliere dati diagnostici
Se il problema persiste anche dopo aver seguito le istruzioni riportate sopra, raccogli le seguenti informazioni diagnostiche e contatta l'assistenza Apigee:
- L'ID progetto Google Cloud.
- Il nome dell'organizzazione ibrida Apigee.
- Gli output dei seguenti comandi eseguiti su tutti i nodi dei cluster Kubernetes:
ping apigee.googleapis.com
traceroute apigee.googleapis.com
telnet apigee.googleapis.com 443
- Il file
overrides.yaml
, che maschera eventuali 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 di Kubernetes:
Genera un dump delle informazioni sul cluster di Kubernetes:
kubectl cluster-info dump -A --output-directory=/tmp/kubectl-cluster-info-dump
Zip Kubernetes con dump delle informazioni sul cluster:
zip -r kubectl-cluster-info-dump`date +%Y.%m.%d_%H.%M.%S`.zip /tmp/kubectl-cluster-info-dump/*