tree: 44fa033fc5f6fd1ae3d45416962a528af4cf01fd [path history] [tgz]
  1. templates/
  2. Chart.yaml
  3. README.md
  4. values.yaml
docker/kubernetes/dolphinscheduler/README.md

Dolphin Scheduler

Dolphin Scheduler is a distributed and easy-to-expand visual DAG workflow scheduling system, dedicated to solving the complex dependencies in data processing, making the scheduling system out of the box for data processing.

Introduction

This chart bootstraps a Dolphin Scheduler distributed deployment on a Kubernetes cluster using the Helm package manager.

Prerequisites

  • Helm 3.1.0+
  • Kubernetes 1.12+
  • PV provisioner support in the underlying infrastructure

Installing the Chart

To install the chart with the release name dolphinscheduler:

$ git clone https://github.com/apache/incubator-dolphinscheduler.git
$ cd incubator-dolphinscheduler/docker/kubernetes/dolphinscheduler
$ helm repo add bitnami https://charts.bitnami.com/bitnami
$ helm dependency update .
$ helm install dolphinscheduler .

These commands deploy Dolphin Scheduler on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.

Tip: List all releases using helm list

Uninstalling the Chart

To uninstall/delete the dolphinscheduler deployment:

$ helm uninstall dolphinscheduler

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

Configuration

The following tables lists the configurable parameters of the Dolphins Scheduler chart and their default values.

