Вот один из способов сделать это вне Kustomize.
Секреты можно использовать в качестве переменных среды в спецификации Pod с помощью ключевого слова valueFrom
.Документация по этому поводу находится по адресу https://kubernetes.io/docs/concepts/configuration/secret/#using-secrets-as-environment-variables.
Зная это, вы можете изменить свой сценарий для создания главного секрета и ключа для файла.Пример (не проверенный) может выглядеть примерно так:
for secret in .secrets/*; do
literals="$literals --from-literal=$(basename $secret)=$(cat $secret)"
done
kubectl create secret generic prod-secrets "$literals"
Затем в ваших спецификациях укажите конкретный ключ из этого секрета, чтобы получить соответствующую переменную среды.Предполагая, что один из них был SECRET_USERNAME
:
apiVersion: v1
kind: Pod
metadata:
name: secret-env-pod
spec:
containers:
- name: mycontainer
image: redis
env:
- name: SECRET_USERNAME
valueFrom:
secretKeyRef:
name: prod-secrets
key: SECRET_USERNAME
restartPolicy: Never