0

我正在尝试将 GOOGLE_APPLICATION_CREDENTIALS 机密与 GKEPodOperator 一起使用。基本上我想: 1. 将秘密上传到 GKE 2. 将秘密挂载(?)到容器 3. 运行容器时使用秘密。

到目前为止,我已经在构建时将 key.json 文件添加到我的图像中,我知道这不是正确的方法。

我发现了这个问题:How to set GOOGLE_APPLICATION_CREDENTIALS on GKE running through Kubernetes

不同之处在于他们没有使用 GKEPodOperator。

我做了什么:1.使用以下方法创建了秘密:

kubectl create secret generic mysupersecret --from-file=service_account_key=key.json

我看到有volumesvolume_mounts参数,但我不明白如何使用它们。

任何人都可以帮我解决这个问题吗?也许我要做一些愚蠢的事情..

4

2 回答 2

0

要将 Secret 用于您的工作负载,您可以指定引用 Secret 值的环境变量,或装载包含 Secret 的卷。 请按照此链接使用机密并设置卷和卷挂载。

此链接参考Google 通用文档,使用服务帐户向 Cloud Platform 进行身份验证以使用 GOOGLE_APPLICATION_CREDENTIALS 密钥。此链接描述了如何使用 KubernetesPodOperator 来启动 Kubernetes pod。

于 2019-12-16T16:40:31.617 回答
0

这类似于将秘密传递给KubernetesPodOperator. 在此处查看详细信息

这是快速示例。

influx_username = secret.Secret(
...
)
influx_pass = secret.Secret(
...
)
operator = GKEPodOperator(
    task_id='task-id',
    project_id='prj-id',
    location='location',
    cluster_name='cluster-name',
    name='pod-name',
    namespace='default',
    image='image-path',
    secrets=[influx_username, influx_pass],
)
于 2020-02-21T21:43:22.307 回答