Learn more about Streama© – the foundational technology behind our stateful streaming data platform. Learn More

Fluentd Helm Chart for Kubernetes

This is a modified version of the official FluentD image with integration support for Coralogix, multiprocessing, and K8S.

Introduction

This chart bootstraps a FluentD Coralogix daemonset on a Kubernetes cluster using the Helm Package Manager.

Prerequisites

  • Kubernetes 1.6+ with Beta APIs enabled.
  • Helm 2.9+ Package Manager installed (For installation instructions please visit Get Helm!).

Installing the Chart

$ helm repo add coralogix https://jfrog.coralogix.com/artifactory/helm
$ helm repo update
$ helm install --name my-release \
  --set PRIVATE_KEY=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX \
  --set APP_NAME=your-app-name \
  --set SUB_SYSTEM=sub-system-name \
  --set ENDPOINT=api.coralogix.us \
    coralogix/coralogix-fluentd

Notes:

  1. The previous example uses the api.coralogix.us ENDPOINT. Please refer to the following table to select the correct ENDPOINT for your Coralogix Portal domain’s extension (.com/.us/.in):

    ClusterAPI Endpoint
    .comhttps://api.coralogix.com
    .ushttps://api.coralogix.us
    .inhttps://api.app.coralogix.in
  1. The commands above deploy Fluentd-Coralogix on the Kubernetes cluster using the default configuration. The configuration section below lists the parameters that can be modified during the installation.

  2. For helm 3.0 and above the --name option has been deprecated, so the command above would start like this:
$ helm install my-release \

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.

Configuration

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

ParameterDescriptionDefault
PRIVATE_KEYCoralogix Private KeyXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
APP_NAMECoralogix Application Name$kubernetes.namespace_name
SUB_SYSTEMCoralogix Subsystem name$kubernetes.container_name
coralogix.log_key_nameName of field in record which will be sent to CoralogixNone
coralogix.timestamp_key_nameField with will be used in Coralogix as timestamp of log recordNone
coralogix.is_jsonConvert data to JSONtrue
coralogix.force_compressionCompress datafalse
coralogix.debugEnable debug modefalse
coralogix.proxy.hostProxy hostNone
coralogix.proxy.portProxy portNone
coralogix.proxy.userProxy userNone
coralogix.proxy.passwordProxy passwordNone
container.image.repositoryImage repositorydocker.io/coralogixrepo/fluentd-coralogix-image
container.image.tagImage tag1.1.8
container.image.pullPolicyImage pull policyAlways
container.resources.limits.cpuCPU resource limits100m
container.resources.limits.memoryMemory resource limits400Mi
container.resources.requests.cpuCPU resource requests100m
container.resources.requests.memoryMemory resource requests400Mi
rbac.createIf true, create and use RBAC resourcesfalse
tolerationsList of node taints to tolerate (requires Kubernetes >= 1.6)node-role.kubernetes.io/masterNoSchedule
service.fluentd.enabledEnable FluentD forward servicetrue
service.fluentd.portFluentD port24224
service.http.enabledEnable HTTP collector servicetrue
service.http.portHTTP port9880
service.syslog.enabledEnable Syslog collector servicetrue
service.syslog.portSyslog port5140
service.graylog.enabledEnable Graylog collector servicetrue
service.graylog.portGraylog port12201
service.clusterIPClusterIP for service enabledNone

RBAC

By default the chart will not install the associated RBAC rolebinding, using beta annotations.

You can determine if your cluster supports this by running the following command:

$ kubectl api-versions | grep rbac

You also need to have the following parameter on the API server. See the following document for how to enable RBAC.

--authorization-mode=RBAC

If the output contains "beta" or both "alpha" and "beta" you can enable RBAC.

Enable RBAC role/rolebinding creation

To enable the creation of RBAC resources, do the following:

$ helm install --name my-release stable/fluentd-coralogix --set rbac.create=true ...