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

升级GKE节点至v1.23.16后部分Pod无法读取Secret求助

GKE节点升级后部分Java Pod读取Secret报ADC不可用错误的排查思路
  • 检查Pod的服务账号(ServiceAccount)配置差异

    • 对比异常Pod与正常Pod的serviceAccountName,确认是否使用了不同的SA:kubectl describe pod <异常Pod名称> | grep ServiceAccount
    • 验证该SA是否具备Secret Manager的访问权限:检查绑定的ClusterRole/Role是否包含secretmanager.secrets.access权限,可通过kubectl get rolebindings <绑定名称> -o yaml查看权限规则
    • 确认SA未被误删除或修改,排除升级过程中可能出现的配置覆盖问题
  • 验证Pod对节点元数据服务器的访问能力

    • 在异常Pod内执行元数据访问测试:curl -H "Metadata-Flavor: Google" http://169.254.169.254/computeMetadata/v1/instance/service-accounts/default/token,正常应返回包含access_token的JSON数据
    • 检查Pod的securityContext是否有阻止元数据访问的配置,比如是否设置了allowPrivilegeEscalation: false或其他网络限制规则
    • 检查集群网络策略,确认不存在拦截Pod访问169.254.169.254(元数据服务器地址)的规则
  • 排查Java客户端库的兼容性

    • 对比异常Pod与正常Pod使用的Google Cloud Java客户端版本,重点检查google-cloud-secretmanager和google-auth-library-oauth2-http的版本号
    • 旧版本客户端可能与GKE 1.23.16的元数据服务器逻辑不兼容,尝试升级到对应GKE版本适配的客户端版本
  • 检查Pod启动环境的变量与镜像差异

    • 查看异常Pod的环境变量是否存在干扰ADC的配置:kubectl exec <异常Pod名称> -- env | grep GOOGLE,确认GOOGLE_APPLICATION_CREDENTIALS未被意外设置为空值,GOOGLE_CLOUD_PROJECT等核心变量是否正常
    • 确认异常Pod使用的镜像与正常Pod完全一致,排除镜像构建错误或版本不一致的问题
  • 检查节点元数据服务器状态

    • 登录异常Pod所在的GKE节点,检查元数据代理服务状态:systemctl status google-metadata-agent
    • 查看节点元数据服务日志,排查是否存在服务异常:journalctl -u google-metadata-agent
    • 对比正常节点与异常节点的元数据服务配置,确认无差异
  • 临时验证:手动挂载SA密钥

    • 为异常Pod对应的SA创建密钥文件,通过Kubernetes Secret挂载到Pod内,设置环境变量GOOGLE_APPLICATION_CREDENTIALS指向该文件,验证是否能正常读取Secret
    • 若手动挂载后正常,说明问题出在ADC自动获取凭证的流程;若仍异常,则需排查SA权限或Secret Manager本身的配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 00:52:18