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