Resolving data plane extensibility issues

This section explains common Cloud Service Mesh data plane extensibility problems and how to resolve them. If you need additional assistance, see Getting support.

EnvoyFilter configuration issues

If you are having issues with EnvoyFilter configuration, use the following steps to troubleshoot:

  1. Validate that the EnvoyFilter CR status doesn't report any errors:

    kubectl get envoyfilter NAME  -n NAMESPACE  -o yaml
    
  2. Inspect the workload's envoy config dump to validate that the appropriate config has propagated. Since the config dump is usually vast, look for an unique identifier corresponding to the applied configuration, for example the patch name (envoy.filters.http.local_ratelimit) in the EnvoyFilter configuration.

    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. Various Envoy extensions emit extension-specific statistics at the workload level, for example statistics for local rate limit filter. These can be utilized to monitor the filter's operational state.

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