本節說明常見的 Cloud Service Mesh 問題,以及如何解決這些問題。如需其他協助,請參閱「取得支援」一文。
檢查 MembershipState
您隨時可以執行下列指令,查看網格的最新狀態:
gcloud container fleet mesh describe
輸出結果會與下列內容類似:
...
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
...
{"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"}]}
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["難以理解","hardToUnderstand","thumb-down"],["資訊或程式碼範例有誤","incorrectInformationOrSampleCode","thumb-down"],["缺少我需要的資訊/範例","missingTheInformationSamplesINeed","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-09-04 (世界標準時間)。"],[],[],null,["Resolving configuration issues\n\nThis section explains common Cloud Service Mesh problems and how to resolve them.\nIf you need additional assistance, see [Getting support](/service-mesh/docs/getting-support).\n\nChecking MembershipState\n\nAt any time you can check the most recent status of the mesh by running the following command: \n\n gcloud container fleet mesh describe\n\nThe output is similar to: \n\n ...\n membershipSpecs:\n projects/project_id/locations/global/memberships/cluster:\n mesh:\n management: MANAGEMENT_AUTOMATIC\n membershipStates:\n projects/project_id/locations/global/memberships/cluster:\n servicemesh:\n ...\n conditions:\n - code: CONFIG_VALIDATION_WARNING\n documentationLink: https://cloud.google.com/...\n details: Application of one or more configs has failed. Error details are shown on individual config resources. See documentation link for more detail.\n severity: WARNING\n ...\n\nMembershipState Error Codes\n\nIf 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.\n\n| **Error Code** | **Cause** | **Resolution** |\n|-------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `CONFIG_APPLY_INTERNAL_ERROR` | One or more configs failed to be applied due to an internal error. | Contact customer support. |\n| `QUOTA_EXCEEDED_*` | One or more configs failed to be applied due to resources reaching a quota limit. | See [Quotas](/service-mesh/quotas) for information on the specific quotas and how to raise them. |\n| `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](#configuration_validation_errors). |\n| `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). |\n| `MULTICLUSTER_SECRET_WARNING` | The cluster is using a manually created Istio multi-cluster secret instead of using the declarative multi-cluster API for endpoint discovery. | Move multi-cluster endpoint discovery setup to the declarative implementation. More information can be seen in the [Multi-cluster Secrets](/service-mesh/docs/migrate/modernization-configuration-updates#multicluster_secrets) page. |\n| `WORKLOAD_IDENTITY_REQUIRED` | Workload identity is not enabled for the cluster or at least one of the node pools. | Enable workload identity at cluster and nodepool level. For instructions, see [Enable workload identity](/service-mesh/docs/migrate/modernization-configuration-updates#enable_workload_identity) page. |\n| `MANAGED_CNI_NOT_ENABLED` | Managed CNI is not enabled for this cluster. | Enable Managed CNI to maintain best practices within your mesh. More information can be seen in the [Enable managed CNI](/service-mesh/docs/migrate/modernization-configuration-updates#enable_managed_cni) page. |\n| `NON_STANDARD_SIDECAR_BINARY_USAGE` | One or more commands within Istio containers are using binaries other than \\`envoy\\`, \\`pilot_agent\\`, or \\`iptables\\`. | Remove dependency on unsupported binaries. More information can be seen in the [Unsupported binary usage](/service-mesh/docs/migrate/modernization-configuration-updates#nonstandard_sidecar_binary_usage) page. |\n| `UNSUPPORTED_GATEWAY_CLASS_USAGE` | The cluster is configured with gateway classes (Istio and Anthos Service Mesh) that require migration to the Istio Ingress Gateway to align with best practices. | Refer to the [documentation](/service-mesh/docs/migrate/modernization-configuration-updates#migrate_to_the_istio_ingress_gateway) for the detailed instructions |\n\nConfiguration Validation Errors\n\n`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.\n\nMany 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). \n\n for resource in serviceentries destinationrules virtualservices gateways peerauthentications authorizationpolicies requestauthentications sidecars telemetries envoyfilters;\n do kubectl get $resource --all-namespaces --output=json | \\\n 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}';\n done\n\nThe output is similar to: \n\n {\n \"name\": \"demo-envoy-filter\",\n \"namespace\": \"default\",\n \"kind\": \"EnvoyFilter\",\n \"conditions\": [\n {\n \"lastTransitionTime\": \"2024-04-04T21:10:18.046975988Z\",\n \"message\": \"This API is not supported\",\n \"reason\": \"Invalid\",\n \"status\": \"False\",\n \"type\": \"Accepted\"\n }\n ]\n }"]]