Vous consultez la documentation d'Apigee et d'Apigee hybrid.
Il n'existe pas de documentation Apigee Edge équivalente pour ce sujet.
Symptômes
- Les produits d'API, les développeurs et les applications ne sont pas renseignés dans l'interface utilisateur d'Apigee.
- Les déploiements de proxy d'API ne se terminent pas.
- Les requêtes de l'API Management gérées pour la lecture et l'écriture des produits d'API, des développeurs et des applications échouent.
Messages d'erreur
Cette section décrit les messages d'erreur possibles en l'absence de connectivité réseau.
Problème Apigee
Si ce problème a été signalé en tant que problème Apigee, lorsque la commande suivante est exécutée:
kubectl -n APIGEE_NAMESPACE get apigeeissues
où APIGEE_NAMESPACE est le nom d'un regroupement de ressources Kubernetes.
le code d'erreur suivant s'affiche:
NAME SEVERITY AGE URL control-plane-connectivity-failure Error 1hr https://cloud.google.com/apigee/docs/api-platform/troubleshoot/playbooks/no-network-connectivity
Pages d'interface utilisateur des produits d'API, des développeurs et des applications
Les pages d'interface utilisateur des produits, des développeurs et des applications Apigee affichent l'erreur suivante:
Error: no connections available from the Apigee connect agent(s): refer to documentation to triage further.
Journaux apigee-synchronizer
Le message d'erreur suivant peut s'afficher dans les journaux 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)
Journaux apigee-watcher
Le message d'erreur suivant peut s'afficher dans les journaux 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"}
Causes possibles :
Plate-forme | Cause | Description |
---|---|---|
Tout | Aucune route réseau disponible sur Internet | Si aucune route réseau n'est disponible sur Internet, les composants du plan d'exécution Apigee ne pourront pas communiquer avec les API du plan de contrôle Apigee. |
Tout | Les points de terminaison de l'API Apigee ne sont pas ajoutés à la liste d'autorisation | Si un pare-feu est en place, il est possible que les points de terminaison de l'API Apigee n'aient pas été ajoutés à la liste d'autorisation. |
GKE | L'accès privé à Google n'est pas activé | Si le déploiement s'effectue sur GKE, il est possible que l'accès privé à Google n'ait pas été activé dans le sous-réseau. |
Tout | Défaillance de réseau inconnue | Ce problème peut survenir en cas de défaillance inconnue dans le réseau du cluster lors de la connexion à Internet. |
Cause: aucune route réseau disponible sur Internet
Diagnostic
- Selon la plateforme utilisée, vérifiez si une route réseau est disponible du réseau du cluster vers Internet. Par exemple, pour plus d'informations sur la mise en réseau sur GKE, consultez la page Présentation du réseau.
- Vérifiez auprès de votre équipe d'infrastructure et de réseau si le réseau de cluster utilise un serveur proxy de transfert pour se connecter à Internet.
Solution
- Contactez l'administrateur réseau et ajoutez si possible une route réseau sur Internet.
-
Si un serveur proxy de transfert est utilisé pour la communication entre le réseau du cluster et Internet,
configurez les paramètres de serveur proxy de transfert dans Apigee à l'aide du fichier
overrides.yaml
et appliquez cette modification au plan d'exécution.apigeectl apply --settings virtualhosts -f overrides/overrides.yaml
Cause: Les points de terminaison de l'API Apigee ne sont pas ajoutés à la liste d'autorisation
Diagnostic
Contactez l'administrateur réseau et vérifiez si la liste des points de terminaison d'API Apigee figure sur la liste d'autorisation dans le pare-feu de la plateforme sur laquelle Apigee est installé. Pour GKE, il peut s'agir du pare-feu Cloud nouvelle génération.
Solution
Si la liste ci-dessus des points de terminaison d'API Apigee ne figure pas sur la liste d'autorisation, contactez l'administrateur réseau et remplissez cette exigence.
Cause: l'accès privé à Google n'est pas activé
Diagnostic
- Si Apigee est déployé sur un cluster GKE privé qui n'a pas accès à Internet, l' accès privé à Google doit être activé pour permettre aux composants du plan d'exécution Apigee d'accéder aux API Google en interne.
-
Dans Google Cloud Console, accédez à la page Réseaux VPC.
- Cliquez sur le nom d'un réseau.
- Dans l'onglet Sous-réseaux, dans la colonne Accès privé à Google, vérifiez que le sous-réseau approprié est activé. Si ce n'est pas le cas, c'est la raison de cet échec.
Solution
-
Dans Google Cloud Console, accédez à la page Réseaux VPC.
- Cliquez sur le nom d'un réseau.
- Cliquez sur le nom d'un sous-réseau.
- Cliquez sur Modifier.
- Sélectionnez Accès privé à Google activé.
- Cliquez sur Enregistrer. Une fois l'accès activé, ce problème sera résolu.
Cause: défaillance de réseau inconnue
Diagnostic
Contactez votre administrateur réseau et vérifiez s'il existe des défaillances inconnues dans le réseau du cluster.
Solution
Collaborez avec votre administrateur réseau pour résoudre les problèmes liés au réseau du cluster. Une fois les problèmes réseau résolus, ce problème sera résolu.
Vous devez collecter des informations de diagnostic
Si le problème persiste, même après avoir suivi les instructions ci-dessus, rassemblez les informations de diagnostic suivantes, puis contactez l'assistance Apigee :
- ID de projet Google Cloud
- Nom de l'organisation Apigee Hybrid
- Les résultats des commandes suivantes sont exécutées sur tous les nœuds de cluster Kubernetes:
ping apigee.googleapis.com
traceroute apigee.googleapis.com
telnet apigee.googleapis.com 443
- Le fichier
overrides.yaml
, en masquant toutes les informations sensibles. - État du pod Kubernetes dans tous les espaces de noms :
kubectl get pods -A > kubectl-pod-status`date +%Y.%m.%d_%H.%M.%S`.txt
- Le fichier de vidage cluster-info Kubernetes:
Générez le fichier de vidage cluster-info Kubernetes:
kubectl cluster-info dump -A --output-directory=/tmp/kubectl-cluster-info-dump
Compressez les informations du cluster Kubernetes au format Zip:
zip -r kubectl-cluster-info-dump`date +%Y.%m.%d_%H.%M.%S`.zip /tmp/kubectl-cluster-info-dump/*