Stai visualizzando la documentazione di Apigee e Apigee hybrid.
Non esiste una documentazione
Apigee Edge equivalente per questo argomento.
Sintomi
- I prodotti API, gli sviluppatori e le app non vengono compilati nell'interfaccia utente Apigee.
- I deployment dei proxy API non vengono completati.
- Le richieste dell'API Management eseguite per la lettura e la scrittura di prodotti API, sviluppatori e app non vanno a buon fine.
Messaggi di errore
Questa sezione descrive i possibili messaggi di errore visualizzati quando non è presente connettività di rete.
ApigeeIssue
Se questo problema è stato segnalato come ApigeeIssue, quando viene eseguito il seguente comando:
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 Apigee per prodotti API, sviluppatori e app
Le pagine dell'interfaccia utente di Apigee relative a prodotti API, sviluppatori e app mostrano il seguente errore:
Error: no connections available from the Apigee connect agent(s): refer to documentation to triage further.
apigee-synchronizer logs
Nei log di apigee-synchronizer è possibile visualizzare il seguente messaggio di errore:
{"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 di 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 |
|---|---|---|
| Tutti | Nessun percorso di rete disponibile per internet | Se non è disponibile alcun percorso di rete a internet, i componenti del piano di runtime Apigee non potranno comunicare con le API del control plane Apigee. |
| Tutti | Gli endpoint API Apigee non sono inclusi nella lista consentita | Se è presente un firewall, gli endpoint API Apigee potrebbero non essere stati aggiunti alla 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 può verificarsi se si verifica un errore sconosciuto nella rete del cluster durante la connessione a internet. |
Causa: nessun percorso 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.
- Rivolgiti al team di infrastruttura e networking per verificare se la rete del cluster utilizza un server proxy di inoltro per la connessione a internet.
Risoluzione
- Rivolgiti all'amministratore di rete e aggiungi una route di rete a internet, se possibile.
-
Se viene utilizzato un server proxy di inoltro per la comunicazione tra la
rete del cluster e internet,
configura le impostazioni del server proxy di inoltro in Apigee utilizzando il
file
overrides.yamle applica la modifica al piano di runtime utilizzando il comando Helm:Prova:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=ENV_GROUP \ -f OVERRIDES_FILE \ --dry-run=server
Assicurati di includere tutte le impostazioni mostrate, incluso
--atomicin modo che l'azione venga annullata in caso di errore.La tua installazione potrebbe essere stata configurata o meno utilizzando un ENV_GROUP_RELEASE_NAME diverso da ENV_GROUP. Per informazioni sulle impostazioni, vedi Installare Apigee Hybrid utilizzando Helm.
Installa il grafico:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=ENV_GROUP \ -f OVERRIDES_FILE
Causa: gli endpoint API Apigee non sono inclusi nella lista consentita
Diagnosi
Contatta l'amministratore di rete e verifica se l'elenco degli endpoint API Apigee è incluso nella lista consentita del firewall sulla piattaforma in cui è installato Apigee. Per GKE, potrebbe trattarsi di Cloud Next Generation Firewall.
Risoluzione
Se l'elenco precedente di endpoint API Apigee non è incluso nella lista consentita, contatta l'amministratore di rete e completa questo requisito.
Causa: l'accesso privato Google non è abilitato
Diagnosi
- Se Apigee viene implementato 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 di Apigee di accedere internamente alle API di Google.
-
Nella console Google Cloud , vai alla pagina Reti VPC.
- Fai clic sul nome di un'emittente.
- Nella scheda Subnet, nella colonna Accesso privato Google, verifica che la subnet pertinente sia abilitata. In caso contrario, questo è il motivo dell'errore.
Risoluzione
-
Nella console Google Cloud , vai alla pagina Reti VPC.
- Fai clic sul nome di un'emittente.
- Fai clic sul nome di una subnet.
- Fai clic su Modifica.
- Seleziona Accesso privato Google attivo.
- Fai clic su Salva. Una volta abilitato, il problema verrà risolto.
Causa: errore di rete sconosciuto
Diagnosi
Contatta l'amministratore di rete e verifica se si sono verificati 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.
Deve raccogliere informazioni diagnostiche
Se il problema persiste anche dopo aver seguito le istruzioni riportate sopra, raccogli le seguenti informazioni diagnostiche e poi contatta l'assistenza clienti Google Cloud:
- L'ID progetto Google Cloud .
- Il nome dell'organizzazione Apigee hybrid.
- 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 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
- Dump di cluster-info di Kubernetes:
Genera il dump di cluster-info di Kubernetes:
kubectl cluster-info dump -A --output-directory=/tmp/kubectl-cluster-info-dump
Comprimi il dump di cluster-info di Kubernetes:
zip -r kubectl-cluster-info-dump`date +%Y.%m.%d_%H.%M.%S`.zip /tmp/kubectl-cluster-info-dump/*