如何让GKE Pod中的Java应用自动获取OAuth令牌访问Cloud Trace API?
问题解决:GKE Pod自动获取Cloud Trace API权限的OAuth令牌
背景
- 需求:让部分GKE Pod能够访问Cloud Trace API
- 现有Java应用在两种场景下运行正常:
- 传入手动生成的访问令牌
- 本地配置
application default credentials
- 已完成配置:为目标服务账号绑定了结合GKE Metadata Server的Workflow Identity Pool,且能在Pod内通过
gcloud auth print-access-token命令手动生成有效访问令牌
问题现象
应用启动后无法自动生成并按需刷新OAuth令牌,仅能识别到没有Cloud Trace访问权限的GKE Node服务账号凭据(确认GKE Metadata Server运行正常)
解决方案
经排查,问题出在实际应用Pod未配置正确的服务账号——此前测试使用的是测试Pod而非应用Pod,为应用Pod配置好对应权限的服务账号后,应用即可像本地环境一样自动获取并刷新OAuth令牌,问题已解决。
内容的提问来源于stack exchange,提问作者László Stahorszki
相关产品推荐
相关产品推荐

