Внешняя конфигурация node js - PullRequest
2 голосов
/ 06 мая 2020

Я собираюсь развернуть службу node js в openshift, и есть несколько свойств, таких как конфигурации базы данных и свойства приложений, которые мне нужно экстернализовать. использует сервер конфигурации в качестве хранилища конфигурации и GIT в качестве источника. Я видел библиотеки для npm для интеграции с сервером конфигурации Spring.

Итак, я ищу здесь лучшие практики, что было бы лучшим подходом для экстернализации конфигураций в nodejs в инструментах оркестрации, таких как k8s или openshift . Или мы можем go с конфигурационным сервером в приведенном выше сценарии?

Пожалуйста, дайте знать любую информацию, любые указатели приветствуются.

Ответы [ 3 ]

1 голос
/ 06 мая 2020

Если вы переходите к инструментам оркестровки, я бы посоветовал воспользоваться их предложением. В k8s вы обычно используете ConfigMaps для управления конфигурациями вашего приложения. Прелесть этого решения в том, что вы также можете выполнять конфигурацию как код, поэтому вы сохраняете свою Configmaps с контролем версий.

Еще одна вещь, NodeJs передовой опыт - использовать переменные среды. Таким образом, вы можете использовать предложения по оркестровке для монтирования всех ваших конфигураций в среду, а также получаете шифрование секретов для вашей конфиденциальной информации (ключи API и т. Д. c ..)

1 голос
/ 25 мая 2020

Для всех, если это поможет, мы выбрали подход с использованием переменных среды, поскольку у нас было очень мало параметров для работы, и мы не видим больших изменений в этом подходе. Если он вырастет, мы будем рассматривать подход configmap (также предложенный simon / obanby) выше.

1 голос
/ 06 мая 2020

Есть несколько возможностей, одна из которых - это Cloud Config Server, как вы отметили. Однако наивный подход согласно Двенадцатифакторному приложению , конфигурация должна храниться в среде:

Двенадцатисфакторное приложение хранит конфигурацию в переменных среды

В OpenShift / Kubernetes это означает, что мы будем хранить конфигурацию в самом Deployment, в ConfigMaps или Secrets, а затем использовать их с envFrom.configMapRef ( вот пример ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...