首先,我已经阅读了文档,并且看到了这个文本,它非常容易理解,To use a secret, a pod needs to reference the secret.
但我想看看是否有可能从秘密定义中获取所有秘密,而不用在 pod 中定义每一个秘密,我的意思是这样的。
这就是我所拥有的
env:
- name: MY_FRST_SECRET
valueFrom:
secretKeyRef:
name: secret
key: MY_FRST_SECRET
- name: MY_SECOND_SECRET
valueFrom:
secretKeyRef:
name: secret
key: MY_SECOND_SECRET
这就是我要的
env:
- name: *
valueFrom:
secretKeyRef:
name: secret
key: *
我知道这看起来很傻,但我的意思是我想看看是否有办法获取秘密中的所有变量,并使用与定义变量相同的名称导入它们。所以它会是
VarName = SecretName
VarValue = SecretValue
提前致谢!
答案1
事实证明我可以实现这一点,但使用配置图,这里是有关如何做到这一点的文档链接https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#configure-all-key-value-pairs-in-a-configmap-as-container-environment-variables
如果将来 URL 发生变化,以下是供参考的代码
apiVersion: v1
kind: Pod
metadata:
name: dapi-test-pod
spec:
containers:
- name: test-container
image: k8s.gcr.io/busybox
command: [ "/bin/sh", "-c", "env" ]
envFrom:
- configMapRef:
name: special-config
restartPolicy: Never