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 API de gestion exécutées pour la lecture et l'écriture de produits d'API, de développeurs et d'applications échouent.
Messages d'erreur
Cette section décrit les messages d'erreur possibles qui s'affichent en l'absence de connexion réseau.
ApigeeIssue
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 de l'interface utilisateur d'Apigee pour les produits d'API, les développeurs et les applications
Les pages de l'interface utilisateur d'Apigee pour les produits d'API, les développeurs et les applications 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 |
---|---|---|
Tous | Aucun itinéraire réseau disponible pour Internet | Si aucune route réseau n'est disponible pour Internet, les composants du plan d'exécution d'Apigee ne pourront pas communiquer avec les API du plan de contrôle d'Apigee. |
Tous | Les points de terminaison de l'API Apigee ne sont pas autorisés | 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 est effectué sur GKE, il est possible que l'accès privé à Google n'ait pas été activé dans le sous-réseau. |
Tous | Défaillance de réseau inconnue | Ce problème peut se produire en cas de défaillance inconnue du 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 en savoir plus sur la mise en réseau sur GKE, consultez la page Présentation du réseau.
- Demandez à 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 une route réseau à Internet si possible.
-
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 figurent pas sur 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 de l'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 la console Google Cloud, 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 concerné est activé. Si ce n'est pas le cas, il s'agit de la raison de cet échec.
Solution
-
Dans la console Google Cloud, 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 échecs inconnus dans le réseau du cluster.
Solution
Collaborez avec votre administrateur réseau et résolvez les problèmes dans le 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 Google Cloud Customer Care :
- ID de projet Google Cloud
- Nom de l'organisation Apigee Hybrid
- Les résultats des commandes suivantes exécutées sur tous les nœuds du 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
- Vidage cluster-info Kubernetes :
Générez un fichier de vidage cluster-info Kubernetes :
kubectl cluster-info dump -A --output-directory=/tmp/kubectl-cluster-info-dump
Fichier ZIP de vidage cluster-info Kubernetes :
zip -r kubectl-cluster-info-dump`date +%Y.%m.%d_%H.%M.%S`.zip /tmp/kubectl-cluster-info-dump/*