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».

См.также

Внешние ссылки