Remove hardcoded "fission" namespace in various places. Remove etcd deployment and service, since we use K8s APIs now. Add ClusterRoleBinding for the fission service account, to allow fission components to access TPRs. We currently make the service account a cluster admin. This is more permissive than it should be; we should define a specific role for just fission resources.
Fission
Fission is a framework for serverless functions on Kubernetes.
Prerequisites
- Kubernetes 1.6+ with Beta APIs enabled
Helm charts
The following table lists two helm charts for Fission.
| Parameter | Description |
|---|---|
fission-core |
FaaS essentials, and triggers for HTTP, Timers and Kubernetes Watches |
fission-all |
Log aggregation with fluentd and InfluxDB; NATS for message queue triggers; Fission-UI |
Installing the chart
To install the chart with the release name my-release,
$ helm install --name my-release fission-all
Uninstalling the chart
To uninstall/delete chart,
$ helm delete my-release
Configuration
The following table lists the configurable parameters of the Fission chart and their default values.
| Parameter | Description | Default |
|---|---|---|
serviceType |
Type of service to use | LoadBalancer. |
image |
Fission image | fission/fission-bundle |
imageTag |
Fission image tag | alpha20170124 |
controllerPort |
Fission Controller Service Port | 31313 |
routerPort |
Fission Router Service Port | 31314 |
functionNamespace |
Namespace for Fission functions | fission-function |
openshift |
RBAC for openshift | false |
- Extra configuration for
fission-all
| Parameter | Description | Default |
|---|---|---|
logger.influxdbAdmin |
Log database admin username | admin. |
logger.fluentdImage |
Logger fluentd image | fission/fluentd |
fissionUiImage |
Fission ui image | fission/fission-ui:0.1.0 |
nats.authToken |
Nats streaming auth token | defaultFissionAuthToken |
nats.clusterID |
Nats streaming clusterID | fissionMQTrigger |
Specify each parameter using the --set key=value[,key=value] argument to helm install. For example,
$ helm install --name my-release --set image=custom/fission-bundle,imageTag=v1 fission-all
If you're using minikube, set serviceType to NodePort:
$ helm install --name my-release --set serviceType=NodePort fission-all
You can also set parameters with a yaml file (see values.yaml for what it should look like):
$ helm install --name my-release -f values.yaml fission-all