Node-RED:Введение/Запуск на IBM Cloud
Черновик |
Запуск на IBM Cloud[1]
Node-RED есть в каталоге платформы IBM Cloud в виде приложения-шаблона (boilerplate).
По этой ссылке находится GitHub-репозиторий, где можно найти версию Node-RED для развертки на IBM Cloud всего в пару кликов.
Приложение-шаблон Node-RED
- Залогиньтесь (или создайте аккаунт и залогиньтесь) в bluemix.net
- Откройте каталог (кнопка «Catalog» вверху) и поищите «Node-RED»
- Должны найтись вот эти два варианта:
- «Node-RED Starter» – обычный экземпляр Node-RED
- «Internet of Things Platform Starter» – здесь будет все необходимое для быстрого запуска Node-RED при помощи платформы Watson IoT, включая несколько базовых потоков, чтобы показать, как все работает
- В обоих случаях вы получите:
- Экземпляр базы данных Cloudant для хранения настроек потоков
- Набор нод для упрощенного доступа к различным Bluemix-сервисам, включая платформу Watson IoT и сервисы Watson Cognitive
- В обоих случаях вы получите:
- Кликните по выбранному приложению, дайте ему название и кликните на кнопку «Create»
Через несколько минут вы получите доступ к экземпляру Node-RED по ссылке «https://<ваше_название>.mybluemix.net».
Настройка экземпляра Node-RED
Чтобы начать настройку экземпляра Node-RED, вам нужно загрузить приложение локально или включить интеграционную функцию Continuous Delivery в панели управления вашего приложения. Это создаст git-репозиторий либо на GitHub, либо на IBM DevOps, где вы сможете настроить свой Node-RED, сохранить изменения и автоматически обновить приложение в IBM Cloud.
Защита редактора паролем
После запуска экземпляра Node-RED вы можете защитить его редактор паролем. Для этого в консоли IBM Cloud или в командной строке Cloud Foundry нужно задать несколько переменных окружения.
- Откройте в IBM Cloud панель управления своего экземпляра Node-RED, кликните по меню «Runtime» слева и выберите пункт «Environment variables».
- Промотайте вниз страницы и при помощи кнопки «Add» добавьте три переменные ниже:
- «NODE_RED_USERNAME» – имя пользователя для доступа к редактору
- «NODE_RED_PASSWORD» – пароль для доступа к редактору
- «NODE_RED_GUEST_USER» – если задать в этой переменной «true», это разрешит анонимным пользователям доступ к редактору в режиме «только для чтения»
- Нажмите на кнопку «Save».
Добавление нод
Установка в редактор новых нод выполняется через меню «Palette». Чтобы открыть его, кликните по кнопке с тремя полосками справа вверху, а затем на пункт «Manage palette». Есть и другой способ – отредактировать файл «package.json» своего приложения, добавив нужные модули в секцию «dependencies». Добавляя ноды, соблюдайте формат «node-red-название-пакета-нод»:«x.x.x» (где «x.x.x» – это номер нужной вам версии).
Обновление версии Node-RED
Файл «package.json» настроен на скачивание самого последнего стабильного релиза Node-RED. Обновление запускается при обнаружении наличия новой версии Node-RED.
- У каждого приложения Node.js в IBM Cloud есть отдельная папка для кэша, где хранятся разрешенные зависимости – чтобы не загружать и не устанавливать их каждый раз заново. Но при обновлении этот кэш нужно отключить. Задайте переменную окружения «NODE_MODULES_CACHE» на «false». Это можно сделать либо в консоли IBM Cloud («Runtime» > «Environment Variables»), либо с помощью командной строки Cloud Foundry:
cf set-env [APPLICATION_NAME] NODE_MODULES_CACHE false
- Далее запускаем обновление приложения. В консоли IBM Cloud этого сделать нельзя, но можно сделать в командной строке Cloud Foundry:
cf restage [APPLICATION_NAME]
- Если вы обновили Node-RED до версии 0.20 или выше, то Node.js, на базе которого работает ваш Node-RED, обязательно должен быть версии 8 или выше. Для вам нужно будет отредактировать файл «package.json» (о том, как это сделать, читайте в абзаце ниже). Если в свойстве «engines» не стоит значение «8.x», то установите его.
Чтобы отредактировать файл «package.json», на панели управления IBM Cloud должна быть включена интеграционная настройка «Continuous Delivery». Это создаст git-репозиторий на GitHub или IBM DevOps, где вы сможете отредактировать этот файл, сохранить изменения и автоматически обновить приложение в IBM Cloud.
Замена статичного веб-контента
Посадочная страница вашего экземпляра Node-RED создается с помощью статичного веб-контента из приложения. Но его можно заменить на любой другой контент – для этого его нужно поместить в директорию «public».
Если вы хотите удалить статичный веб-контент, используемый по умолчанию, и использовать для посадочной страницы контент из корневой директории, то вам нужно удалить в файле «bluemix-settings.js» свойства «httpStatic» и «httpAdminRoot».
Развертка Node-RED на IBM Cloud
GitHub-репозиторий «node-red-bluemix-starter» позволяет создать экземпляр Node-RED с собственными настройками, а также выполнить его развертку на IBM Cloud всего за пару кликов.
Для этого сначала кликните по кнопке ниже.
В результате вас перенаправит на IBM Cloud, где вы можете задать название для своего приложения, после чего за дело возьмется сама платформа, которая возьмет код с репозитория и выполнит его развертку.
Это автоматически создаст экземпляр сервиса Cloudant, назовет его «sample-node-red-cloudantNoSQLDB» и свяжет его с вашим приложением. Именно здесь ваш экземпляр Node-RED будет хранить свои данные. Если вы выполните развертку нескольких экземпляров Node-RED из этого репозитория, они будут использовать один и тот же экземпляр Cloudant.
Кроме того, этот экземпляр Node-RED по умолчанию имеет несколько базовых потоков, развертка которых будет автоматически выполнена с первым запуском Node-RED.
Настройка репозитория Node-RED
Этот репозиторий можно клонировать, модифицировать и использовать повторно, чтобы любой мог создать собственное приложение Node-RED и быстро развернуть его на IBM Cloud.
Базовые потоки хранятся в директории «defaults» в файле «flow.json».
Данные для веб-страницы, которая открывается, когда вы переходите по ссылке приложения, хранится в директории «public».
Новые ноды в редактор можно добавить через файл «package.json», а все прочие настройки Node-RED можно задать в файле «bluemix-settings.js».
Если вы клонировали репозиторий, также отредактируйте файл «README.md», чтобы кнопка «Deploy to IBM Cloud» направляла к вашему репозиторию.
Если вам нужно поменять название экземпляра Cloudant, размер памяти, отведенной для приложения, и прочие настройки развертки, загляните в файл «manifest.yml».