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

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

EnvoyFilter 配置问题

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

  1. 验证 EnvoyFilter CR status 是否报告任何错误或警告。Warning 状态条件可能表示一个或多个配置补丁程序被丢弃。如需了解详情,请参阅 配置补丁程序评估和部分处理

    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