minikube で OpenFaas を使う

minikube で OpenFaas を使う

kubernetes 環境で OpenFaas を使いたくなった。 今回はローカルで試すためにも minikube を用いて OpenFaas をインストールする。

必要なもの

sudo apt-get update && sudo apt-get install -y apt-transport-https
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
&& chmod +x minikube
sudo cp minikube /usr/local/bin && rm minikube

インストールしたら下記コマンドで起動しておく

minikube start
  • faas-cli OpenFaasをCLIから操作するために使うツール。
curl -sSL https://cli.openfaas.com | sudo sh
  • helm k8sのパッケージ管理ツール。
curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash
kubectl -n kube-system create sa tiller \
 && kubectl create clusterrolebinding tiller \
      --clusterrole cluster-admin \
      --serviceaccount=kube-system:tiller

minikube 上にOpenFaas をインストール

公式のドキュメントを参考に構築する。 まずはk8s名前空間yamlから作成する。

kubectl apply -f https://raw.githubusercontent.com/openfaas/faas-netes/master/namespaces.yml

次にhelmのチャートを追加する。

helm repo add openfaas https://openfaas.github.io/faas-netes/

今回はお試しでローカル環境に作るので認証機能を切って展開する。

helm repo update \
 && helm upgrade openfaas --install openfaas/openfaas \
    --namespace openfaas  \
    --set basic_auth=false \
    --set functionNamespace=openfaas-fn

minikube 上で展開されたか確認。

minikube service list

gateway-external にアクセスすればOpenFaasのダッシュボードを確認することができる。