You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GKE Autopilot集群获取身份令牌返回404问题排查求助

排查GKE Pod中获取身份令牌返回404的问题

1. 修正元数据服务器地址

GKE Pod内的元数据服务器正确地址是http://metadata.google.internal,你当前使用的http://metadata缺少.google.internal后缀,这是导致404的核心原因。修正后的命令:

wget -q -O - --header 'Metadata-Flavor:Google' 'http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/identity?audience=test&format=full&licences=TRUE'

2. 验证Workload Identity绑定状态

Autopilot默认启用Workload Identity,但需确认Kubernetes服务账号(KSA)与Google Cloud服务账号(GSA)的绑定关系:

  • 执行gcloud iam service-accounts get-iam-policy [你的GSA邮箱],检查是否存在roles/iam.workloadIdentityUser权限授予serviceAccount:[你的项目ID].svc.id.goog[命名空间/KS名称]
  • 确认Deployment配置中serviceAccountName字段指向的KSA存在且配置正确

3. 检查NetworkPolicy限制

若命名空间下有自定义NetworkPolicy,需确保允许Pod访问元数据服务器:

  • 验证策略是否放行对169.254.169.254(元数据服务器IP)的请求,以及metadata.google.internal的DNS解析

4. 修正参数拼写错误

命令中的licences是英式拼写,元数据API要求美式拼写licenses,虽然这不会直接引发404,但修正后可避免潜在问题:

wget -q -O - --header 'Metadata-Flavor:Google' 'http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/identity?audience=test&format=full&licenses=TRUE'

5. 测试基础元数据连通性

先执行简单请求验证元数据服务器是否可达:

wget -q -O - --header 'Metadata-Flavor:Google' 'http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/email'

若返回服务账号邮箱,说明元数据访问正常;若仍返回404,需检查Pod所在节点的DNS解析能力。

内容的提问来源于stack exchange,提问作者Genkus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 17:32:33