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