学部3年の佐藤です.今回は,unikubeでPythonを使ったOpenfaasのFunction作成を行ったので,その手順を説明します.
準備
作業を行う前に,
ブラウザで以下にアクセスする.
・http://unikube-jasmine-master:31112
user: と pass: はunikubeにsshしたときに確認できる.
・docker login コマンドでdockerにログインしておく.
・作業用のディレクトリを作成する.
作業
CLIを使用して,新しいPython関数を scaffold 「hello-python」の部分は任意の関数名を付ける
(今回は学籍番号-faasとする).
mkdir -p ~/functions
cd ~/functions
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を入力します.
関数の構築を行うため,以下のコードを実行する.
faas-cli build -f ./hello-python.yml
関数をリモートレジストリにアップロードするため以下のコードを実行する.
faas-cli push -f ./hello-python.yml
関数をデプロイする.
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は使っていきたいと思いました.