This removes fluentd in favor of using fluentbit, which is lighter (in memory usage) and seems to be more actively maintained. Fluentbit's config file format is different from fluentd's. It also doesn't support the same record modification stuff that fluentd supports, so we have to change the influxdb query slightly. This means that after an upgrade, the new CLI may won't work for querying older logs. Hopefully, this slight breakage is acceptable; if users really need older logs they can use the older CLI.
109 lines
5.2 KiB
Markdown
109 lines
5.2 KiB
Markdown
# Fission
|
|
|
|
[Fission](http://fission.io/) is a framework for serverless functions on Kubernetes.
|
|
|
|
|
|
## Prerequisites
|
|
|
|
- Kubernetes 1.6 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`,
|
|
|
|
```bash
|
|
$ helm install --name my-release fission-all
|
|
```
|
|
|
|
## Uninstalling the chart
|
|
|
|
To uninstall/delete chart,
|
|
|
|
```bash
|
|
$ 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 Fission Controller service to use. For minikube, set this to NodePort, elsewhere use LoadBalancer or ClusterIP. | `ClusterIP`
|
|
`routerServiceType` | Type of Fission Router service to use. For minikube, set this to NodePort, elsewhere use LoadBalancer or ClusterIP. | `LoadBalancer`
|
|
`repository` | Image base repository | `index.docker.io`
|
|
`image` | Fission image repository | `fission/fission-bundle`
|
|
`imageTag` | Fission image tag | `1.0.0`
|
|
`pullPolicy` | Image pull policy | `IfNotPresent`
|
|
`fetcherImage` | Fission fetcher repository | `fission/fetcher`
|
|
`fetcherImageTag` | Fission fetcher image tag | `1.0.0`
|
|
`controllerPort` | Fission Controller service port | `31313`
|
|
`routerPort` | Fission Router service port | ` 31314`
|
|
`functionNamespace` | Namespace in which to run fission functions (this is different from the release namespace) | `fission-function`
|
|
`builderNamespace` | Namespace in which to run fission builders (this is different from the release namespace) | `fission-builder`
|
|
`enableIstio` | Enable istio integration | `false`
|
|
`persistence.enabled` | If true, persist data to a persistent volume | `true`
|
|
`persistence.existingClaim` | Provide an existing PersistentVolumeClaim instead of creating a new one | `nil`
|
|
`persistence.storageClass` | PersistentVolumeClaim storage class | `nil`
|
|
`persistence.accessMode` | PersistentVolumeClaim access mode | `ReadWriteOnce`
|
|
`persistence.size` | PersistentVolumeClaim size | `8Gi`
|
|
`analytics` | Analytics let us count how many people installed fission. Set to false to disable analytics | `true`
|
|
`analyticsNonHelmInstall` | Internally used for generating an analytics job for non-helm installs | `false`
|
|
`pruneInterval` | The frequency of archive pruner (in minutes) | `60`
|
|
`preUpgradeChecksImage` | Fission pre-install/pre-upgrade checks live in this image | `fission/pre-upgrade-checks`
|
|
`debugEnv` | If there are any pod specialization errors when a function is triggered and this flag is set to true, the error summary is returned as part of http response | `true`
|
|
`prometheusDeploy` | Set to true if prometheus needs to be deployed along with fission | `true` in `fission-all`, `false` in `fission-core`
|
|
`canaryDeployment.enabled` | Set to true if you need canary deployment feature | `true` in `fission-all`, `false` in `fission-core`
|
|
|
|
### Extra configuration for `fission-all`
|
|
|
|
Parameter | Description | Default
|
|
--------- | ----------- | -------
|
|
`createNamespace` | If true, create `fission-function` and `fission-builder` namespaces | ` true`
|
|
`logger.influxdbAdmin` | Log database admin username | `admin`
|
|
`logger.fluentdImageRepository` | Logger fluentbit image repository | `index.docker.io`
|
|
`logger.fluentdImage` | Logger fluentbit image | `fluent/fluent-bit`
|
|
`logger.fluentdImageTag` | Logger fluentbit image tag | `1.0.4`
|
|
`nats.enabled` | Nats streaming enabled | `true`
|
|
`nats.authToken` | Nats streaming auth token | `defaultFissionAuthToken`
|
|
`nats.clusterID` | Nats streaming clusterID | `fissionMQTrigger`
|
|
`natsStreamingPort` | Nats streaming service port | `31316`
|
|
`azureStorageQueue.enabled` | Azure storage account name | `false`
|
|
`azureStorageQueue.key` | Azure storage account name | `""`
|
|
`azureStorageQueue.accountName` | Azure storage access key | `""`
|
|
`kafka.enabled` | Kafka trigger enabled | `false`
|
|
`kafka.brokers` | Kafka brokers uri | `broker.kafka:9092`
|
|
`kafka.version` | Kafka broker version | `nil`
|
|
`heapster` | Enable Heapster (only enable this in clusters where heapster does not exist already) | `false`
|
|
|
|
Please note that deploying of Azure Storage Queue or Kafka is not done by Fission chart and you will have to explicitly deploy them.
|
|
|
|
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
|
|
|
|
```bash
|
|
$ helm install --name my-release --set image=custom/fission-bundle,imageTag=v1 fission-all
|
|
```
|
|
|
|
If you're using minikube, set serviceType and routerServiceType to NodePort:
|
|
|
|
```bash
|
|
$ helm install --name my-release --set serviceType=NodePort,routerServiceType=NodePort fission-all
|
|
```
|
|
|
|
You can also set parameters with a yaml file (see [values.yaml](fission-all/values.yaml) for
|
|
what it should look like):
|
|
|
|
```bash
|
|
$ helm install --name my-release -f values.yaml fission-all
|
|
```
|