Estás viendo la documentación de Apigee y Apigee hybrid.
No hay documentación de Apigee Edge equivalente para este tema.
Síntomas
- Los productos de API, los desarrolladores y las aplicaciones no se propagan en la IU de Apigee.
- Las implementaciones de proxy de API no se completan.
- Las solicitudes a la API de Management ejecutadas para leer y escribir productos de API, desarrolladores y aplicaciones fallan./li>
Mensajes de error
En esta sección, se describen los posibles mensajes de error que se muestran cuando no hay conectividad de red.
ApigeeIssue
Si este problema se informó como ApigeeIssue, cuando se ejecuta el siguiente comando:
kubectl -n APIGEE_NAMESPACE get apigeeissues
En el ejemplo anterior, APIGEE_NAMESPACE es el nombre de una agrupación de recursos de Kubernetes.
se muestra el siguiente código de error:
NAME SEVERITY AGE URL control-plane-connectivity-failure Error 1hr https://cloud.google.com/apigee/docs/api-platform/troubleshoot/playbooks/no-network-connectivity
Páginas de IU de Apigee, productos de API, desarrolladores y apps
Las páginas de productos de API, desarrolladores y apps de la IU de Apigee muestran el siguiente error:
Error: no connections available from the Apigee connect agent(s): refer to documentation to triage further.
Registros de apigee-synchronizer
Se puede ver el siguiente mensaje de error en los registros 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)
Registros de apigee-watcher
El siguiente mensaje de error se puede ver en los registros de 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"}
Causas posibles
Plataforma | Causa | Descripción |
---|---|---|
Todos | No hay una ruta de red disponible en Internet | Si no hay una ruta de red disponible en Internet, los componentes del plano del entorno de ejecución de Apigee no podrán comunicarse con las APIs del plano de control de Apigee. |
Todos | Los extremos de la API de Apigee no están en la lista de entidades permitidas | Si se implementó un firewall, es posible que los extremos de la API de Apigee no se hayan incluido en la lista de entidades permitidas. |
GKE | El Acceso privado a Google no está habilitado | Si la implementación está en GKE, es posible que el Acceso privado a Google no esté habilitado en la subred. |
Todos | Falla de red desconocida | Si hay una falla desconocida en la red del clúster cuando se conecta a Internet, puede ocurrir este problema. |
Causa: No hay una ruta de red disponible en Internet
Diagnóstico
- Según la plataforma que se use, verifica si hay una ruta de red disponible desde la red del clúster hacia Internet. Por ejemplo, para obtener más información sobre las herramientas de redes en GKE, consulta Descripción general de la red.
- Consulta con tu equipo de infraestructura y redes a fin de ver si la red del clúster usa un servidor proxy de reenvío para conectarse a Internet.
Solución
- Consulta con el administrador de red y agrega una ruta de red a Internet si es posible.
-
Si hay un servidor proxy de reenvío que se usa para la comunicación entre Internet y la red del clúster, establece la configuración del servidor proxy de reenvío en Apigee mediante el archivo
overrides.yaml
y aplicar ese cambio al plano del entorno de ejecución.apigeectl apply --settings virtualhosts -f overrides/overrides.yaml
Causa: Los extremos de la API de Apigee no están en la lista de entidades permitidas
Diagnóstico
Consulta con el administrador de red y verifica si la lista de extremos de la API de Apigee está en la lista de entidades permitidas en el firewall en la plataforma en la que está instalado Apigee. Para GKE, podría ser Cloud Next Generation Firewall.
Solución
Si la lista anterior de extremos de la API de Apigee no está en la lista de entidades permitidas, comunícate con el administrador de red y completa ese requisito.
Causa: El Acceso privado a Google no está habilitado
Diagnóstico
- Si Apigee se implementa en un clúster de GKE privado que no tiene acceso a Internet, el Acceso privado a Google debe ser habilitado para permitir que los componentes del plano del entorno de ejecución de Apigee accedan a las APIs de Google de forma interna.
-
En la consola de Google Cloud, ve a la página Redes de VPC.
- Haz clic en el nombre de una red.
- En la pestaña Subredes, en la columna Acceso privado a Google, verifica que la subred relevante esté habilitada. Si no es así, ese es el motivo de esta falla.
Solución
-
En la consola de Google Cloud, ve a la página Redes de VPC.
- Haz clic en el nombre de una red.
- Haz clic en el nombre de una subred.
- Haz clic en Editar.
- Selecciona Acceso privado a Google activado.
- Haz clic en Guardar. Una vez habilitado, se resolverá este problema.
Causa: Falla desconocida de la red
Diagnóstico
Comunícate con el administrador de tu red y verifica si hay fallas desconocidas en la red del clúster.
Solución
Trabaja con el administrador de red y resuelve los problemas en la red del clúster. Una vez que se solucionen los problemas de red, se resolverá este problema.
Se debe recopilar información de diagnóstico
Si el problema persiste incluso después de seguir las instrucciones anteriores, recopila la siguiente información de diagnóstico y, luego, comunícate con Asistencia de Apigee:
- El ID del proyecto de Google Cloud.
- El nombre de la organización de Apigee hybrid.
- Los resultados de los siguientes comandos se ejecutan en todos los nodos del clúster de Kubernetes:
ping apigee.googleapis.com
traceroute apigee.googleapis.com
telnet apigee.googleapis.com 443
- El archivo
overrides.yaml
, que enmascara la información sensible. - Estado del Pod de Kubernetes en todos los espacios de nombres:
kubectl get pods -A > kubectl-pod-status`date +%Y.%m.%d_%H.%M.%S`.txt
- El volcado de la información del clúster de Kubernetes:
Genera un volcado de información del clúster de Kubernetes:
kubectl cluster-info dump -A --output-directory=/tmp/kubectl-cluster-info-dump
Volcado de información del clúster de Kubernetes mediante Zip:
zip -r kubectl-cluster-info-dump`date +%Y.%m.%d_%H.%M.%S`.zip /tmp/kubectl-cluster-info-dump/*