Я пытаюсь использовать секреты из Azure Key Vault в моем развертывании Kubernetes в качестве переменных env, и я изо всех сил пытаюсь это сделать. Я использую идентификатор Azure pod, и секреты монтируются в файл, и это работает, однако я хочу, чтобы они были доступны как переменные env.
Вот мой файл secrets.yml:
apiVersion: секреты-store.csi.x-k8s.io/v1alpha1
вид: Секретпровидеркласс
метаданные:
имя: azure-kvname
спецификация:
провайдер: лазурь
секретОбъекты:
- secretName: тестовый секрет
тип: непрозрачный
данные:
- имя_объекта: пользователь test-db
ключ: dbuser
- имя_объекта: test-db-pass
ключ: dbpassword
параметры:
usePodIdentity: "истина"
keyvaultName: "тест-keyvault"
имя_облака: ""
объекты: |
множество:
- |
имя_объекта: пользователь test-db
тип объекта: секрет
объектная версия: ""
- |
имя_объекта: test-db-pass
тип объекта: секрет
объектная версия: ""
идентификатор тенанта: "<идентификатор тенанта>"
И мое развертывание.yml:
апиВерсия: v1
вид: стручок
метаданные:
имя: nginx-secrets-store-inline
этикетки:
аадподидбиндинг: аадподидбиндинг
спецификация:
контейнеры:
- имя: nginx
изображение: nginx
томМаунты:
- имя: встроенный магазин секретов
mountPath: "/mnt/секреты-магазин"
Только для чтения: правда
среда:
- имя: DB_USER
значениеОт:
секретная ссылка:
имя: тестовый секрет
ключ: dbuser
- имя: DB_PASSWORD
значениеОт:
секретная ссылка:
имя: тестовый секрет
ключ: dbpassword
тома:
- имя: встроенный магазин секретов
Си Си:
драйвер: secrets-store.csi.k8s.io
Только для чтения: правда
атрибуты тома:
secretProviderClass: azure-kvname
Я следил за примерами, предоставленными Azure: секрет, развертывание
Когда я применяю оба файла, я получаю CreateContainerConfigError
: Ошибка: секрет "test-secret" не найден