Remove the `logger` container from the logging daemonset. Remove the outgoing call from the poolmgr to the logger. Use Fluentd's Kubernetes filter to add function name and UID to influx metadata. This means fluentd now figures out when to start collecting function logs on its own, without being informed by poolmgr. This is great for other execution strategies, and for autoscaling, where fission isn't in direct control of function pod creation. Also adds an integration test to make sure logging keeps working.
Fission
Fission is a framework for serverless functions on Kubernetes.
Prerequisites
- Kubernetes 1.8 or later
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 |
fetcherImage |
Fission fetcher image | fission/fetcher |
fetcherImageTag |
Fission fetcher image tag | latest |
controllerPort |
Fission Controller Service Port | 31313 |
routerPort |
Fission Router Service Port | 31314 |
functionNamespace |
Namespace for Fission functions | fission-function |
builderNamespace |
Namespace for Fission environment builders | fission-builder |
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