Install OpenFaaS Pro¶
There are a number of components that make up OpenFaaS Pro and OpenFaaS for Enterprises.
The reference documentation for each feature is available here: Docs: OpenFaaS Pro
The Core platform is installed by switching the openfaasPro
flag to true
in the openfaas chart, however there are extra components that you will likely need or want to customise.
Core platform¶
The Core platform features of OpenFaaS Standard and OpenFaaS for Enterprises consists of:
- OpenFaaS Pro Gateway
- OpenFaaS Pro Kubernetes Operator with Custom Resource Definitions (CRDs) i.e.
Function
andProfile
- OpenFaaS Pro UI Dashboard
- OpenFaaS Pro Autoscaler (including Scale to Zero)
- OpenFaaS Pro Queue Worker for JetStream
- OpenFaaS Pro CLI
faas-cli pro
The Core platform is installed using the same Helm chart as OpenFaaS CE, only with some additional values set, to deploy the additional Pro components and versions.
For OpenFaaS for Enterprises:
- Multiple namespaces are automatically detected and enabled, when you set
clusterRole: true
in the chart. - The Function Builder has its own chart, which is installed separately.
- IAM and SSO can be configured up front, or later down the line when you have the base installation complete
You'll also want to install our Grafana dashboards, which give you access to additional metrics:
Installation¶
Detailed installation instructions including the various options for values.yaml are available in the openfaas
helm chart.
We recommend using the following configuration for the values-custom.yaml
file:
openfaasPro: true
operator:
create: true
clusterRole: true
autoscaler:
enabled: true
gateway:
replicas: 3
dashboard:
enabled: true
queueWorker:
replicas: 3
queueWorkerPro:
maxInflight: 50
queueMode: jetstream
nats:
streamReplication: 1
You can find explanations for each configuration item in the values-pro.yaml file on GitHub.
Create the namespaces for OpenFaaS Pro and its functions:
kubectl apply -f https://raw.githubusercontent.com/openfaas/faas-netes/master/namespaces.yml
Create a secret for your OpenFaaS license:
kubectl create secret generic \
-n openfaas \
openfaas-license \
--from-file license=$HOME/.openfaas/LICENSE
Add the OpenFaaS helm chart repo:
helm repo add openfaas https://openfaas.github.io/faas-netes/
Next, create the required tokens for the OpenFaaS Pro UI Dashboard:
OpenFaaS Pro dashboard pre-requisites
If this is your first time installing the dashboard, we recommend using "localhost" in the publicURL
field, then you can access the dashboard through port-forwarding.
Then add the Helm chart repo, update it and deploy the chart, running helm repo update
before each upgrade, to make sure you have the latest versions.
helm repo update
helm upgrade openfaas \
--install openfaas/openfaas \
--namespace openfaas \
-f ./values-custom.yaml
How to check your installation¶
We recommend running the OpenFaaS config checker after installation is complete. This will help verify that your installation is correct.
See also: OpenFaaS config checker
Additional components¶
Event connectors¶
There are a number of event connectors for OpenFaaS, all of which are installed separately as required using their respective Helm charts.
View helm charts for event connectors
OpenFaaS Pro CLI¶
The OpenFaaS Pro CLI provides additional functionality on top of faas-cli, such as build-time secrets, and a local-run
command to try out functions without deploying them.
faas-cli plugin get pro
faas-cli pro enable
You'll need a GitHub account in your company's GitHub organisation to use this feature. If you cannot get one for some reason, or use GitLab, please let us know and we'll provide an alternative mechanism to activate the CLI.
See also: faas-cli installation
Function Builder API¶
The OpenFaaS Pro Function Builder API can be deployed through a separate Helm chart.
SSO & IAM¶
Single-Sign On and IAM are closely related and are often configured at the same time.
See our walkthrough for an overview of how this works: Walkthrough of Identity and Access Management (IAM) for OpenFaaS.