laravel — Kubernetes и PHP-FPM с несколькими средами, проблемы с переменными среды

У меня сейчас проблема при попытке создать модуль PHP (Laravel) в моем кластере Kubernetes. Так как php-fpm является сервисом, запущенным пользователем www-data, он не имеет доступа к переменным окружения, которые устанавливают Docker или Kubernetes, что является источником моей проблемы.

У нас есть бета-версии и производственные модули, и ранее единственное, что я сделал, — это установил переменную среды в моем развертывании в Kubernetes, которая сообщала бы контейнеру, нужно ли ему использовать бета-версию или конфигурацию prod.

К сожалению, поскольку процесс php-fpm не может получить к ним доступ, это невозможно. Есть ли чистый способ справиться с этим? Один из способов сделать это сейчас — поместить два разных файла .env (файл конфигурации для Laravel) в два разных секрета в Kubernetes, а затем создать сценарий в качестве точки входа для моего образа Docker, который копирует нужный .env в корень проекта, так как скрипт будет иметь доступ к переменным ENV.

Если кто-то думает о чище, я весь в ушах!

1

Решение

Вы могли бы поставить clear_env = no в вашем php-fpm.conf или включенном в него файле, как обсуждено здесь.

1

Другие решения

В итоге я использовал решение, предложенное мной в оригинальном сообщении, спасибо за попытку помочь! Это работает отлично, я просто искал что-то немного чище!

0

По вопросам рекламы [email protected]