ParameterDescriptionDefault
nameOverrideString to partially override common.names.fullnamenil
fullnameOverrideString to fully override common.names.fullnamenil
timezoneWorld time and date for cities in all time zonesAsia/Shanghai
image.registryDocker image registry for the Dolphins Schedulerdocker.io
image.repositoryDocker image repository for the Dolphins Schedulerdolphinscheduler
image.tagDocker image version for the Dolphins Scheduler1.2.1
image.imagePullPolicyImage pull policy. One of Always, Never, IfNotPresentIfNotPresent
imagePullSecretsImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images[]
postgresql.enabledIf not exists external PostgreSQL, by default, the Dolphins Scheduler will use a internal PostgreSQLtrue
postgresql.postgresqlUsernameThe username for internal PostgreSQLroot
postgresql.postgresqlPasswordThe password for internal PostgreSQLroot
postgresql.postgresqlDatabaseThe database for internal PostgreSQLdolphinscheduler
postgresql.persistence.enabledSet postgresql.persistence.enabled to true to mount a new volume for internal PostgreSQLfalse
postgresql.persistence.sizePersistentVolumeClaim Size20Gi
postgresql.persistence.storageClassPostgreSQL data Persistent Volume Storage Class. If set to “-”, storageClassName: "", which disables dynamic provisioning-
externalDatabase.hostIf exists external PostgreSQL, and set postgresql.enable value to false. Dolphins Scheduler's database host will use it.localhost
externalDatabase.portIf exists external PostgreSQL, and set postgresql.enable value to false. Dolphins Scheduler's database port will use it.5432
externalDatabase.usernameIf exists external PostgreSQL, and set postgresql.enable value to false. Dolphins Scheduler's database username will use it.root
externalDatabase.passwordIf exists external PostgreSQL, and set postgresql.enable value to false. Dolphins Scheduler's database password will use it.root
externalDatabase.databaseIf exists external PostgreSQL, and set postgresql.enable value to false. Dolphins Scheduler's database database will use it.dolphinscheduler
zookeeper.enabledIf not exists external Zookeeper, by default, the Dolphin Scheduler will use a internal Zookeepertrue
zookeeper.fourlwCommandsWhitelistA list of comma separated Four Letter Words commands to usesrvr,ruok,wchs,cons
zookeeper.service.portZooKeeper port2181
zookeeper.persistence.enabledSet zookeeper.persistence.enabled to true to mount a new volume for internal Zookeeperfalse
zookeeper.persistence.sizePersistentVolumeClaim Size20Gi
zookeeper.persistence.storageClassZookeeper data Persistent Volume Storage Class. If set to “-”, storageClassName: "", which disables dynamic provisioning-
zookeeper.zookeeperRootSpecify dolphinscheduler root directory in Zookeeper/dolphinscheduler
externalZookeeper.zookeeperQuorumIf exists external Zookeeper, and set zookeeper.enable value to false. Specify Zookeeper quorum127.0.0.1:2181
externalZookeeper.zookeeperRootIf exists external Zookeeper, and set zookeeper.enable value to false. Specify dolphinscheduler root directory in Zookeeper/dolphinscheduler
resource.resourceStorageTypeResource storage type: HDFS, S3, NONEHDFS
resource.resourceUploadPathResource store on HDFS/S3 path, please make sure the directory exists on hdfs and have read write permissions/dolphinscheduler
resource.fsDefaultFSResource storage file system like file:///, hdfs://mycluster:8020 or s3a://dolphinschedulerfile:///
resource.fsS3aEndpointS3 endpoint when resource.resourceStorageType be seted to S3s3.xxx.amazonaws.com
resource.fsS3aAccessKeyS3 access key when resource.resourceStorageType be seted to S3xxxxxxx
resource.fsS3aSecretKeyS3 secret key when resource.resourceStorageType be seted to S3xxxxxxx
resource.persistentVolumeClaim.enabledSet resource.persistentVolumeClaim.enabled to true to mount a new resource volume for api and workerfalse
resource.persistentVolumeClaim.accessModesPersistentVolumeClaim Access Modes, must be ReadWriteMany[ReadWriteMany]
resource.persistentVolumeClaim.storageClassNameResource Persistent Volume Storage Class, must support the access mode: ReadWriteMany-
resource.persistentVolumeClaim.storagePersistentVolumeClaim Size20Gi
master.podManagementPolicyPodManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling downParallel
master.replicasReplicas is the desired number of replicas of the given Template3
master.nodeSelectorNodeSelector is a selector which must be true for the pod to fit on a node{}
master.tolerationsIf specified, the pod's tolerations{}
master.affinityIf specified, the pod's scheduling constraints{}
master.configmap.MASTER_EXEC_THREADSMaster execute thread num100
master.configmap.MASTER_EXEC_TASK_NUMMaster execute task number in parallel20
master.configmap.MASTER_HEARTBEAT_INTERVALMaster heartbeat interval10
master.configmap.MASTER_TASK_COMMIT_RETRYTIMESMaster commit task retry times5
master.configmap.MASTER_TASK_COMMIT_INTERVALMaster commit task interval1000
master.configmap.MASTER_MAX_CPULOAD_AVGOnly less than cpu avg load, master server can work. default value : the number of cpu cores * 2100
master.configmap.MASTER_RESERVED_MEMORYOnly larger than reserved memory, master server can work. default value : physical memory * 1/10, unit is G0.1
master.configmap.MASTER_LISTEN_PORTMaster listen port5678
master.livenessProbe.enabledTurn on and off liveness probetrue
master.livenessProbe.initialDelaySecondsDelay before liveness probe is initiated30
master.livenessProbe.periodSecondsHow often to perform the probe30
master.livenessProbe.timeoutSecondsWhen the probe times out5
master.livenessProbe.failureThresholdMinimum consecutive successes for the probe3
master.livenessProbe.successThresholdMinimum consecutive failures for the probe1
master.readinessProbe.enabledTurn on and off readiness probetrue
master.readinessProbe.initialDelaySecondsDelay before readiness probe is initiated30
master.readinessProbe.periodSecondsHow often to perform the probe30
master.readinessProbe.timeoutSecondsWhen the probe times out5
master.readinessProbe.failureThresholdMinimum consecutive successes for the probe3
master.readinessProbe.successThresholdMinimum consecutive failures for the probe1
master.persistentVolumeClaim.enabledSet master.persistentVolumeClaim.enabled to true to mount a new volume for masterfalse
master.persistentVolumeClaim.accessModesPersistentVolumeClaim Access Modes[ReadWriteOnce]
master.persistentVolumeClaim.storageClassNameMaster logs data Persistent Volume Storage Class. If set to “-”, storageClassName: "", which disables dynamic provisioning-
master.persistentVolumeClaim.storagePersistentVolumeClaim Size20Gi
worker.podManagementPolicyPodManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling downParallel
worker.replicasReplicas is the desired number of replicas of the given Template3
worker.nodeSelectorNodeSelector is a selector which must be true for the pod to fit on a node{}
worker.tolerationsIf specified, the pod's tolerations{}
worker.affinityIf specified, the pod's scheduling constraints{}
worker.configmap.WORKER_EXEC_THREADSWorker execute thread num100
worker.configmap.WORKER_HEARTBEAT_INTERVALWorker heartbeat interval10
worker.configmap.WORKER_MAX_CPULOAD_AVGOnly less than cpu avg load, worker server can work. default value : the number of cpu cores * 2100
worker.configmap.WORKER_RESERVED_MEMORYOnly larger than reserved memory, worker server can work. default value : physical memory * 1/10, unit is G0.1
worker.configmap.WORKER_LISTEN_PORTWorker listen port1234
worker.configmap.WORKER_GROUPWorker groupdefault
worker.configmap.DOLPHINSCHEDULER_DATA_BASEDIR_PATHUser data directory path, self configuration, please make sure the directory exists and have read write permissions/tmp/dolphinscheduler
worker.configmap.DOLPHINSCHEDULER_ENVSystem env path, self configuration, please read values.yaml[]
worker.livenessProbe.enabledTurn on and off liveness probetrue
worker.livenessProbe.initialDelaySecondsDelay before liveness probe is initiated30
worker.livenessProbe.periodSecondsHow often to perform the probe30
worker.livenessProbe.timeoutSecondsWhen the probe times out5
worker.livenessProbe.failureThresholdMinimum consecutive successes for the probe3
worker.livenessProbe.successThresholdMinimum consecutive failures for the probe1
worker.readinessProbe.enabledTurn on and off readiness probetrue
worker.readinessProbe.initialDelaySecondsDelay before readiness probe is initiated30
worker.readinessProbe.periodSecondsHow often to perform the probe30
worker.readinessProbe.timeoutSecondsWhen the probe times out5
worker.readinessProbe.failureThresholdMinimum consecutive successes for the probe3
worker.readinessProbe.successThresholdMinimum consecutive failures for the probe1
worker.persistentVolumeClaim.enabledSet worker.persistentVolumeClaim.enabled to true to enable persistentVolumeClaim for workerfalse
worker.persistentVolumeClaim.dataPersistentVolume.enabledSet worker.persistentVolumeClaim.dataPersistentVolume.enabled to true to mount a data volume for workerfalse
worker.persistentVolumeClaim.dataPersistentVolume.accessModesPersistentVolumeClaim Access Modes[ReadWriteOnce]
worker.persistentVolumeClaim.dataPersistentVolume.storageClassNameWorker data Persistent Volume Storage Class. If set to “-”, storageClassName: "", which disables dynamic provisioning-
worker.persistentVolumeClaim.dataPersistentVolume.storagePersistentVolumeClaim Size20Gi
worker.persistentVolumeClaim.logsPersistentVolume.enabledSet worker.persistentVolumeClaim.logsPersistentVolume.enabled to true to mount a logs volume for workerfalse
worker.persistentVolumeClaim.logsPersistentVolume.accessModesPersistentVolumeClaim Access Modes[ReadWriteOnce]
worker.persistentVolumeClaim.logsPersistentVolume.storageClassNameWorker logs data Persistent Volume Storage Class. If set to “-”, storageClassName: "", which disables dynamic provisioning-
worker.persistentVolumeClaim.logsPersistentVolume.storagePersistentVolumeClaim Size20Gi
alert.strategy.typeType of deployment. Can be “Recreate” or “RollingUpdate”RollingUpdate
alert.strategy.rollingUpdate.maxSurgeThe maximum number of pods that can be scheduled above the desired number of pods25%
alert.strategy.rollingUpdate.maxUnavailableThe maximum number of pods that can be unavailable during the update25%
alert.replicasReplicas is the desired number of replicas of the given Template1
alert.nodeSelectorNodeSelector is a selector which must be true for the pod to fit on a node{}
alert.tolerationsIf specified, the pod's tolerations{}
alert.affinityIf specified, the pod's scheduling constraints{}
alert.configmap.XLS_FILE_PATHXLS file path/tmp/xls
alert.configmap.MAIL_SERVER_HOSTMail SERVER HOST nil
alert.configmap.MAIL_SERVER_PORTMail SERVER PORTnil
alert.configmap.MAIL_SENDERMail SENDERnil
alert.configmap.MAIL_USERMail USERnil
alert.configmap.MAIL_PASSWDMail PASSWORDnil
alert.configmap.MAIL_SMTP_STARTTLS_ENABLEMail SMTP STARTTLS enablefalse
alert.configmap.MAIL_SMTP_SSL_ENABLEMail SMTP SSL enablefalse
alert.configmap.MAIL_SMTP_SSL_TRUSTMail SMTP SSL TRUSTnil
alert.configmap.ENTERPRISE_WECHAT_ENABLEEnterprise Wechat enablefalse
alert.configmap.ENTERPRISE_WECHAT_CORP_IDEnterprise Wechat corp idnil
alert.configmap.ENTERPRISE_WECHAT_SECRETEnterprise Wechat secretnil
alert.configmap.ENTERPRISE_WECHAT_AGENT_IDEnterprise Wechat agent idnil
alert.configmap.ENTERPRISE_WECHAT_USERSEnterprise Wechat usersnil
alert.livenessProbe.enabledTurn on and off liveness probetrue
alert.livenessProbe.initialDelaySecondsDelay before liveness probe is initiated30
alert.livenessProbe.periodSecondsHow often to perform the probe30
alert.livenessProbe.timeoutSecondsWhen the probe times out5
alert.livenessProbe.failureThresholdMinimum consecutive successes for the probe3
alert.livenessProbe.successThresholdMinimum consecutive failures for the probe1
alert.readinessProbe.enabledTurn on and off readiness probetrue
alert.readinessProbe.initialDelaySecondsDelay before readiness probe is initiated30
alert.readinessProbe.periodSecondsHow often to perform the probe30
alert.readinessProbe.timeoutSecondsWhen the probe times out5
alert.readinessProbe.failureThresholdMinimum consecutive successes for the probe3
alert.readinessProbe.successThresholdMinimum consecutive failures for the probe1
alert.persistentVolumeClaim.enabledSet alert.persistentVolumeClaim.enabled to true to mount a new volume for alertfalse
alert.persistentVolumeClaim.accessModesPersistentVolumeClaim Access Modes[ReadWriteOnce]
alert.persistentVolumeClaim.storageClassNameAlert logs data Persistent Volume Storage Class. If set to “-”, storageClassName: "", which disables dynamic provisioning-
alert.persistentVolumeClaim.storagePersistentVolumeClaim Size20Gi
api.strategy.typeType of deployment. Can be “Recreate” or “RollingUpdate”RollingUpdate
api.strategy.rollingUpdate.maxSurgeThe maximum number of pods that can be scheduled above the desired number of pods25%
api.strategy.rollingUpdate.maxUnavailableThe maximum number of pods that can be unavailable during the update25%
api.replicasReplicas is the desired number of replicas of the given Template1
api.nodeSelectorNodeSelector is a selector which must be true for the pod to fit on a node{}
api.tolerationsIf specified, the pod's tolerations{}
api.affinityIf specified, the pod's scheduling constraints{}
api.livenessProbe.enabledTurn on and off liveness probetrue
api.livenessProbe.initialDelaySecondsDelay before liveness probe is initiated30
api.livenessProbe.periodSecondsHow often to perform the probe30
api.livenessProbe.timeoutSecondsWhen the probe times out5
api.livenessProbe.failureThresholdMinimum consecutive successes for the probe3
api.livenessProbe.successThresholdMinimum consecutive failures for the probe1
api.readinessProbe.enabledTurn on and off readiness probetrue
api.readinessProbe.initialDelaySecondsDelay before readiness probe is initiated30
api.readinessProbe.periodSecondsHow often to perform the probe30
api.readinessProbe.timeoutSecondsWhen the probe times out5
api.readinessProbe.failureThresholdMinimum consecutive successes for the probe3
api.readinessProbe.successThresholdMinimum consecutive failures for the probe1
api.persistentVolumeClaim.enabledSet api.persistentVolumeClaim.enabled to true to mount a new volume for apifalse
api.persistentVolumeClaim.accessModesPersistentVolumeClaim Access Modes[ReadWriteOnce]
api.persistentVolumeClaim.storageClassNameapi logs data Persistent Volume Storage Class. If set to “-”, storageClassName: "", which disables dynamic provisioning-
api.persistentVolumeClaim.storagePersistentVolumeClaim Size20Gi
ingress.enabledEnable ingressfalse
ingress.hostIngress hostdolphinscheduler.org
ingress.pathIngress path/
ingress.tls.enabledEnable ingress tlsfalse
ingress.tls.hostsIngress tls hostsdolphinscheduler.org
ingress.tls.secretNameIngress tls secret namedolphinscheduler-tls

For more information please refer to the chart documentation.