我有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希望返回成功消息。但是用户出现错误登录失败。
答案 0 :(得分:0)
请参阅kubernetes文档,该文档讨论秘密使用密码并将您设置的路径作为文件安装。
答案 1 :(得分:0)
我认为您必须先解密秘密
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/
如果我错了,请改正我,我是新来的人