No hay conectividad de red entre el plano de entorno de ejecución y el plano de control

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

  1. 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.
  2. 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

  1. Consulta con el administrador de red y agrega una ruta de red a Internet si es posible.
  2. 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

  1. 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.
  2. En la consola de Google Cloud, ve a la página Redes de VPC.

    Ir a las redes de VPC

  3. Haz clic en el nombre de una red.
  4. 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

  1. En la consola de Google Cloud, ve a la página Redes de VPC.

    Ir a las redes de VPC

  2. Haz clic en el nombre de una red.
  3. Haz clic en el nombre de una subred.
  4. Haz clic en  Editar.
  5. Selecciona Acceso privado a Google activado.
  6. 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:

  1. El ID del proyecto de Google Cloud.
  2. El nombre de la organización de Apigee hybrid.
  3. 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
  4. El archivo overrides.yaml, que enmascara la información sensible.
  5. 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
  6. 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/*