列出“Route”资源

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

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

如果您是 MeshGateway 资源的所有者,可以将Route 挂接到 MeshGateway 的资源。

每个 MeshGateway 资源都有一个合成子集合,即 RouteView 资源。每个 RouteView 对应一个 RouteRouteView 个对象 与 Route 对象一起创建。

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

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

此功能的范围限定为 MeshGateway 级别。一个 RouteView,用于 GatewayMesh 会列出附加到该 GatewayMesh(而非 附加到关联范围的所有路由。

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

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

要获取有关 Route 本身的更多信息,请发出以下命令:

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

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

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

问题排查

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

  • 验证 route-views list 中使用的网状网或网关 在 Route 的 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 自动化操作。

后续步骤