我正在尝试为我构建一个 gcloud 脚本来部署我的云运行服务。该服务可以访问托管的 MongoDB,因此我必须通过环境变量提供密码凭据。
我想通过秘密管理器传递这个密码。我通过 GCP 控制台这样做:
所以秘密名称是mongodb-password
和值mypassword
。现在我按照gcloud 运行文档 ( https://cloud.google.com/sdk/gcloud/reference/run/deploy ) 了解如何将密钥添加到运行服务部署中。
在设置机密部分中解释了以下内容:
指定要挂载或作为环境变量提供的机密。以正斜杠“/”开头的键是挂载路径。所有其他键对应于环境变量。与这些相关的值应采用 SECRET_NAME:KEY_IN_SECRET 的形式;您可以省略密钥中的密钥以指定密钥中所有密钥的安装。例如:'--update-secrets=/my/path=mysecret,ENV=othersecret:key.json' 将创建一个带有秘密 'mysecret' 的卷,并将该卷挂载到 '/my/path'。因为没有指定密钥,所以将包括“mysecret”中的所有密钥。还将创建一个名为 ENV 的环境变量,其值为 'othersecret' 中的 'key.json' 的值。最多可以指定其中之一
这让我有些困惑。我不知道KEY_IN_SECRET是什么意思。秘密名称显然是mongodb-password
但我不知道我现在如何引用秘密的值。
我试图弄清楚是否有关于如何定义秘密值的约定。也许像key=value
. 但没有任何说明我必须那样做。
所以现在我想知道我应该为命令的--set-secrets=[KEY=VALUE,…]
标志做些什么gcloud run deploy
。
根据给出的信息,我只能这样做:
--set-secrets=[mongodb-password=*]
我知道这是错误的,但我想解释一下现在让我感到困惑的是什么