【问题标题】:Passing Connection String As Environment Variable in yaml file在 yaml 文件中将连接字符串作为环境变量传递
【发布时间】:2019-10-14 17:41:23
【问题描述】:

我有我的 SQL 连接密码作为密钥。我把它分配给一个键。我需要将 SQL 连接字符串作为环境变量传递,它在我的 appsettings.json 文件中分配值。当我将团队城市变量作为密码传递时,它正在工作。但是当我将密码更改为密钥时,我无法从 API 检索数据(已移至 Kubernities)。它显示用户登录失败的错误。如何使用密码作为密钥在 YAML 文件中传递连接字符串?

我尝试以多种方式访问​​密钥,但结果是相同的。

env:
   - name: SECRET_USERNAME
     valueFrom:
          secretKeyRef:
            name: mysecret
            key: username
    - name: SECRET_PASSWORD
      valueFrom:
          secretKeyRef:
            name: mysecret
            key: password

  -name:ConnectionString
   Value: "server:172.168.0.1; username: ${SECRET_USERNAME};password:${SECRET_PASSWORD};....." 

请不要介意这里的缩进。我在文件中正确地保存了它。 我如何在这里访问SECRET_PASSWORD

API 想要返回成功消息。但是我收到错误用户登录失败。

【问题讨论】:

  • 粘贴您尝试过的内容

标签: kubernetes yaml kubernetes-helm


【解决方案1】:

请参阅kubernetes 文档,其中讨论了密码的秘密使用,并将作为文件挂载到您设置的路径。

【讨论】:

    【解决方案2】:

    我认为你必须先解码秘密

    kubectl get secret mysecret -o yaml
    apiVersion: v1
    kind: Secret 
    metadata:
      creationTimestamp: 2016-01-22T18:41:56Z
      name: mysecret
      namespace: default
      resourceVersion: "164619"
      uid: cfee02d6-c137-11e5-8d73-42010af00002
    type: Opaque
    data:
      username: YWRtaW4=
      password: MWYyZDFlMmU2N2Rm
    

    解码密码字段:

    echo 'MWYyZDFlMmU2N2Rm' | base64 --decode
    

    https://kubernetes.io/docs/concepts/configuration/secret/

    如果我错了,请纠正我,我是新来的

    【讨论】:

    • @VAISAKH,如果对您有帮助,请告诉我们。
    猜你喜欢
    • 1970-01-01
    • 2019-07-05
    • 2020-04-11
    • 2017-07-15
    • 2018-12-02
    • 2017-09-10
    • 2015-12-30
    • 1970-01-01
    • 2021-11-27
    相关资源
    最近更新 更多