了解功能状态条件
注意:Cloud Service Mesh 1.6.8 及更高版本会自动支持规范化服务。
本页面介绍了如何解释 Cloud Service Mesh 集群或舰队中报告的条件并采取相应措施。
如需检查条件,请运行以下命令:
gcloud container fleet mesh describe --project FLEET_PROJECT
输出可能包含集群的 membershipStates
中的 conditions
,如下所示:
...
membershipStates:
projects/test-project/locations/us-central1/memberships/my-membership:
servicemesh:
conditions:
- code: <CONDITION_CODE>
details: ...
documentationLink: ....
severity: ...
如需详细了解 code
的值,请参阅此页面。
NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED
您可能会在会员资格的 Conditions
字段中看到 NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED
错误代码:
membershipStates:
projects/test-project/locations/us-central1/memberships/my-membership:
servicemesh:
conditions:
- code: NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED
details: One or more node pools have workload identity federation disabled.
documentationLink: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity
severity: ERROR
controlPlaneManagement:
details:
- code: REVISION_FAILED_PRECONDITION
details: Required in-cluster components are not ready. This will be retried
within 15 minutes.
implementation: TRAFFIC_DIRECTOR
state: FAILED_PRECONDITION
如果 GKE 集群未在该集群的所有节点池上启用工作负载身份联合,则会显示此错误,因为这是安装 Cloud Service Mesh 的前提条件。
如需解决此错误消息,您必须按照说明在所有节点池上启用工作负载身份联合。请注意,启用方式可能会因特定集群情况而异。
启用后,错误消息应会自动移除,并且您的集群应会恢复到 ACTIVE
状态。如果问题仍然存在,且您需要其他帮助,请参阅获取支持。
MESH_IAM_PERMISSION_DENIED
此错误表示服务账号没有足够的权限来访问您的舰队项目。请按照以下步骤排查问题:
验证您的服务账号是否已授予
Anthos Service Mesh Service Agent
角色。如需详细了解如何验证 IAM 权限并添加权限,请参阅修订版本报告运行状况不佳错误,并使用其中的相同步骤。如果问题仍然存在,请与 Google 客户支持团队联系,以获得更多帮助。
MESH_IAM_CROSS_PROJECT_PERMISSION_DENIED
此错误表示舰队项目服务账号没有足够的权限来访问其他项目(集群项目或网络项目)。
对于共享 VPC,请务必在共享 VPC 网络项目中向所有舰队项目服务账号授予 Anthos Service Mesh Service Agent
角色。
对于 GKE 舰队项目和集群项目场景,请务必在集群项目中向舰队项目服务账号授予 Anthos Service Mesh Service Agent
角色。
示例问题排查命令:
验证您的网络项目或集群项目服务账号是否已向舰队项目服务账号授予
Anthos Service Mesh Service Agent
角色。如果没有,请运行以下命令:gcloud projects add-iam-policy-binding NETWORK_OR_CLUSTER_PROJECT_ID \ --member "serviceAccount:service-FLEET_PROJECT_NUMBER@gcp-sa-servicemesh.iam.gserviceaccount.com" \ --role roles/anthosservicemesh.serviceAgent
此外,请确认您没有任何自动化操作会移除此绑定。
如果问题仍然存在,请与 Google 客户支持团队联系,以获得更多帮助。