Install helm CLI client on your system
$ brew install kubernetes-helm
$ curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get > get_helm.sh
$ chmod 700 get_helm.sh
$ ./get_helm.sh
Create a service account and a cluster role binding for Tiller
$ kubectl -n kube-system create sa tiller
$ kubectl create clusterrolebinding tiller-cluster-rule \
--clusterrole=cluster-admin \
--serviceaccount=kube-system:tiller
Deploy tiller (Helm server) on your cluster
$ helm init --skip-refresh --upgrade --service-account tiller
Create OpenFaaS namespaces
$ kubectl apply -f https://raw.githubusercontent.com/openfaas/faas-netes/master/namespaces.yml
Generate basic authentication credentials secret
$ password=$( head -c 12 /dev/urandom | shasum | cut -d' ' -f1)
$ kubectl -n openfaas create secret generic basic-auth \
--from-literal=basic-auth-user=admin \
--from-literal=basic-auth-password=$password
Install OpenFaaS with Helm
$ helm repo add openfaas https://openfaas.github.io/faas-netes/
$ helm upgrade openfaas --install openfaas/openfaas \
--namespace openfaas \
--set functionNamespace=openfaas-fn \
--set serviceType=LoadBalancer \
--set basic_auth=true \
--set operator.create=true