Chart version: 2.5.1
Api version: v1
App version: v2.4.0
A Fluentd Elasticsearch Helm chart for Kubernetes.
Chart Type
Set me up:
helm repo add center
Install Chart:
helm install fluentd center/stable/fluentd
Versions (0)


Fluentd collects events from various data sources and writes them to files, RDBMS, NoSQL, IaaS, SaaS, Hadoop and so on. Fluentd helps you unify your logging infrastructure (Learn more about the Unified Logging Layer).


$ helm install stable/fluentd


This chart bootstraps an fluentd deployment on a Kubernetes cluster using the Helm package manager.

Installing the Chart

To install the chart with the release name my-release:

$ helm install stable/fluentd --name my-release

The command deploys fluentd on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.

Uninstalling the Chart

To uninstall/delete the my-release deployment:

$ helm delete my-release

The command removes all the Kubernetes components associated with the chart and deletes the release.


By enabling autoscaling the chart will use statefulset with hpa instead of deployment with PVC. Please be noted to statefulset limitation The autoscaling is disabled by default for backward compatibility


The following table lists the configurable parameters of the fluentd chart and their default values.

Parameter Description Default
useStatefulSet Deploy as a StatefulSet regardless of whether autoscaling is enabled nil
affinity node/pod affinities {}
configMaps Fluentd configuration See values.yaml output host elasticsearch-client.default.svc.cluster.local
output.port output port 9200
output.scheme output scheme http
output.sslVersion output ssl version TLSv1
output.buffer_chunk_limit output buffer chunk limit 2M
output.buffer_queue_limit output buffer queue limit 8
deployment.labels Additional labels for pods {}
image.pullPolicy Image pull policy IfNotPresent
image.repository Image repository
image.tag Image tag v2.4.0
imagePullSecrets Specify image pull secrets nil (does not add image pull secrets to deployed pods)
extraEnvVars Adds additional environment variables to the deployment (in yaml syntax) {} See values.yaml
extraVolumeMounts Mount extra volumes (in yaml syntax) ” See values.yaml
extraVolumes Extra volumes (in yaml syntax) ” See values.yaml
ingress.enabled enable ingress false
ingress.labels list of labels for the ingress rule See values.yaml
ingress.annotations list of annotations for the ingress rule nginx See values.yaml
ingress.hosts host definition for ingress See values.yaml
ingress.tls tls rules for ingress See values.yaml
nodeSelector node labels for pod assignment {}
replicaCount desired number of pods 1 ???
resources pod resource requests & limits {}
plugins.enabled Enable Plugins Installation false
plugins.pluginsList List of plugins to install []
rbac.create Specifies whether RBAC resources should be created true
serviceAccount.create Specifies whether a service account should be created. true Name of the service account.
priorityClassName priorityClassName nil
service.loadBalancerIP If service.type is LoadBalancer set custom IP load balancer IP address nil
service.ports port definition for the service See values.yaml
service.type type of service ClusterIP
service.annotations list of annotations for the service {}
tolerations List of node taints to tolerate []
persistence.enabled Enable buffer persistence false
persistence.accessMode Access mode for buffer persistence ReadWriteOnce
persistence.size Volume size for buffer persistence 10Gi
autoscaling.enabled Set this to true to enable autoscaling false
autoscaling.minReplicas Set minimum number of replicas 2
autoscaling.maxReplicas Set maximum number of replicas 5
autoscaling.metrics metrics used for autoscaling See values.yaml
terminationGracePeriodSeconds Optional duration in seconds the pod needs to terminate gracefully 30
metrics.enabled Set this to true to enable Prometheus metrics HTTP endpoint false
metrics.service.port Prometheus metrics HTTP endpoint port 24231
metrics.serviceMonitor.enabled Set this to true to create ServiceMonitor for Prometheus operator false
metrics.serviceMonitor.additionalLabels Additional labels that can be used so ServiceMonitor will be discovered by Prometheus {}
metrics.serviceMonitor.namespace Optional namespace in which to create ServiceMonitor nil
metrics.serviceMonitor.interval Scrape interval. If not set, the Prometheus default scrape interval is used nil
metrics.serviceMonitor.scrapeTimeout Scrape timeout. If not set, the Prometheus default scrape timeout is used nil

Specify each parameter using the --set key=value[,key=value] argument to helm install. For example,

$ helm install stable/fluentd --name my-release \

Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,

$ helm install stable/fluentd --name my-release -f values.yaml

Tip: You can use the default values.yaml