Есть ли способ установить имя секретного ключа kubernetes при использовании --from-file
, отличного от имени файла?
У меня есть куча разных файлов конфигурации, которые я использую как secrets.json
в своих контейнерах. Однако, чтобы организовать мои файлы, ни один из них не назван secrets.json
на моем хосте. Например secrets.dev.json
или secrets.test.json
. Мои приложения знают только чтение в secrets.json
.
Когда я создаю секрет с kubectl create secret generic my-app-secrets --from-file=secrets.dev.json
, это приводит к тому, что имя ключа будет secrets.dev.json
, а не secrets.json
.
I монтирую мое секретное содержимое в виде файла (это перенос с перехода с Docker swarm).
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app-deployment
spec:
template:
spec:
volumes:
- name: my-secret
secret:
secretName: my-app-secrets
containers:
- name: my-app
volumeMounts:
- name: my-secret
mountPath: "/run/secrets/secrets.json"
subPath: "secrets.json"
Поскольку secrets.json
не существует в качестве ключа, поскольку он использовал имя файла (secrets.dev.json
), вместо этого оно превращается в каталог. В итоге я получаю этот путь монтирования: /run/secrets/secrets.json/secrets.dev.json
.
Я хотел бы иметь возможность установить имя ключа на secrets.json
вместо использования имени файла secrets.dev.json
.