tree: 70e5cd5ce2acb325574bab9e060a98d01c88fe7d [path history] [tgz]
  1. templates/
  2. Chart.lock
  3. Chart.yaml
  4. README.md
  5. values.yaml
helm/druid/README.md

Apache Druid

Apache Druid is a high performance real-time analytics database.

Install Chart

To install the Druid Chart into your Kubernetes cluster :

helm install --namespace "druid" --name "druid" incubator/druid

After installation succeeds, you can get a status of Chart

helm status "druid"

If you want to delete your Chart, use this command:

helm delete --purge "druid"

Helm ingresses

The Chart provides ingress configuration to allow customization the installation by adapting the values.yaml depending on your setup. Please read the comments in the values.yaml file for more details on how to configure your reverse proxy or load balancer.

Chart Prefix

This Helm automatically prefixes all names using the release name to avoid collisions.

URL prefix

This chart exposes 6 endpoints:

  • Druid Overlord
  • Druid Broker
  • Druid Coordinator
  • Druid Historical
  • Druid Middle Manager
  • Druid Router

Druid configuration

Druid configuration can be changed by using environment variables from Docker image.

See the Druid Docker entry point for more informations

Middle Manager and Historical Statefulset

Middle Managers and Historicals uses StatefulSet. Persistence is enabled by default.

Helm chart Configuration

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

