解决数据平面可扩展性问题

本部分介绍了常见的 Cloud Service Mesh 数据平面可扩展性问题以及如何解决这些问题。如果您需要其他帮助,请参阅获取支持

EnvoyFilter 配置问题

如果您在配置 EnvoyFilter 时遇到问题,请按照以下步骤进行问题排查:

  1. 验证 EnvoyFilter CR status 是否未报告任何错误:

    kubectl get envoyfilter NAME  -n NAMESPACE  -o yaml
    
  2. 检查工作负载的 Envoy 配置转储,以验证相应配置是否已传播。由于配置转储通常非常庞大,因此请查找与已应用的配置对应的唯一标识符,例如 EnvoyFilter 配置中的补丁名称 (envoy.filters.http.local_ratelimit)。

    gcloud beta container fleet mesh debug proxy-config POD_NAME .NAMESPACE  --type=listener --membership=<membership_id> --location=MEMBERSHIP_LOCATION  --project=PROJECT_ID  --output=yaml | grep IDENTIFIERS  -C SURROUNDING_LINES_OF_CONTEXT 
    
  3. 各种 Envoy 扩展程序会在工作负载级别发出特定于扩展程序的统计信息,例如本地速率限制过滤器的统计信息。这些可用于监控过滤器的运行状态。

    kubectl port-forward POD_NAME  -n NAMESPACE  15000:15000 &
    curl http://localhost:15000/stats | grep STAT_NAME