0

我曾期望使用服务帐户在授权 GCP 主机上运行的容器将具有与主机相同的服务帐户权限。但情况似乎并非如此。引发此异常的应用程序是使用 pubsub 和 KMS API 的节点应用程序。

我知道我可以使用 GOOGLE_APPLICATION_CREDENTIALS 等,但我不想这样做,我想依赖服务帐户权限。

我在“Ubuntu 18.04 LTS 最小”主机和基于“Ubuntu 16.04”的容器中看到了这一点。我认为我在使用 18.04 之前从未见过它

4

1 回答 1

0

事实证明,这个假设是正确的,但是一些运行时获取访问令牌的方式是它们在 metadata.google.internal 上查询元数据服务器。这通常会解析为地址 169.254.169.254,但在容器内部,该地址没有得到解析。

解决方法是在启动容器时添加此参数:

docker run ... --add-host=metadata.google.internal:169.254.169.254 ...
于 2018-09-28T17:00:14.330 回答