Resolving configuration issues
This section explains common Cloud Service Mesh problems and how to resolve them. If you need additional assistance, see Getting support.
Checking MembershipState
At any time you can check the most recent status of the mesh by running the following command:
gcloud container fleet mesh describe
The output is similar to:
...
membershipSpecs:
projects/project_id/locations/global/memberships/cluster:
mesh:
management: MANAGEMENT_AUTOMATIC
membershipStates:
projects/project_id/locations/global/memberships/cluster:
servicemesh:
...
conditions:
- code: CONFIG_VALIDATION_WARNING
documentationLink: https://cloud.google.com/...
details: Application of one or more configs has failed. Error details are shown on individual config resources. See documentation link for more detail.
severity: WARNING
...
MembershipState Error Codes
If Cloud Service Mesh reports conditions to the MembershipState for a cluster, it could mean Mesh configurations (such as Istio Custom Resources) were not able to be applied. The following error code descriptions give more information on how to address them.
Error Code | Cause | Resolution |
---|---|---|
CONFIG_APPLY_INTERNAL_ERROR |
One or more configs failed to be applied due to an internal error. | Please contact customer support. |
QUOTA_EXCEEDED_* |
One or more configs failed to be applied due to resources reaching a quota limit. | See Quotas for information on the specific quotas and how to raise them. |
CONFIG_VALIDATION_ERROR |
One or more configs failed to be applied due to invalid configuration. | Specific errors are written to the configs that caused them. More information on how to diagnose these is described in the section: Configuration Validation errors. |
CONFIG_VALIDATION_WARNING |
We encountered potential problems in one or more configs. These may not have been applied, and if they have been applied, there may be unintended behavior. | More information on how to diagnose these is described in the section: Configuration Validation errors. |
Configuration Validation Errors
CONFIG_VALIDATION_WARNING
and CONFIG_VALIDATION_ERROR
codes indicate problems were found on mesh configs (Istio or Kubernetes Custom Resources) and that a subset of configs may not have been properly applied.
Many per-resource error details are written to the applicable resource. The following command can be used to locate the invalid configs and view the specific error messages. (Note: these are specifically for Istio resources, and not all validation errors may be displayed here).
for resource in serviceentries destinationrules virtualservices gateways peerauthentications authorizationpolicies requestauthentications sidecars telemetries envoyfilters;
do kubectl get $resource --all-namespaces --output=json | \
jq '.items[] | select(.status.conditions != null and any(.status.conditions[]; .type == "Accepted" and .status == "False")) | {"name": .metadata.name, "namespace": .metadata.namespace, "kind": .kind, "conditions": .status.conditions}';
done
The output is similar to:
{
"name": "demo-envoy-filter",
"namespace": "default",
"kind": "EnvoyFilter",
"conditions": [
{
"lastTransitionTime": "2024-04-04T21:10:18.046975988Z",
"message": "This API is not supported",
"reason": "Invalid",
"status": "False",
"type": "Accepted"
}
]
}