🐋
MinikubeにOpenFaaSをデプロイする
概要
おうちサーバでFaaSして~って思ってたけど案外選択肢が少ない。気がする。
思いつくのは下記のツール類。
なんか1が一番シンプルそう。
あんまり複雑な構成にすると普通にWebサーバ立てたほうが楽そうで本末転倒なので。
環境
Proxmox上に構築したUbuntu 20.04のVM
CPUは2Core, RAM2GBを割り当てました。
前提条件としてdockerをインストール、一般ユーザ権限で起動できるようにしてあります。
手順
基本的には下記記事に沿って作業します。Installation - Linux, x86-64, Stable, Debian package を参照。
kubectl のインストール
$ sudo snap install kubectl --classic
Minikubeのインストール
$ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
$ sudo dpkg -i minikube_latest_amd64.deb
$ minikube start
$ minikube status
OpenFaaSのnamespaceを設定
$ git clone https://github.com/openfaas/faas-netes
$ cd faas-netes
$ kubectl apply -f namespaces.yml
$ kubectl get namespaces
OpenFaaSにBasic認証を設定
$ kubectl -n openfaas create secret generic basic-auth --from-literal=basic-auth-user={{ユーザ名}} --from-literal=basic-auth-password={{パスワード}}
OpenFaaSのデプロイ
$ kubectl apply -f ./yaml/
minikubeのポートフォワーディング
minikubeのIPを確認
$ minikube ip
{{IPアドレス}}
ホストの80番ポートへのアクセスをminikubeの31112ポートへフォワーディングする
$ sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination {{IPアドレス}}:31112
$ sudo iptables -t nat -A POSTROUTING -p tcp -d {{IPアドレス}} --dport 31112 -j MASQUERADE
$ sudo iptables -A FORWARD -p tcp -d {{IPアドレス}} --dport 31112 -j ACCEPT
ダッシュボードの確認
http://{{ホストのIPアドレス}}:80 にアクセスすると見れます。
今は全く触ってません。ただ使ってみたかっただけですね。
おしまい
Discussion