appsodyがNode-REDに対応したので使ってみた


appsodyでNode-REDが使える様になったらしい。

appsodyNode-REDが利用可能になったというアナウンスがありました!

先日の、Kabanero(Knative + Istio + Tekton ひとまとめ)を使ってNode.jsのアプリケーションを5分でK8sにデプロイするを書いた勢いもあったので、ついでにこれも触ってみました。
※環境はmac。docker for macでKubernetesが有効であることが前提です。

Node-REDを使うための手順

appsodyをインストール(または最新にアップデートする。)

インストール手順はこちら
アップデートは

brew upgrade appsody

でOK。
インストールまたは、アップデート後に

appsody list

を実行すると、Node-REDが追加されていることが確認できます!

$ appsody list

REPO            ID                              VERSION         TEMPLATES               DESCRIPTION                                              
experimental    java-spring-boot2-liberty       0.1.11          *default                Spring Boot on Open Liberty & OpenJ9 using Maven         
experimental    nodejs-functions                0.1.6           *simple                 Serverless runtime for Node.js functions                 
experimental    quarkus                         0.2.2           *default                Quarkus runtime for running Java applications            
experimental    rocket                          0.1.0           *simple                 Rocket web framework for Rust                            
experimental    rust                            0.1.4           *simple                 Runtime for Rust applications                            
experimental    vertx                           0.1.4           *default                Eclipse Vert.x runtime for running Java applications     
*incubator      java-microprofile               0.2.21          *default                Eclipse MicroProfile on Open Liberty & OpenJ9 using Maven
*incubator      java-spring-boot2               0.3.19          *default, kotlin        Spring Boot using OpenJ9 and Maven                       
*incubator      kitura                          0.2.3           *default                Runtime for Kitura applications                          
*incubator      node-red                        0.1.0           *simple                 Node-RED runtime for running flows                       
*incubator      nodejs                          0.3.0           *simple                 Runtime for Node.js applications                         
*incubator      nodejs-express                  0.2.10          scaffold, *simple       Express web framework for Node.js                        
*incubator      nodejs-loopback                 0.1.8           *scaffold               LoopBack 4 API Framework for Node.js                     
*incubator      python-flask                    0.1.6           *simple                 Flask web Framework for Python                           
*incubator      starter                         0.1.1           *simple                 Runnable starter stack, copy to create a new stack       
*incubator      swift                           0.2.3           *simple                 Appsody runtime for Swift applications   

あとはGitHubリポジトリを参照しながら作業。

Templateを展開する。

適当なディレクトリの配下で下記のコマンドを実行しましょう。

appsody init node-red

ちなみに、

appsody init node-red none

の様にnoneを指定すると、.appsody-config.yamlのみが生成される様です。

下記の様なファイルが生成されます。

実行する

ローカルで簡単に実行するためには

appsody run

を実行します。

http://localhost:3000で下記の画面が確認できればOKです。

フローエディタはhttp://localhost:3000/adminから確認可能です。

K8sにデプロイする。

前回と同様に

appsody deploy

でOKです。

最終行に表示されるURLからアクセス可能です。(この場合はhttp://localhost:31069)

Deployed project running at http://localhost:31069

↓↓↓↓↓スクリーンショット↓↓↓↓↓



Podを見てみる。
$ kubectl get pod
NAME                                  READY   STATUS    RESTARTS   AGE
appsody-appsody-65b456946-mczpr       1/1     Running   18         5d20h
appsody-operator-57b94c7c48-tsswv     1/1     Running   15         5d20h
my-nodered-project-55db6d8bcc-c6k2z   1/1     Running   0          63s

バッチリ、podがあるのが確認できますね!

あとは、いつも通りにNode-REDを使っていきましょう!