Tutorial Serverless – Instalasi OpenFaaS

Pada seri belajar serverless kali ini, kita akan menginstall dan ke depan akan menggunakan platform OpenFaaS dari openfaas.com sebagai solusi serverless yang self-hosted (bukan ngikut vendor seperti AWS, Azure atau Google). Pada tutorial kali ini kita akan menginstall OpenFaaS di Kubernetes Cluster.

Sebelum mengikuti tutorial ini, tentu dong sampeyan sudah punya cluster kubernetes yang siap dipakai. Minimal versi 1.11 ke atas ya (tapi jangan tinggi-tinggi versinya).

Ada tiga urutan cara untuk menginstall OpenFaaS sebenarnya:
1. menginstall OpenFaaS CLI
2. membuat deployment OpenFaaS dari file YAML, atau lewat helm cart atau lewat Arkade
3. membuat OpenFaaS gateway
4. Login dan mulai membuat function

Instalasi OpenFaaS CLI

Disarankan menggunakan Linux atau MacOS, atau kalau kepepet menggunakan Windows, silakan pastikan sudah terpasang Git Bash.

Untuk menginstall OpenFaaS CLI cukup dengan:


$ curl -sL https://cli.openfaas.com | sudo sh


$ curl -sL https://cli.openfaas.com | sh

dan jika menggunakan MacOS, cukup install dengan brew:

brew install faas-cli

Install OpenFaaS di Kubernetes Cluster

Setelah itu coba login ke kubernetes cluster (misal di node master) dan clode repository dari OpenFaas berikut:

git clone https://github.com/openfaas/faas-netes

kemudian deploy template yaml yang ada, dengan cara:

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

setelah itu buat password untuk faas-gateway dengan perintah:

PASSWORD=$(head -c 12 /dev/urandom | shasum| cut -d' ' -f1)

simpan password yang dihasilkan diatas, disebuah file, jaga-jaga kalau lupa 😀

echo $PASSWORD > tmp-pwd.txt

lalu masukkan password tersebut sebagai secret:

kubectl -n openfaas create secret generic basic-auth \
--from-literal=basic-auth-user=admin \
--from-literal=basic-auth-password="$PASSWORD"

kemudian baru masuk ke folder hasil clone git dan lakukan apply seluruh file yaml yang ada:

cd faas-netes && \
kubectl apply -f ./yaml

atau cara kedua yang lebih simple, yaitu menggunakan tool arkade. install dulu Arkade dengan perintah:

curl -SLsf https://dl.get-arkade.dev/ | sudo sh

kemudian install dengan perintah:

arkade install openfaas

kemudian cek apakah gateway dari openfaas ini bisa diakses dengan perintah:

kubectl rollout status -n openfaas deploy/gateway

cari terlebih dahulu ip address gateway dari openfaas ini dengan perintah:

kubectl get svc -n openfaas

catat ip address, dan masukkan ke variabel OPENFAA_URL.

export OPENFAAS_URL=http://127.0.0.1:31112

dan coba login dengan perintah:

echo -n $PASSWORD | faas-cli login --password-stdin

Sumber:

OpenFaas at Github

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: