DolphinScheduler/docker/kubernetes/dolphinscheduler
2021-01-22 18:00:34 +08:00
..
templates [Feature#3234][cluster]enhanced load balancing (#3235) 2020-08-10 19:05:21 +08:00
Chart.yaml fix and update k8s deploy (#3215) 2020-07-16 16:36:29 +08:00
README.md fix and update k8s deploy (#3215) 2020-07-16 16:36:29 +08:00
requirements.yaml Merge dev to alert_plugin_design (#4351) 2021-01-08 15:56:19 +08:00
requirements.yaml~dev Revert "[Feature-#3049] Alert Plugin Design(merge alert_plugin_design to dev) (#4495)" (#4535) 2021-01-22 17:35:02 +08:00
requirements.yaml~dev_0 reslove 2021-01-22 18:00:34 +08:00
requirements.yaml~HEAD Revert "[Feature-#3049] Alert Plugin Design(merge alert_plugin_design to dev) (#4495)" (#4535) 2021-01-22 17:35:02 +08:00
requirements.yaml~HEAD_0 reslove 2021-01-22 18:00:34 +08:00
values.yaml [Feature#3234][cluster]enhanced load balancing (#3235) 2020-08-10 19:05:21 +08:00

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

  • Kubernetes 1.10+
  • PV provisioner support in the underlying infrastructure

Installing the Chart

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

$ git clone https://github.com/apache/incubator-dolphinscheduler.git
$ cd incubator-dolphinscheduler/kubernetes/dolphinscheduler
$ helm repo add bitnami https://charts.bitnami.com/bitnami
$ helm dependency update .
$ helm install --name 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 delete --purge 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.

Parameter Description Default
timezone World time and date for cities in all time zones Asia/Shanghai
image.registry Docker image registry for the Dolphins Scheduler docker.io
image.repository Docker image repository for the Dolphins Scheduler dolphinscheduler
image.tag Docker image version for the Dolphins Scheduler 1.2.1
image.imagePullPolicy Image pull policy. One of Always, Never, IfNotPresent IfNotPresent
image.pullSecres PullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images []
postgresql.enabled If not exists external PostgreSQL, by default, the Dolphins Scheduler will use a internal PostgreSQL true
postgresql.postgresqlUsername The username for internal PostgreSQL root
postgresql.postgresqlPassword The password for internal PostgreSQL root
postgresql.postgresqlDatabase The database for internal PostgreSQL dolphinscheduler
postgresql.persistence.enabled Set postgresql.persistence.enabled to true to mount a new volume for internal PostgreSQL false
postgresql.persistence.size PersistentVolumeClaim Size 20Gi
postgresql.persistence.storageClass PostgreSQL data Persistent Volume Storage Class. If set to "-", storageClassName: "", which disables dynamic provisioning -
externalDatabase.type If exists external PostgreSQL, and set postgresql.enable value to false. Dolphins Scheduler's database type will use it. postgresql
externalDatabase.driver If exists external PostgreSQL, and set postgresql.enable value to false. Dolphins Scheduler's database driver will use it. org.postgresql.Driver
externalDatabase.host If exists external PostgreSQL, and set postgresql.enable value to false. Dolphins Scheduler's database host will use it. localhost
externalDatabase.port If exists external PostgreSQL, and set postgresql.enable value to false. Dolphins Scheduler's database port will use it. 5432
externalDatabase.username If exists external PostgreSQL, and set postgresql.enable value to false. Dolphins Scheduler's database username will use it. root
externalDatabase.password If exists external PostgreSQL, and set postgresql.enable value to false. Dolphins Scheduler's database password will use it. root
externalDatabase.database If exists external PostgreSQL, and set postgresql.enable value to false. Dolphins Scheduler's database database will use it. dolphinscheduler
externalDatabase.params If exists external PostgreSQL, and set postgresql.enable value to false. Dolphins Scheduler's database params will use it. characterEncoding=utf8
zookeeper.enabled If not exists external Zookeeper, by default, the Dolphin Scheduler will use a internal Zookeeper true
zookeeper.taskQueue Specify task queue for master and worker zookeeper
zookeeper.persistence.enabled Set zookeeper.persistence.enabled to true to mount a new volume for internal Zookeeper false
zookeeper.persistence.size PersistentVolumeClaim Size 20Gi
zookeeper.persistence.storageClass Zookeeper data Persistent Volume Storage Class. If set to "-", storageClassName: "", which disables dynamic provisioning -
externalZookeeper.taskQueue If exists external Zookeeper, and set zookeeper.enable value to false. Specify task queue for master and worker zookeeper
externalZookeeper.zookeeperQuorum If exists external Zookeeper, and set zookeeper.enable value to false. Specify Zookeeper quorum 127.0.0.1:2181
externalZookeeper.zookeeperRoot If exists external Zookeeper, and set zookeeper.enable value to false. Specify Zookeeper root path for master and worker dolphinscheduler
common.configmap.DOLPHINSCHEDULER_ENV_PATH Extra env file path. /tmp/dolphinscheduler/env
common.configmap.DOLPHINSCHEDULER_DATA_BASEDIR_PATH File uploaded path of DS. /tmp/dolphinscheduler/files
common.configmap.RESOURCE_STORAGE_TYPE Resource Storate type, support type are: S3、HDFS、NONE. NONE
common.configmap.RESOURCE_UPLOAD_PATH The base path of resource. /ds
common.configmap.FS_DEFAULT_FS The default fs of resource, for s3 is the s3a prefix and bucket name. s3a://xxxx
common.configmap.FS_S3A_ENDPOINT If the resource type is S3, you should fill this filed, it's the endpoint of s3. s3.xxx.amazonaws.com
common.configmap.FS_S3A_ACCESS_KEY The access key for your s3 bucket. xxxxxxx
common.configmap.FS_S3A_SECRET_KEY The secret key for your s3 bucket. xxxxxxx
master.podManagementPolicy PodManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down Parallel
master.replicas Replicas is the desired number of replicas of the given Template 3
master.nodeSelector NodeSelector is a selector which must be true for the pod to fit on a node {}
master.tolerations If specified, the pod's tolerations {}
master.affinity If specified, the pod's scheduling constraints {}
master.jvmOptions The JVM options for master server. ""
master.resources The resource limit and request config for master server. {}
master.annotations The annotations for master server. {}
master.configmap.MASTER_EXEC_THREADS Master execute thread num 100
master.configmap.MASTER_EXEC_TASK_NUM Master execute task number in parallel 20
master.configmap.MASTER_HEARTBEAT_INTERVAL Master heartbeat interval 10
master.configmap.MASTER_TASK_COMMIT_RETRYTIMES Master commit task retry times 5
master.configmap.MASTER_TASK_COMMIT_INTERVAL Master commit task interval 1000
master.configmap.MASTER_MAX_CPULOAD_AVG Only less than cpu avg load, master server can work. default value : the number of cpu cores * 2 100
master.configmap.MASTER_RESERVED_MEMORY Only larger than reserved memory, master server can work. default value : physical memory * 1/10, unit is G 0.1
master.livenessProbe.enabled Turn on and off liveness probe true
master.livenessProbe.initialDelaySeconds Delay before liveness probe is initiated 30
master.livenessProbe.periodSeconds How often to perform the probe 30
master.livenessProbe.timeoutSeconds When the probe times out 5
master.livenessProbe.failureThreshold Minimum consecutive successes for the probe 3
master.livenessProbe.successThreshold Minimum consecutive failures for the probe 1
master.readinessProbe.enabled Turn on and off readiness probe true
master.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated 30
master.readinessProbe.periodSeconds How often to perform the probe 30
master.readinessProbe.timeoutSeconds When the probe times out 5
master.readinessProbe.failureThreshold Minimum consecutive successes for the probe 3
master.readinessProbe.successThreshold Minimum consecutive failures for the probe 1
master.persistentVolumeClaim.enabled Set master.persistentVolumeClaim.enabled to true to mount a new volume for master false
master.persistentVolumeClaim.accessModes PersistentVolumeClaim Access Modes [ReadWriteOnce]
master.persistentVolumeClaim.storageClassName Master logs data Persistent Volume Storage Class. If set to "-", storageClassName: "", which disables dynamic provisioning -
master.persistentVolumeClaim.storage PersistentVolumeClaim Size 20Gi
worker.podManagementPolicy PodManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down Parallel
worker.replicas Replicas is the desired number of replicas of the given Template 3
worker.nodeSelector NodeSelector is a selector which must be true for the pod to fit on a node {}
worker.tolerations If specified, the pod's tolerations {}
worker.affinity If specified, the pod's scheduling constraints {}
worker.jvmOptions The JVM options for worker server. ""
worker.resources The resource limit and request config for worker server. {}
worker.annotations The annotations for worker server. {}
worker.configmap.WORKER_EXEC_THREADS Worker execute thread num 100
worker.configmap.WORKER_HEARTBEAT_INTERVAL Worker heartbeat interval 10
worker.configmap.WORKER_FETCH_TASK_NUM Submit the number of tasks at a time 3
worker.configmap.WORKER_MAX_CPULOAD_AVG Only less than cpu avg load, worker server can work. default value : the number of cpu cores * 2 100
worker.configmap.WORKER_RESERVED_MEMORY Only larger than reserved memory, worker server can work. default value : physical memory * 1/10, unit is G 0.1
worker.configmap.DOLPHINSCHEDULER_DATA_BASEDIR_PATH User data directory path, self configuration, please make sure the directory exists and have read write permissions /tmp/dolphinscheduler
worker.configmap.DOLPHINSCHEDULER_ENV System env path, self configuration, please read values.yaml []
worker.livenessProbe.enabled Turn on and off liveness probe true
worker.livenessProbe.initialDelaySeconds Delay before liveness probe is initiated 30
worker.livenessProbe.periodSeconds How often to perform the probe 30
worker.livenessProbe.timeoutSeconds When the probe times out 5
worker.livenessProbe.failureThreshold Minimum consecutive successes for the probe 3
worker.livenessProbe.successThreshold Minimum consecutive failures for the probe 1
worker.readinessProbe.enabled Turn on and off readiness probe true
worker.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated 30
worker.readinessProbe.periodSeconds How often to perform the probe 30
worker.readinessProbe.timeoutSeconds When the probe times out 5
worker.readinessProbe.failureThreshold Minimum consecutive successes for the probe 3
worker.readinessProbe.successThreshold Minimum consecutive failures for the probe 1
worker.persistentVolumeClaim.enabled Set worker.persistentVolumeClaim.enabled to true to enable persistentVolumeClaim for worker false
worker.persistentVolumeClaim.dataPersistentVolume.enabled Set worker.persistentVolumeClaim.dataPersistentVolume.enabled to true to mount a data volume for worker false
worker.persistentVolumeClaim.dataPersistentVolume.accessModes PersistentVolumeClaim Access Modes [ReadWriteOnce]
worker.persistentVolumeClaim.dataPersistentVolume.storageClassName Worker data Persistent Volume Storage Class. If set to "-", storageClassName: "", which disables dynamic provisioning -
worker.persistentVolumeClaim.dataPersistentVolume.storage PersistentVolumeClaim Size 20Gi
worker.persistentVolumeClaim.logsPersistentVolume.enabled Set worker.persistentVolumeClaim.logsPersistentVolume.enabled to true to mount a logs volume for worker false
worker.persistentVolumeClaim.logsPersistentVolume.accessModes PersistentVolumeClaim Access Modes [ReadWriteOnce]
worker.persistentVolumeClaim.logsPersistentVolume.storageClassName Worker logs data Persistent Volume Storage Class. If set to "-", storageClassName: "", which disables dynamic provisioning -
worker.persistentVolumeClaim.logsPersistentVolume.storage PersistentVolumeClaim Size 20Gi
alert.strategy.type Type of deployment. Can be "Recreate" or "RollingUpdate" RollingUpdate
alert.strategy.rollingUpdate.maxSurge The maximum number of pods that can be scheduled above the desired number of pods 25%
alert.strategy.rollingUpdate.maxUnavailable The maximum number of pods that can be unavailable during the update 25%
alert.replicas Replicas is the desired number of replicas of the given Template 1
alert.nodeSelector NodeSelector is a selector which must be true for the pod to fit on a node {}
alert.tolerations If specified, the pod's tolerations {}
alert.affinity If specified, the pod's scheduling constraints {}
alert.jvmOptions The JVM options for alert server. ""
alert.resources The resource limit and request config for alert server. {}
alert.annotations The annotations for alert server. {}
alert.configmap.ALERT_PLUGIN_DIR Alert plugin path. /opt/dolphinscheduler/alert/plugin
alert.configmap.XLS_FILE_PATH XLS file path /tmp/xls
alert.configmap.MAIL_SERVER_HOST Mail SERVER HOST nil
alert.configmap.MAIL_SERVER_PORT Mail SERVER PORT nil
alert.configmap.MAIL_SENDER Mail SENDER nil
alert.configmap.MAIL_USER Mail USER nil
alert.configmap.MAIL_PASSWD Mail PASSWORD nil
alert.configmap.MAIL_SMTP_STARTTLS_ENABLE Mail SMTP STARTTLS enable false
alert.configmap.MAIL_SMTP_SSL_ENABLE Mail SMTP SSL enable false
alert.configmap.MAIL_SMTP_SSL_TRUST Mail SMTP SSL TRUST nil
alert.configmap.ENTERPRISE_WECHAT_ENABLE Enterprise Wechat enable false
alert.configmap.ENTERPRISE_WECHAT_CORP_ID Enterprise Wechat corp id nil
alert.configmap.ENTERPRISE_WECHAT_SECRET Enterprise Wechat secret nil
alert.configmap.ENTERPRISE_WECHAT_AGENT_ID Enterprise Wechat agent id nil
alert.configmap.ENTERPRISE_WECHAT_USERS Enterprise Wechat users nil
alert.livenessProbe.enabled Turn on and off liveness probe true
alert.livenessProbe.initialDelaySeconds Delay before liveness probe is initiated 30
alert.livenessProbe.periodSeconds How often to perform the probe 30
alert.livenessProbe.timeoutSeconds When the probe times out 5
alert.livenessProbe.failureThreshold Minimum consecutive successes for the probe 3
alert.livenessProbe.successThreshold Minimum consecutive failures for the probe 1
alert.readinessProbe.enabled Turn on and off readiness probe true
alert.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated 30
alert.readinessProbe.periodSeconds How often to perform the probe 30
alert.readinessProbe.timeoutSeconds When the probe times out 5
alert.readinessProbe.failureThreshold Minimum consecutive successes for the probe 3
alert.readinessProbe.successThreshold Minimum consecutive failures for the probe 1
alert.persistentVolumeClaim.enabled Set alert.persistentVolumeClaim.enabled to true to mount a new volume for alert false
alert.persistentVolumeClaim.accessModes PersistentVolumeClaim Access Modes [ReadWriteOnce]
alert.persistentVolumeClaim.storageClassName Alert logs data Persistent Volume Storage Class. If set to "-", storageClassName: "", which disables dynamic provisioning -
alert.persistentVolumeClaim.storage PersistentVolumeClaim Size 20Gi
api.strategy.type Type of deployment. Can be "Recreate" or "RollingUpdate" RollingUpdate
api.strategy.rollingUpdate.maxSurge The maximum number of pods that can be scheduled above the desired number of pods 25%
api.strategy.rollingUpdate.maxUnavailable The maximum number of pods that can be unavailable during the update 25%
api.replicas Replicas is the desired number of replicas of the given Template 1
api.nodeSelector NodeSelector is a selector which must be true for the pod to fit on a node {}
api.tolerations If specified, the pod's tolerations {}
api.affinity If specified, the pod's scheduling constraints {}
api.jvmOptions The JVM options for api server. ""
api.resources The resource limit and request config for api server. {}
api.annotations The annotations for api server. {}
api.livenessProbe.enabled Turn on and off liveness probe true
api.livenessProbe.initialDelaySeconds Delay before liveness probe is initiated 30
api.livenessProbe.periodSeconds How often to perform the probe 30
api.livenessProbe.timeoutSeconds When the probe times out 5
api.livenessProbe.failureThreshold Minimum consecutive successes for the probe 3
api.livenessProbe.successThreshold Minimum consecutive failures for the probe 1
api.readinessProbe.enabled Turn on and off readiness probe true
api.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated 30
api.readinessProbe.periodSeconds How often to perform the probe 30
api.readinessProbe.timeoutSeconds When the probe times out 5
api.readinessProbe.failureThreshold Minimum consecutive successes for the probe 3
api.readinessProbe.successThreshold Minimum consecutive failures for the probe 1
api.persistentVolumeClaim.enabled Set api.persistentVolumeClaim.enabled to true to mount a new volume for api false
api.persistentVolumeClaim.accessModes PersistentVolumeClaim Access Modes [ReadWriteOnce]
api.persistentVolumeClaim.storageClassName api logs data Persistent Volume Storage Class. If set to "-", storageClassName: "", which disables dynamic provisioning -
api.persistentVolumeClaim.storage PersistentVolumeClaim Size 20Gi
frontend.strategy.type Type of deployment. Can be "Recreate" or "RollingUpdate" RollingUpdate
frontend.strategy.rollingUpdate.maxSurge The maximum number of pods that can be scheduled above the desired number of pods 25%
frontend.strategy.rollingUpdate.maxUnavailable The maximum number of pods that can be unavailable during the update 25%
frontend.replicas Replicas is the desired number of replicas of the given Template 1
frontend.nodeSelector NodeSelector is a selector which must be true for the pod to fit on a node {}
frontend.tolerations If specified, the pod's tolerations {}
frontend.affinity If specified, the pod's scheduling constraints {}
frontend.resources The resource limit and request config for frontend server. {}
frontend.annotations The annotations for frontend server. {}
frontend.livenessProbe.enabled Turn on and off liveness probe true
frontend.livenessProbe.initialDelaySeconds Delay before liveness probe is initiated 30
frontend.livenessProbe.periodSeconds How often to perform the probe 30
frontend.livenessProbe.timeoutSeconds When the probe times out 5
frontend.livenessProbe.failureThreshold Minimum consecutive successes for the probe 3
frontend.livenessProbe.successThreshold Minimum consecutive failures for the probe 1
frontend.readinessProbe.enabled Turn on and off readiness probe true
frontend.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated 30
frontend.readinessProbe.periodSeconds How often to perform the probe 30
frontend.readinessProbe.timeoutSeconds When the probe times out 5
frontend.readinessProbe.failureThreshold Minimum consecutive successes for the probe 3
frontend.readinessProbe.successThreshold Minimum consecutive failures for the probe 1
frontend.persistentVolumeClaim.enabled Set frontend.persistentVolumeClaim.enabled to true to mount a new volume for frontend false
frontend.persistentVolumeClaim.accessModes PersistentVolumeClaim Access Modes [ReadWriteOnce]
frontend.persistentVolumeClaim.storageClassName frontend logs data Persistent Volume Storage Class. If set to "-", storageClassName: "", which disables dynamic provisioning -
frontend.persistentVolumeClaim.storage PersistentVolumeClaim Size 20Gi
ingress.enabled Enable ingress false
ingress.host Ingress host dolphinscheduler.org
ingress.path Ingress path /
ingress.tls.enabled Enable ingress tls false
ingress.tls.hosts Ingress tls hosts dolphinscheduler.org
ingress.tls.secretName Ingress tls secret name dolphinscheduler-tls

For more information please refer to the chart documentation.