Fluentd container image requirements

Knative Serving uses a Fluentd docker image to collect logs. Operators can customize their own Fluentd docker image and configuration to define logging output.

Requirements

Knative requires the customized Fluentd docker image with the following plugins installed:

Sample images

Operators can use any Docker image which meets the requirements above and includes the desired output plugin. Two examples below:

Send logs to Elasticsearch

Operators can use k8s.gcr.io/fluentd-elasticsearch:v2.0.4 which includes fluent-plugin-elasticsearch that allows sending logs to a Elasticsearch service.

Send logs to Stackdriver

This sample Dockerfile is based on k8s.gcr.io/fluentd-elasticsearch:v2.0.4. It additionally adds one more plugin - fluent-plugin-google-cloud which allows sending logs to Stackdriver.

Operators can build this image and push it to a container registry which their Kubernetes cluster has access to. See Setting Up A Logging Plugin for details. NOTE: Operators need to add credentials file the stackdriver agent needs to the docker image if their Knative Serving is not built on a GCP based cluster or they want to send logs to another GCP project. See here for more information.