Pythonを使ってOpenfaasのFunctionを作成してみた

学部3年の佐藤です.今回は,unikubeでPythonを使ったOpenfaasのFunction作成を行ったので,その手順を説明します.

準備

作業を行う前に,
ブラウザで以下にアクセスする.
・http://unikube-jasmine-master:31112
 user: と pass: はunikubeにsshしたときに確認できる.

・docker login コマンドでdockerにログインしておく.

・作業用のディレクトリを作成する.

作業

CLIを使用して,新しいPython関数を scaffold 「hello-python」の部分は任意の関数名を付ける
  (今回は学籍番号-faasとする).

Bash
mkdir -p ~/functions
Bash
cd ~/functions
Bash
faas-cli new --lang python3 hello-python

lsコマンドで確認すると,以下の3つのファイルが作成された.

・関数名.yml
・関数名/handler.py
・関数名/requirements.txt

c0a22169-faas/handler.pyを開く.
c0a22169-faas/handler.pyはプログラム本体が入るファイルである.

c0a22169-faas/handler.pyに書かれているものをすべて削除して,以下のように編集してみる.

次に,c0a22169-faas.ymlの中身を見る.

・imageの部分がhello-python:latestとなっているのを
 <Docker ID>/hello-python:latestとなるように変更する.
 <Docker ID>には,自身のDocker IDを入力します.

関数の構築を行うため,以下のコードを実行する.

Bash
faas-cli build -f ./hello-python.yml

関数をリモートレジストリにアップロードするため以下のコードを実行する.

Bash
faas-cli push -f ./hello-python.yml

関数をデプロイする.

Bash
faas-cli deploy -f ./hello-python.yml

デプロイしたら,ブラウザのUIにアクセスすると左のメニューにFunctionが追加されているため開く.

開いたら,Request bodyに文字を入力してINVOKEを押すと返答が返ってくる.

今回は,Request bodyに「c0a22169」と入力し,INVOKEを押してみる.

INVOKEを押すと,Response status「200」とc0a22169-faas/handler.pyで指定した
「Hello! You said: req」が返ってきました.

今回は,unikubeでPythonを使ったOpenfaasのFunction作成について書きました.
今後も,unikubeは使っていきたいと思いました.

コメントを残す