Estás consultando la documentación de Apigee y Apigee hybrid.
No hay documentación equivalente de
Apigee Edge sobre este tema.
Síntomas
- Los productos de API, los desarrolladores y las aplicaciones no se rellenan en la interfaz de Apigee.
- Los despliegues de proxies de API no se completan.
- Las solicitudes de la API Management que se ejecutan para leer y escribir productos de API, desarrolladores y aplicaciones fallan.
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 ha notificado como ApigeeIssue, cuando se ejecuta el siguiente comando:
kubectl -n APIGEE_NAMESPACE get apigeeissues
donde 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 la interfaz de usuario de Apigee de productos de API, desarrolladores y aplicaciones
En las páginas de la interfaz de usuario de Apigee Productos de API, Desarrolladores y Aplicaciones se muestra el siguiente error:
Error: no connections available from the Apigee connect agent(s): refer to documentation to triage further.
Registros de apigee-synchronizer
El siguiente mensaje de error se puede ver en los registros de 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 |
---|---|---|
Todo | No hay ninguna ruta de red disponible para Internet | Si no hay ninguna ruta de red disponible para Internet, los componentes del plano de tiempo de ejecución de Apigee no podrán comunicarse con las APIs del plano de control de Apigee. |
Todo | Los endpoints de la API de Apigee no están en la lista de permitidos | Si hay un cortafuegos, es posible que los endpoints de la API de Apigee no se hayan incluido en la lista de permitidos. |
GKE | El acceso privado de Google no está habilitado | Si la implementación se realiza en GKE, es posible que la función Acceso privado de Google no se haya habilitado en la subred. |
Todo | Error de red desconocido | Este problema puede producirse si se produce un error desconocido en la red del clúster al conectarse a Internet. |
Causa: No hay ninguna ruta de red disponible para Internet
Diagnóstico
- En función de la plataforma utilizada, comprueba si hay una ruta de red disponible desde la red del clúster a Internet. Por ejemplo, para obtener más información sobre las redes en GKE, consulta la información general sobre redes.
- Ponte en contacto con tu equipo de infraestructura y redes para comprobar si la red del clúster utiliza un servidor proxy directo para conectarse a Internet.
Resolución
- Ponte en contacto con el administrador de la red y añade una ruta de red a Internet si es posible.
-
Si se usa un servidor proxy de reenvío para la comunicación entre la red del clúster e Internet,
configura los ajustes del servidor proxy de reenvío en Apigee mediante el archivo
overrides.yaml
y aplica ese cambio al plano de tiempo de ejecución con el comando Helm:Prueba de funcionamiento:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=ENV_GROUP \ -f OVERRIDES_FILE \ --dry-run=server
Asegúrate de incluir todos los ajustes que se muestran, incluido
--atomic
para que la acción se revierta si falla.Es posible que tu instalación se haya configurado con un ENV_GROUP_RELEASE_NAME diferente de ENV_GROUP. Para obtener información sobre los ajustes, consulta Instalar Apigee hybrid con Helm.
Instala el gráfico:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=ENV_GROUP \ -f OVERRIDES_FILE
Causa: los endpoints de la API de Apigee no están en la lista de permitidos
Diagnóstico
Ponte en contacto con el administrador de la red y comprueba si la lista de endpoints de la API de Apigee está en la lista de permitidos del firewall de la plataforma en la que está instalada Apigee. En el caso de GKE, podría ser Cloud Next Generation Firewall.
Resolución
Si los endpoints de la API de Apigee de la lista anterior no están en la lista de permitidos, ponte en contacto con el administrador de la red y cumple ese requisito.
Causa: Acceso privado de Google no habilitado
Diagnóstico
- Si Apigee se implementa en un clúster privado de GKE que no tiene acceso a Internet, se debe habilitar Acceso privado de Google para permitir que los componentes del plano de ejecución de Apigee accedan a las APIs de Google de forma interna.
-
En la Google Cloud consola, ve a la página Redes de VPC.
- Haga clic en el nombre de una red.
- En la pestaña Subredes, en la columna Acceso privado de Google, comprueba que la subred correspondiente esté habilitada. Si no es así, ese es el motivo del fallo.
Resolución
-
En la Google Cloud consola, ve a la página Redes de VPC.
- Haga clic en el nombre de una red.
- Haga clic en el nombre de una subred.
- Haz clic en Editar.
- Selecciona Acceso privado de Google activado.
- Haz clic en Guardar. Una vez habilitada, este problema se resolverá.
Causa: fallo de red desconocido
Diagnóstico
Ponte en contacto con tu administrador de red y comprueba si hay errores desconocidos en la red del clúster.
Resolución
Colabora con tu administrador de red para resolver los problemas de la red del clúster. Una vez que se solucionen los problemas de red, este problema se resolverá.
Debe recoger información de diagnóstico
Si el problema persiste incluso después de seguir las instrucciones anteriores, recoge la siguiente información de diagnóstico y ponte en contacto con el equipo de Asistencia de Google Cloud:
- El Google Cloud ID del proyecto.
- Nombre de la organización de Apigee Hybrid.
- Los resultados de los siguientes comandos ejecutados 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 oculta la información sensible. - El 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 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
Comprime el volcado de información del clúster de Kubernetes:
zip -r kubectl-cluster-info-dump`date +%Y.%m.%d_%H.%M.%S`.zip /tmp/kubectl-cluster-info-dump/*