ParameterDescriptionDefault
image.repositorycontainer image nameapache/druid
image.tagcontainer image tag0.19.0
image.pullPolicycontainer pull policyIfNotPresent
image.pullSecretsimage pull secrest for private repositoty[]
configMap.enabledenable druid configuration as configmaptrue
configVarsdruid configuration variables for all components``
gCloudStorage.enabledlook for secret to set google cloud credentialsfalse
gCloudStorage.secretNamesecretName to be mounted as google cloud credentialsfalse
broker.enabledenable brokertrue
broker.namebroker component namebroker
broker.replicaCountbroker node replicas (deployment)1
broker.portport of broker component8082
broker.serviceTypeservice type for serviceClusterIP
broker.resourcesbroker node resources requests & limits{}
broker.podAnnotationsbroker deployment annotations{}
broker.nodeSelectorNode labels for broker pod assignment{}
broker.tolerationsbroker tolerations[]
broker.configbroker private config such as JAVA_OPTS
broker.affinitybroker affinity policy{}
broker.ingress.enabledenable ingressfalse
broker.ingress.hostshosts for the broker api[ "chart-example.local" ]
broker.ingress.pathpath of the broker api/
broker.ingress.annotationsannotations for the broker api ingress{}
broker.ingress.tlsTLS configuration for the ingress[]
coordinator.enabledenable coordinatortrue
coordinator.namecoordinator component namecoordinator
coordinator.replicaCountcoordinator node replicas (deployment)1
coordinator.portport of coordinator component8081
coordinator.serviceTypeservice type for serviceClusterIP
coordinator.resourcescoordinator node resources requests & limits{}
coordinator.podAnnotationscoordinator Deployment annotations{}
coordinator.nodeSelectornode labels for coordinator pod assignment{}
coordinator.tolerationscoordinator tolerations[]
coordinator.configcoordinator private config such as JAVA_OPTS
coordinator.affinitycoordinator affinity policy{}
coordinator.ingress.enabledenable ingressfalse
coordinator.ingress.hostshosts for the coordinator api[ "chart-example.local" ]
coordinator.ingress.pathpath of the coordinator api/
coordinator.ingress.annotationsannotations for the coordinator api ingress{}
coordinator.ingress.tlsTLS configuration for the ingress[]
overlord.enabledenable overlordfalse
overlord.nameoverlord component nameoverlord
overlord.replicaCountoverlord node replicas (deployment)1
overlord.portport of overlord component8081
overlord.serviceTypeservice type for serviceClusterIP
overlord.resourcesoverlord node resources requests & limits{}
overlord.podAnnotationsoverlord Deployment annotations{}
overlord.nodeSelectornode labels for overlord pod assignment{}
overlord.tolerationsoverlord tolerations[]
overlord.configoverlord private config such as JAVA_OPTS
overlord.affinityoverlord affinity policy{}
overlord.ingress.enabledenable ingressfalse
overlord.ingress.hostshosts for the overlord api[ "chart-example.local" ]
overlord.ingress.pathpath of the overlord api/
overlord.ingress.annotationsannotations for the overlord api ingress{}
overlord.ingress.tlsTLS configuration for the ingress[]
historical.enabledenable historicaltrue
historical.namehistorical component namehistorical
historical.replicaCounthistorical node replicas (statefulset)1
historical.portport of historical component8083
historical.serviceTypeservice type for serviceClusterIP
historical.resourceshistorical node resources requests & limits{}
historical.podAnnotationshistorical Deployment annotations{}
historical.nodeSelectornode labels for historical pod assignment{}
historical.securityContextcustom security context for historical containers{ fsGroup: 1000 }
historical.tolerationshistorical tolerations[]
historical.confighistorical node private config such as JAVA_OPTS
historical.persistence.enabledhistorical persistent enabled/disabledtrue
historical.persistence.sizehistorical persistent volume size4Gi
historical.persistence.storageClasshistorical persistent volume Classnil
historical.persistence.accessModehistorical persistent Access ModeReadWriteOnce
historical.antiAffinityhistorical anti-affinity policysoft
historical.nodeAffinityhistorical node affinity policy{}
historical.ingress.enabledenable ingressfalse
historical.ingress.hostshosts for the historical api[ "chart-example.local" ]
historical.ingress.pathpath of the historical api/
historical.ingress.annotationsannotations for the historical api ingress{}
historical.ingress.tlsTLS configuration for the ingress[]
middleManager.enabledenable middleManagertrue
middleManager.namemiddleManager component namemiddleManager
middleManager.replicaCountmiddleManager node replicas (statefulset)1
middleManager.portport of middleManager component8091
middleManager.serviceTypeservice type for serviceClusterIP
middleManager.resourcesmiddleManager node resources requests & limits{}
middleManager.podAnnotationsmiddleManager Deployment annotations{}
middleManager.nodeSelectorNode labels for middleManager pod assignment{}
middleManager.securityContextcustom security context for middleManager containers{ fsGroup: 1000 }
middleManager.tolerationsmiddleManager tolerations[]
middleManager.configmiddleManager private config such as JAVA_OPTS
middleManager.persistence.enabledmiddleManager persistent enabled/disabledtrue
middleManager.persistence.sizemiddleManager persistent volume size4Gi
middleManager.persistence.storageClassmiddleManager persistent volume Classnil
middleManager.persistence.accessModemiddleManager persistent Access ModeReadWriteOnce
middleManager.antiAffinitymiddleManager anti-affinity policysoft
middleManager.nodeAffinitymiddleManager node affinity policy{}
middleManager.autoscaling.enabledenable horizontal pod autoscalingfalse
middleManager.autoscaling.minReplicasmiddleManager autoscaling min replicas2
middleManager.autoscaling.maxReplicasmiddleManager autoscaling max replicas5
middleManager.autoscaling.metricsmiddleManager autoscaling metrics{}
middleManager.ingress.enabledenable ingressfalse
middleManager.ingress.hostshosts for the middleManager api[ "chart-example.local" ]
middleManager.ingress.pathpath of the middleManager api/
middleManager.ingress.annotationsannotations for the middleManager api ingress{}
middleManager.ingress.tlsTLS configuration for the ingress[]
router.enabledenable routerfalse
router.namerouter component namerouter
router.replicaCountrouter node replicas (deployment)1
router.portport of router component8888
router.serviceTypeservice type for serviceClusterIP
router.resourcesrouter node resources requests & limits{}
router.podAnnotationsrouter Deployment annotations{}
router.nodeSelectornode labels for router pod assignment{}
router.tolerationsrouter tolerations[]
router.configrouter private config such as JAVA_OPTS
router.affinityrouter affinity policy{}
router.ingress.enabledenable ingressfalse
router.ingress.hostshosts for the router api[ "chart-example.local" ]
router.ingress.pathpath of the router api/
router.ingress.annotationsannotations for the router api ingress{}
router.ingress.tlsTLS configuration for the ingress[]

Full and up-to-date documentation can be found in the comments of the values.yaml file.