GOOGLE_APPLICATION_CREDENTIALS 云中未定义 运行 容器

GOOGLE_APPLICATION_CREDENTIALS Undefined in Cloud Run Container

我正在尝试从 Cloud 运行 容器内部登录 gcloud。我知道这不是最好的做法,但这是情况所需要的。

在容器内访问我的入口点脚本中的GOOGLE_APPLICATION_CREDENTIALS时

gcloud auth activate-service-account --key-file="$GOOGLE_APPLICATION_CREDENTIALS"
gcloud config set project "$PROJECT_ID"

authenticatin 失败,因为 GOOGLE_APPLICATION_CREDENTIALS 没有设置任何值。它是空的;不明确的。没有路径。

这些是我用来部署的命令(显然设置了环境变量):

gcloud builds submit --tag "gcr.io/${GOOGLE_CLOUD_PROJECT}/tester"
gcloud run deploy --image "gcr.io/${GOOGLE_CLOUD_PROJECT}/tester" --service-account "testerkey@${GOOGLE_CLOUD_PROJECT}.iam.gserviceaccount.com" --platform managed

我也尝试过在不指定服务帐户的情况下使用默认帐户进行部署,但似乎也不起作用。

感谢任何建议!谢谢!

Google 服务中的 运行 服务不使用 GOOGLE_APPLICATION_CREDENTIALS,它们有一个元数据服务器,可以在不注入私钥的情况下为服务帐户提供令牌。 Defined here

您可以只使用 gcloud 而无需使用 gcloud auth activate-service-account 命令