LoginSignup
3
2

More than 5 years have passed since last update.

OpenFaaSをRubyで使ってみた

Last updated at Posted at 2018-06-03

OpenFaaSとは

FaaS(AWS Lambdaみたいな奴)が自前のサーバーで建てられるというフレームワークです。
https://github.com/openfaas/faas
Docker Swarmかkubernetesでクラスタを構築して、それぞれのクラスタ上で作成した関数を載せたDockerコンテナを建てて動かすという感じ。kubernetesの方がスケールするらしいので大規模サービス向け。オープンソースのモニタリングツールであるPrometheusがついてたり、関数管理用のダッシュボードがついてたり割と便利です。

とりあえず使ってみる

  • サーバー側

今回は個人サーバーで動かすのを想定しているのでkubernetesではなくDocker Swarm上でOpenFaaSを起動する。
大体のインストール方法は http://docs.openfaas.com/deployment/docker-swarm/ に書いてある。

  • クライアント側

1, faas-cliをインストール

curl -sSL https://cli.openfaas.com | sudo sh

2, 関数の作成

faas-cli new --lang ruby FUNCTION_NAME

3, FUNCTION_NAME.ymlの書き換え

FUNCTION_NAME.yml
provider:
  name: faas
  gateway: http://サーバーのホスト名:OpenFaaSゲートウェイのポート名

functions:
  FUNCTION_NAME:
    lang: ruby
    handler: ./FUNCTION_NAME
    image: Dockerhubのユーザー名/FUNCTION_NAME:latest

docker loginしておかないとDocker Hubにプッシュ出来ないので注意。

4, Docker Imageの作成 & プッシュ

faas-cli build -f FUNCTION_NAME.yml && faas-cli push -f FUNCTION_NAME.yml

5, デプロイ

faas-cli deploy -f FUNCTION_NAME.yml

うまくいけば http://サーバーのホスト名:OpenFaaSゲートウェイのポート名/ui/ にアクセスすれば関数一覧にFUNCTION_NAMEが出てくる。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2