列出“Route”资源

本文档面向使用服务路由 API 配置服务网格的网格管理员。

在服务路由 API 模型中,Route 资源会附加到 MeshGateway 资源。在其配置中,MeshGateway 资源引用一个或多个 Route 资源。

如果您是 MeshGateway 资源的所有者,则可以列出与 MeshGateway 关联的 Route 资源。

每个 MeshGateway 资源都有 RouteView 资源的综合子集合。每个 RouteView 对应一个 RouteRouteView 对象会与 Route 对象一起创建。

在下图中,Gateway A 的 RouteView 由项目 A 中的 TCPRoute 资源组成。Gateway B 的 RouteView 由项目 B 中的 HTTPRoute 资源和项目 C 中的 GRPCRoute 资源组成。

`Route`、`Routeview` 和 `Gateway` 资源之间的关系。
“Route”“Routeview”和“Gateway”资源之间的关系。点击可放大。

此功能的范围限定为 MeshGateway 级别。GatewayMeshRouteView 会列出附加到该 GatewayMesh 的路由,而不是附加到关联范围的所有路由。

如需列出 RouteView 资源,请发出以下命令:

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

如需详细了解路线本身,请发出以下命令:

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

常见的工作流程是列出网格或网关的 RouteViews,然后对每个 RouteViews 进行描述,以便全面了解所附加的路由。

您无法创建、更新或删除 RouteView 资源。当相应的 Route 资源被创建、更新和删除时,这些数据集也会被创建、更新和删除。

问题排查

如果 route-views 命令未能为 Listed 0 items. 等路由列出 RouteView,或者未列出所有已知路由,请执行以下操作:

  • 使用以下命令验证 route-views list 中使用的 Mesh 或网关是否分别在路线的 meshesgateways 字段中引用:
    • gcloud network-services [http-routes|grpc-routes|tcp-routes|tls-routes] describe \
          --location global ROUTE_ID
  • 对于拥有大量资源的客户,请创建支持服务工单以获取帮助。
  • 手动触发路线更新
    • 重新导入路线
      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
    • 对于使用生成的 NetworkServices 客户端的客户,请调用适当的 NetworkServices.Update*Route API。
    • 修改说明以触发 Terraform 自动化操作。

后续步骤