Nessuna connettività di rete tra il piano di runtime e quello di controllo

Stai visualizzando la documentazione relativa a Apigee e Apigee ibrido.
Non esiste una equivalente Documentazione di Apigee Edge 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 quando: nessuna connettività di rete.

ApigeeIssue

Se questo problema è stato segnalato come ApigeeIssue, quando il comando seguente viene eseguito:

kubectl -n APIGEE_NAMESPACE get apigeeissues

dove APIGEE_NAMESPACE è il nome 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 dei prodotti API, degli sviluppatori e delle app della UI di Apigee 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 su apigee-synchronizer log:

{"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, il runtime Apigee i componenti del piano non potranno comunicare con il controllo Apigee le API del piano di controllo.
Tutti Gli endpoint API Apigee non sono nella lista consentita Se è stato configurato un firewall, gli endpoint API Apigee potrebbero non aver inserito 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 Se si verifica un errore sconosciuto nella rete del cluster al momento della connessione a internet, questo problema potrebbe verificarsi.

Causa: nessuna route di rete disponibile per internet

Diagnosi

  1. A seconda della piattaforma utilizzata, verifica se è presente una route di rete disponibili dalla rete del cluster a internet. Ad esempio, per ulteriori informazioni sul networking su GKE, consulta Panoramica della rete.
  2. Verifica con il tuo team di infrastruttura e networking se il cluster utilizza un server proxy di inoltro per connettersi a internet.

Risoluzione

  1. Rivolgiti all'amministratore di rete e aggiungi una route di rete al se possibile.
  2. Se esiste un server proxy di inoltro utilizzato per la comunicazione tra tra la rete di cluster e internet, configurare le impostazioni del server proxy di inoltro in Apigee utilizzando overrides.yaml e applicare la modifica al runtime aereo.
    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 di endpoint API Apigee che si trovano nella lista consentita nel firewall la piattaforma su cui è installata la piattaforma Apigee. Per GKE, questo potrebbe essere Firewall di nuova generazione.

Risoluzione

Se l'elenco riportato sopra di endpoint API Apigee non è consentito, contatta il amministratore di rete e soddisfare questo requisito.

Causa: l'accesso privato Google non è abilitato

Diagnosi

  1. Se il deployment di Apigee viene eseguito un cluster GKE privato che non ha accesso a internet. . L'accesso privato Google deve essere abilitato per consentire ad Apigee l'accesso dei componenti del piano di runtime alle API di Google internamente.
  2. Nella console Google Cloud, vai alla pagina Reti VPC.

    Vai alle reti VPC

  3. Fai clic sul nome di una rete.
  4. Nella scheda Subnet, nella colonna Accesso privato Google, e verifica che la subnet pertinente sia abilitata. Se non è così, il motivo dell'errore.

Risoluzione

  1. Nella console Google Cloud, vai alla pagina Reti VPC.

    Vai alle reti VPC

  2. Fai clic sul nome di una rete.
  3. Fai clic sul nome di una subnet.
  4. Fai clic su Modifica.
  5. Seleziona Accesso privato Google On.
  6. 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 nel cluster in ogni rete. 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 riporta le seguenti informazioni diagnostiche e contatta l'assistenza clienti Google Cloud:

  1. L'ID del progetto Google Cloud.
  2. Il nome dell'organizzazione Apigee ibrida.
  3. 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
  4. Il file overrides.yaml, mascherando le informazioni sensibili.
  5. 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
  6. 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/*