我曾希望使用服务帐户在授权GCP主机上运行的容器将具有与主机相同的服务帐户权限。但这似乎并非如此。我引发此异常的应用程序是使用pubsub和KMS API的节点应用程序。
我了解我可以使用GOOGLE_APPLICATION_CREDENTIALS等,但我不想这样做,我想依靠服务帐户权限。
我看到带有“ Ubuntu 18.04 LTS minimal”主机和基于“ Ubuntu 16.04”的容器。我认为我从未在使用18.04之前见过它
答案 0 :(得分:0)
事实证明,这种假设是正确的,但是某些运行时获取访问令牌的方式是它们在metas.google.internal处查询元数据服务器。通常,该地址解析为地址169.254.169.254,但是在容器内部,该地址未被解析。
解决方法是在启动容器时添加此参数:
docker run ... --add-host=metadata.google.internal:169.254.169.254 ...