Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AppsodyでNode-REDを動かす

 AppsodyでNode-REDを動かす

Kubernetesへのデプロイまでを紹介します。

motuo1201

March 04, 2020
Tweet

More Decks by motuo1201

Other Decks in Programming

Transcript

  1. appsodyで楽々実現!
    Node-REDをKubernetesで
    動かす!

    View Slide

  2. 1. (ざっくりと) Kubernetesに関する説明。
    2. appsody is 何 ?
    3. appsodyを使ってNode-REDモジュールをK8s
    にデプロイするデモ
    本日の流れ

    View Slide

  3. 自己紹介
    3
    千葉県松戸市のWeb系ベンチャー企業Joolenのエンジニア。
    motuoという名前でQiita書いたりしてます。
        埼玉西武ライオンズのユニフォームロゴが目印。
    現在の業務で使うのは主に、PHP(Laravel,EC-CUBE)ですが、好
    き嫌いなく何でも食べる子(実はCobolとかもイケる)
    もちろんNode-REDも!
    2020年の IBM ChampionとKabanero(OSS)のContributorを
    認定頂きました!
    ※今回お話するappsodyはKabaneroにも組み込まれています。

    View Slide

  4. kubernetesって?

    View Slide

  5. kubernetesをザックリ理解しよう
    【出典】
    https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/#what-does-kubernetes-mean-k8s
    - Googleが中心となって開発したコンテナを統合し
    て管理するツール
    - 複数のホストを跨いだ構成も、上手く制御でき
    る。
    - オートスケールやコンテナの自動回復にも対応
    している。
    - 様々な部品を独立したコンテナで構築できるの
    で、マイクロサービスに適している。

    View Slide

  6. つまり。。。
    ● コンテナが何かの原因で落ちても、自動的回復してくれる
    ● 必要な機能にリソースを集中させやすい
    例:Webサーバは小さく、バッチ処理のリソースは大きく
    ● ローリングアップデート機能で、機能のアップデートを
    不停止で実現
    ● 容易にシステムをスケーリング可能!

    View Slide

  7. でも実際に使おうとすると、、、

    View Slide

  8. なかなか手が進まない現実
    - どうやって環境作るの??
    - yamlってどう書く?
    一人でK8s上にNode-RED構
    築できますか??

    View Slide

  9. そんな開発者の
    壁を取り去るOSS

    View Slide

  10. appsody is 何?
    クラウドネイティブなアプリケーション開発を支援するために作られたIBM製のオープ
    ンソース。主に下記の3つのコンポーネントで構成されています。
    1. Appsody Stacks
    予め、コンテナの依存性やセキュリティ情報(フローエディタの利用可否)等の構
    成を保管することが出来ます。開発者はこれらを気にすることなくアプリケーショ
    ンの開発が可能です。
    2. Appsody Hub
    Appsody Stacksを管理するためのリポジトリです。ここを更新することで、
    Appsodyで構築されたアプリケーションの構成を変更することができます。
    3. Appsody CLI
    Appsodyのコマンドラインツールです

    View Slide

  11. appsodyを使った開発の流れ
    用意されている
    スタックをローカ
    ルへ
    ローカルでの開発
    Kubernetesへデプロイ

    View Slide

  12. appsody stackの構成
    my-stack
    ├── README.md
    ├── stack.yaml # 最初に適用するテンプレートの指定など
    ├── image/
    | ├── config/
    | | └── app-deploy.yaml # プロジェクトをデプロイする時の設定 (ポートなど)
    | ├── project/
    | | ├── [デプロイする時に必要なファイル群をここに配置 (Node-REDの設定など)]
    | | └── Dockerfile
    │ ├── Dockerfile-stack # ローカル環境へデプロイする際の環境変数などを記述
    | └── LICENSE
    └── templates/
    ├── my-template/
    └──[Appsdy init をしたときに始めに作成されるアプリケーション ]
    Node-REDのAppsody stackがGithubで公開されています!フローエディタの設定などは
    /image/project/server.jsに!
    https://github.com/appsody/stacks/tree/master/incubator/node-red

    View Slide

  13. 実際にK8sへのデプロイを
    行います。

    View Slide

  14. ローカルクラスタへのデプロイ(デモ)
    今回お見せする手順はQiitaの
    appsodyがNode-REDに対応したので使ってみた
    で公開しています!
    ぜひ、ご自分でも試してみてください。

    View Slide