Holen Sie sich alle Geheimnisse von Kubernetes auf einem Pod

Holen Sie sich alle Geheimnisse von Kubernetes auf einem Pod

Zunächst habe ich die Dokumentation gelesen und sehe diesen Text, der ziemlich selbsterklärend ist. To use a secret, a pod needs to reference the secret.Aber ich möchte sehen, ob es möglich ist, alle Geheimnisse aus einer Geheimnisdefinition zu erhalten, ohne jedes einzelne davon in einem Pod zu definieren. Was ich meine, ist Folgendes.

Das ist, was ich habe

        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

Das ist was ich will

        env:
            - name: *
              valueFrom:
                secretKeyRef:
                  name: secret
                  key: *

Ich weiß, das klingt albern, aber ich möchte sehen, ob es eine Möglichkeit gibt, alle Variablen innerhalb des Geheimnisses zu erfassen und sie mit demselben Namen zu importieren, unter dem die Variable definiert ist. Es wird also

VarName = SecretName
VarValue = SecretValue

Dank im Voraus!

Antwort1

Es stellt sich heraus, dass ich dies erreichen kann, aber mit Konfigurationskarten, hier ist der Dokumentationslink, wie es gehthttps://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#configure-all-key-value-pairs-in-a-configmap-as-container-environment-variables

Falls sich die URL in Zukunft ändert, finden Sie hier den Code als Referenz.

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

verwandte Informationen