Cómo mostrar una lista de recursos de ruta

Este documento está destinado a los administradores de mallas que usan las APIs de enrutamiento de servicio para configurar mallas de servicios.

En el modelo de API de enrutamiento de servicio, los recursos Route se adjuntan a los recursos Mesh o Gateway. En su configuración, el recurso Mesh o Gateway hace referencia a uno o más recursos Route.

Si eres el propietario de un recurso Mesh o Gateway, puedes enumerar los recursos Route adjuntos a Mesh o Gateway.

Cada recurso Mesh o Gateway tiene una colección secundaria sintética de recursos RouteView. Cada RouteView corresponde a una sola Route. Los objetos RouteView se crean junto con los objetos Route.

En el siguiente diagrama, el RouteView para Gateway A consta de los recursos TCPRoute del proyecto A. El RouteView para Gateway B incluye los recursos HTTPRoute del proyecto B y los recursos GRPCRoute del proyecto C.

Las relaciones entre los recursos `Route`, `Routeview` y `Gateway`.
Las relaciones entre los recursos `Route`, `Routeview` y `Gateway` (haz clic para ampliar)

Esta función se limita al nivel Mesh o Gateway. Un RouteView para una Gateway o Mesh enumera las rutas adjuntas a esa Gateway o Mesh y no todas las rutas adjuntas al alcance asociado.

Para enumerar los recursos RouteView, ejecuta el siguiente comando:

gcloud alpha network-services route-views list \
    --location=global \
    --[mesh | gateway]=[ MESH_NAME | GATEWAY_NAME ]

Para obtener más información sobre la ruta, ejecuta el siguiente comando:

gcloud alpha network-services route-views describe --route-view=ROUTEVIEW_FULLNAME

Un flujo de trabajo común sería enumerar los RouteViews para una malla o una puerta de enlace y, luego, describir cada uno para obtener una descripción general completa de las rutas adjuntas.

No puedes crear, actualizar ni borrar recursos RouteView. Se crean, actualizan y borran cuando se crean, actualizan y borran sus recursos Route correspondientes.

Soluciona problemas

Si los comandos de route-views no pueden enumerar RouteViews para rutas como Listed 0 items. o no enumeran todas las rutas conocidas, haz lo siguiente:

  • Verifica que la malla o la puerta de enlace que se usa en el route-views list se haga referencia dentro de los campos meshes o gateways de la ruta, respectivamente, con lo siguiente:
    • gcloud network-services [http-routes|grpc-routes|tcp-routes|tls-routes] describe \
          --location global ROUTE_ID
  • Para los clientes con muchos recursos, crea un ticket de asistencia para obtener ayuda.
  • Activa manualmente una actualización para tus rutas.
    • Reimporta la ruta.
      1. gcloud network-services http-routes export my-route --location=global \
              --destination=export.yaml
      2. gcloud network-services http-routes import my-route --location=global \
              --source=export.yaml
    • Para los clientes que usan el cliente de NetworkServices generado, llama a la API de NetworkServices.Update*Route adecuada.
    • Modifica la descripción para activar la automatización de Terraform.

¿Qué sigue?