Я пытаюсь запустить постфикс как контейнер в k8s. Контейнер запускается (включая svcs), но мои карты конфигурации и секреты не хотят работать хорошо.
Я пробовал следующее:
- настроить карту конфигурации с пользователем и паролем в открытом тексте РЕЗУЛЬТАТ: РАБОТАЕТ
postmap -q someuser@localhost mysql:./virtual_mailbox.cf
- Зашифруйте пароль и имя пользователя с помощью base64 (согласно инструкциям k8s), прочитайте эти зашифрованные значения в переменные среды контейнера (
envFrom: - secretRef: имя: postfix-db-access
), попробуйте подключиться к базе данных с помощью почтовая карта
Для этого сценария карта конфигурации выглядит следующим образом:
1 APIВерсия: v1
2 вид: ConfigMap
3 метаданные:
4 название: postfix-db-configs
5 пространство имен: почтовый сервер
6 данные:
7 виртуальный_почтовый ящик.cf: |
8 пользователь=$(эхо ${POSTFIX_USER} | base64 -d)
9 пароль=$(эхо ${POSTFIX_PASS} | base64 -d)
10 хостов=database.default.svc.cluster.local
11 имя_базы=постфикс
12 запрос=ВЫБЕРИТЕ почту ОТ generic_map, ГДЕ local_mail='%s' AND active=1;
РЕЗУЛЬТАТ: НЕУДАЧА. Пользователь '$(echo ${POSTFIX_USER} | base64 -d)' не имеет доступа к базе данных.
- Сохраните имя пользователя и пароль для пользователя postfix в виде открытого текста в секрете следующим образом:
1 APIВерсия: v1
2 вид: секрет
3 метаданные:
4 имя: postfix-db-access
5 пространство имен: почтовый сервер
6 тип: непрозрачный
7 строкДанные:
8 POSTFIX_USER: PostfixUser
9 POSTFIX_PASS: какой-то пароль
и соответствующая строка в карте конфигурации
пользователь = $ (эхо $ {POSTFIX_USER})
РЕЗУЛЬТАТ: НЕУДАЧА с пользователем «echo ${POSTFIX_USER}) не имеет доступа к базе данных». Запрос не обрабатывает переменную среды, которая установлена правильно.
Подключение к базе данных и запросы отлично работают с командой mysql -h database.default.svc.cluster.local -u postfix -p -e 'использовать постфикс; ВЫБЕРИТЕ почту ИЗ generic_map, ГДЕ local_mail='someuser@localhost' AND active=1;
. Я получаю все результаты, которые мне нужны и ожидаются.
Вопрос в следующем: как мне настроить секрет и карту конфигурации, чтобы этот процесс работал и устанавливал соединение с базой данных, как предполагалось?
реальная тень