1.11.2

Fission 1.11.2 is a release full of new things and we are super excited about it.

Read on for more details!

Features

Concurrency in PoolManager

PoolManager now support a concurrency flag which allows you to control the number of pods specialized for a given function. The default value is 5 but you can increase it to your needs. Think of this as maximum workers that you want to deploy for a specific function.

Autoscaling for MQT integrations with Keda

Keda is an open source project which enables autoscaling for event driven applications. With Keda Fission integration, now the pods running for consuming your messages can also be autoscaled. The best part is if there are no messages, then the pods are scaled to zero! Read more in this blog post to understand how Keda works with Fission.

Bonus: Keda Connectors

Even if you are not using Fission - Keda Connectors can be used with your application to consume message from Keda easily. Feel free to raise request for a new integration or send some PRs our way.

A new lightweight JVM environment

The previous JVM environment was based on Spring and there were requests for more lightweight environments. We now have a vry light Jersey based JVM environment which is very lightweight. Also the Fission dependency is now not in snapshot anymore.

Python env sentry integration

The Python env now has support for Sentry integration, all you need to so is set SENTRY_DSN and SENTRY_RELEASE environment variables in Python environment. Thanks to https://github.com/vir-mir for this change.

NodeJS v12 Environment

There is a upgrade to NodeJS environment with version 12!

Kubectl Explain

When using Specs - it is hard to recall all the fields, so now Fission CRDs support kubectl explain command for Functions, Environments and Packages. Rest of objects will be covered soon.

$ kubectl explain functions.spec.idletimeout
KIND:     Function
VERSION:  fission.io/v1

FIELD:    idletimeout <integer>

DESCRIPTION:
     IdleTimeout specifies the length of time that a function is idle before the
     function pod(s) are eligible for deletion. If no traffic to the function is
     detected within the idle timeout, the executor will then recycle the
     function pod(s) to release resources.

Fixes

  • Non-root users access Secrets and ConfigMaps

When user customize the environment, they might run it with a user other than root. And then secret won’t be accessible for the container, this was fixed thanks to atsai1220

  • Fission fn logs was broken due to fluentbit

Fission fn logs was broken due to change in FluentBit’s upgrade. This is fixed now along with newer version of FluentBit.

  • ServiceAccount for nats-streaming & Override influxdb & busybox image

Thanks to funkypenguin - you can now add a SA to Nats-Streaming pod apart from being able to override influx DB image and busybox image

  • Change timestamp to ISO

The timestamps now follow the ISO standard for better readability.

{"level":"info","ts":"2020-09-16T16:23:37.360Z","logger":"generic_pool_manager","caller":"poolmgr/gpm.go:637","msg":"release idle function resources","function":"hello","address":"10.244.0.19:8888","executor":"poolmgr","pod":"poolmgr-py-default-1252-799fbf767c-kbdgm"}