我目前正在通过一个网络核心项目在AKS上创建Pod。问题是我有一个我之前在管道中创建的appsettings.json生成的秘密。在部署阶段,我将这个秘密加载到Pod本身的内部。我要实现的是从Kubernetes机密中读取值,并将其作为Hev图表内的env变量加载。任何帮助表示赞赏,谢谢:)
答案 0 :(得分:1)
请查看如何use secret as environmental variable
作为单个变量
containers:
- name: mycontainer
image: redis
env:
- name: SECRET_USERNAME
valueFrom:
secretKeyRef:
name: mysecret
key: username
还是整个秘密
containers:
- name: test-container
image: k8s.gcr.io/busybox
command: [ "/bin/sh", "-c", "env" ]
envFrom:
- secretRef:
name: mysecret
答案 1 :(得分:0)
您的机密不应该在您的 appsettings.json 中,因为它们最终会出现在您的源代码控制存储库中。 将 k8s 中的 secret 读入 helm chart 是你永远不应该尝试做的事情。
理想情况下,您的机密位于安全的机密存储(保险库)中,该存储或具有您的 k8s 托管应用程序可以调用的 API
或者(保管库)与 k8s 集成,将您的机密作为卷安装在 pod 中(该卷是内存中的只读存储)。
通过这种方式,您的机密只会保存在保险库中,以确保机密在静止和传输过程中得到加密。