OpenFaas をセットアップして function を呼び出す

公開日:2018-12-29
最終更新:2018-12-29
※この記事は外部サイト(https://qiita.com/FAMASoon/items/bfd1d18ef...)からのクロス投稿です

OpenFaas をセットアップして function を呼び出す

AWS lambda を何となく触ってみて、ベンダロックインしない形で同じような機能を実現できないかなと思って色々と調べているとOpenFaasというOSSを見つけた。
AWS lambda とAPI Gatewayをまとめた感じの処理をdockerを使って実現するプロジェクトのようだ。
試しに触ってみたのでその記録を書く。

OpenFaas とは

Serverless な処理を Docker や Kubernetes で実装するためのフレームワーク。
公式で日本語化されたチュートリアルがある
link

OpenFaas のセットアップ

必要なソフトは下記の通り

  • Docker

まずは OpenFaas を動かすための swarm をセットアップ

$ docker swarm init  

openfaas-cli のインストール

次に OpenFaas を動かすためのCLIコマンドをインストールする。
ここでインストールするfaas-cliを使用すればCLIからfunctionの新規作成、ビルド、デプロイ等の操作ができるようになる。
mac環境なら以下のコマンドでインストール

$ brew install faas-cli  

Linux とかの環境なら下記のコマンドでインストール

$ curl -sL cli.openfaas.com | sudo sh  

インストールされたか確認

$ faas-cli version  

OpenFaasのデプロイ

GitHub から最新版の OpenFaas をダウンロードして Docker swarm で起動させる。

$ git clone https://github.com/openfaas/faas  
$ cd faas  
$ git checkout master  
$ ./deploy_stack.sh --no-auth  

OpenFaas で function を動かす

試しにいくつか function をデプロイしてみる。

$ faas-cli deploy -f https://raw.githubusercontent.com/openfaas/faas/master/stack.yml  

デプロイした function が動いているか確認する。
function を呼び出す時は下記コマンドのようにinvoke オプションを付けて function 名を書き実行する。

$ faas-cli invoke <function名>  

function は標準入力を読み込んで標準出力に結果を出すようになっている。
今回はmarkdownをHTMLに変換するmarkdown functionを試す。
以下はechoでmarkdown形式の入力をfaas-cliでfunctionに読み込ませている。

$ echo "## The **OpenFaaS** _workshop_" | faas-cli invoke markdown  
<h2>The <strong>OpenFaaS</strong> <em>workshop</em></h2>  

markdownがHTMLに変換されて出力されている。
web経由でも呼び出せる(というかこっちが本来の使い方?)
curlを使った例

$ curl -X POST -d "## The **OpenFaaS** _workshop_" http://127.0.0.1:8080/function/markdown  
<h2>The <strong>OpenFaaS</strong> <em>workshop</em></h2>  

まとめ

とりあえず OpenFaas をセットアップして function を呼び出すところまでやってみた。
次回は function を実装してデプロイしてみる。

記事が少しでもいいなと思ったらクラップを送ってみよう!
0
+1
@famasoon'の技術ブログ

よく一緒に読まれている記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる

技術ブログをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

技術ブログを開設する

Qrunchでアウトプットをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

Markdownで書ける

ログ機能でアウトプットを加速

デザインのカスタマイズが可能

技術ブログ開設

ここから先はアカウント(ブログ)開設が必要です

英数字4文字以上
.qrunch.io
英数字6文字以上
ログインする