从 Kubernetes 的 Pod 中获取所有 Secret

从 Kubernetes 的 Pod 中获取所有 Secret

首先,我已经阅读了文档,并且看到了这个文本,它非常容易理解,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

相关内容