| # |
| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You under the Apache License, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| |
| # Default values for dolphinscheduler-chart. |
| # This is a YAML-formatted file. |
| # Declare variables to be passed into your templates. |
| |
| timezone: "Asia/Shanghai" |
| |
| image: |
| registry: "dolphinscheduler.docker.scarf.sh/apache" |
| tag: "dev-SNAPSHOT" |
| pullPolicy: "IfNotPresent" |
| pullSecret: "" |
| |
| ## If not exists external database, by default, Dolphinscheduler's database will use it. |
| postgresql: |
| enabled: true |
| postgresqlUsername: "root" |
| postgresqlPassword: "root" |
| postgresqlDatabase: "dolphinscheduler" |
| persistence: |
| enabled: false |
| size: "20Gi" |
| storageClass: "-" |
| |
| ## If exists external database, and set postgresql.enable value to false. |
| ## external database will be used, otherwise Dolphinscheduler's database will be used. |
| externalDatabase: |
| type: "postgresql" |
| host: "localhost" |
| port: "5432" |
| username: "root" |
| password: "root" |
| database: "dolphinscheduler" |
| params: "characterEncoding=utf8" |
| |
| ## If not exists external registry, the zookeeper registry will be used by default. |
| zookeeper: |
| enabled: true |
| service: |
| port: 2181 |
| fourlwCommandsWhitelist: "srvr,ruok,wchs,cons" |
| persistence: |
| enabled: false |
| size: "20Gi" |
| storageClass: "-" |
| |
| ## If exists external registry and set zookeeper.enable value to false, the external registry will be used. |
| externalRegistry: |
| registryPluginDir: "lib/plugin/registry" |
| registryPluginName: "zookeeper" |
| registryServers: "127.0.0.1:2181" |
| |
| common: |
| ## Configmap |
| configmap: |
| DOLPHINSCHEDULER_OPTS: "" |
| DATA_BASEDIR_PATH: "/tmp/dolphinscheduler" |
| RESOURCE_STORAGE_TYPE: "HDFS" |
| RESOURCE_UPLOAD_PATH: "/dolphinscheduler" |
| FS_DEFAULT_FS: "file:///" |
| FS_S3A_ENDPOINT: "s3.xxx.amazonaws.com" |
| FS_S3A_ACCESS_KEY: "xxxxxxx" |
| FS_S3A_SECRET_KEY: "xxxxxxx" |
| HADOOP_SECURITY_AUTHENTICATION_STARTUP_STATE: "false" |
| JAVA_SECURITY_KRB5_CONF_PATH: "/opt/krb5.conf" |
| LOGIN_USER_KEYTAB_USERNAME: "hdfs@HADOOP.COM" |
| LOGIN_USER_KEYTAB_PATH: "/opt/hdfs.keytab" |
| KERBEROS_EXPIRE_TIME: "2" |
| HDFS_ROOT_USER: "hdfs" |
| RESOURCE_MANAGER_HTTPADDRESS_PORT: "8088" |
| YARN_RESOURCEMANAGER_HA_RM_IDS: "" |
| YARN_APPLICATION_STATUS_ADDRESS: "http://ds1:%s/ws/v1/cluster/apps/%s" |
| YARN_JOB_HISTORY_STATUS_ADDRESS: "http://ds1:19888/ws/v1/history/mapreduce/jobs/%s" |
| DATASOURCE_ENCRYPTION_ENABLE: "false" |
| DATASOURCE_ENCRYPTION_SALT: "!@#$%^&*" |
| SUDO_ENABLE: "true" |
| # dolphinscheduler env |
| HADOOP_HOME: "/opt/soft/hadoop" |
| HADOOP_CONF_DIR: "/opt/soft/hadoop/etc/hadoop" |
| SPARK_HOME1: "/opt/soft/spark1" |
| SPARK_HOME2: "/opt/soft/spark2" |
| PYTHON_HOME: "/usr/bin/python" |
| JAVA_HOME: "/usr/local/openjdk-8" |
| HIVE_HOME: "/opt/soft/hive" |
| FLINK_HOME: "/opt/soft/flink" |
| DATAX_HOME: "/opt/soft/datax" |
| ## Shared storage persistence mounted into api, master and worker, such as Hadoop, Spark, Flink and DataX binary package |
| sharedStoragePersistence: |
| enabled: false |
| mountPath: "/opt/soft" |
| accessModes: |
| - "ReadWriteMany" |
| ## storageClassName must support the access mode: ReadWriteMany |
| storageClassName: "-" |
| storage: "20Gi" |
| ## If RESOURCE_STORAGE_TYPE is HDFS and FS_DEFAULT_FS is file:///, fsFileResourcePersistence should be enabled for resource storage |
| fsFileResourcePersistence: |
| enabled: false |
| accessModes: |
| - "ReadWriteMany" |
| ## storageClassName must support the access mode: ReadWriteMany |
| storageClassName: "-" |
| storage: "20Gi" |
| |
| master: |
| ## PodManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down. |
| podManagementPolicy: "Parallel" |
| ## Replicas is the desired number of replicas of the given Template. |
| replicas: "3" |
| ## You can use annotations to attach arbitrary non-identifying metadata to objects. |
| ## Clients such as tools and libraries can retrieve this metadata. |
| annotations: {} |
| ## Affinity is a group of affinity scheduling rules. If specified, the pod's scheduling constraints. |
| ## More info: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#affinity-v1-core |
| affinity: {} |
| ## NodeSelector is a selector which must be true for the pod to fit on a node. |
| ## Selector which must match a node's labels for the pod to be scheduled on that node. |
| ## More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ |
| nodeSelector: {} |
| ## Tolerations are appended (excluding duplicates) to pods running with this RuntimeClass during admission, |
| ## effectively unioning the set of nodes tolerated by the pod and the RuntimeClass. |
| tolerations: [] |
| ## Compute Resources required by this container. Cannot be updated. |
| ## More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container |
| resources: {} |
| # resources: |
| # limits: |
| # memory: "8Gi" |
| # cpu: "4" |
| # requests: |
| # memory: "2Gi" |
| # cpu: "500m" |
| ## Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. |
| ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| livenessProbe: |
| enabled: true |
| initialDelaySeconds: "30" |
| periodSeconds: "30" |
| timeoutSeconds: "5" |
| failureThreshold: "3" |
| successThreshold: "1" |
| ## Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. |
| ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| readinessProbe: |
| enabled: true |
| initialDelaySeconds: "30" |
| periodSeconds: "30" |
| timeoutSeconds: "5" |
| failureThreshold: "3" |
| successThreshold: "1" |
| ## PersistentVolumeClaim represents a reference to a PersistentVolumeClaim in the same namespace. |
| ## The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod. |
| ## Every claim in this list must have at least one matching (by name) volumeMount in one container in the template. |
| ## A claim in this list takes precedence over any volumes in the template, with the same name. |
| persistentVolumeClaim: |
| enabled: false |
| accessModes: |
| - "ReadWriteOnce" |
| storageClassName: "-" |
| storage: "20Gi" |
| env: |
| JAVA_OPTS: "-Xms1g -Xmx1g -Xmn512m" |
| MASTER_EXEC_THREADS: "100" |
| MASTER_EXEC_TASK_NUM: "20" |
| MASTER_DISPATCH_TASK_NUM: "3" |
| MASTER_HOST_SELECTOR: "LowerWeight" |
| MASTER_HEARTBEAT_INTERVAL: "10s" |
| MASTER_HEARTBEAT_ERROR_THRESHOLD: "5" |
| MASTER_TASK_COMMIT_RETRYTIMES: "5" |
| MASTER_TASK_COMMIT_INTERVAL: "1s" |
| MASTER_STATE_WHEEL_INTERVAL: "5s" |
| MASTER_MAX_CPU_LOAD_AVG: "-1" |
| MASTER_RESERVED_MEMORY: "0.3" |
| MASTER_FAILOVER_INTERVAL: "10m" |
| MASTER_KILL_YARN_JOB_WHEN_HANDLE_FAILOVER: "true" |
| |
| worker: |
| ## PodManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down. |
| podManagementPolicy: "Parallel" |
| ## Replicas is the desired number of replicas of the given Template. |
| replicas: "3" |
| ## You can use annotations to attach arbitrary non-identifying metadata to objects. |
| ## Clients such as tools and libraries can retrieve this metadata. |
| annotations: {} |
| ## Affinity is a group of affinity scheduling rules. If specified, the pod's scheduling constraints. |
| ## More info: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#affinity-v1-core |
| affinity: {} |
| ## NodeSelector is a selector which must be true for the pod to fit on a node. |
| ## Selector which must match a node's labels for the pod to be scheduled on that node. |
| ## More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ |
| nodeSelector: {} |
| ## Tolerations are appended (excluding duplicates) to pods running with this RuntimeClass during admission, |
| ## effectively unioning the set of nodes tolerated by the pod and the RuntimeClass. |
| tolerations: [] |
| ## Compute Resources required by this container. Cannot be updated. |
| ## More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container |
| resources: {} |
| # resources: |
| # limits: |
| # memory: "8Gi" |
| # cpu: "4" |
| # requests: |
| # memory: "2Gi" |
| # cpu: "500m" |
| ## Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. |
| ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| livenessProbe: |
| enabled: true |
| initialDelaySeconds: "30" |
| periodSeconds: "30" |
| timeoutSeconds: "5" |
| failureThreshold: "3" |
| successThreshold: "1" |
| ## Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. |
| ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| readinessProbe: |
| enabled: true |
| initialDelaySeconds: "30" |
| periodSeconds: "30" |
| timeoutSeconds: "5" |
| failureThreshold: "3" |
| successThreshold: "1" |
| ## PersistentVolumeClaim represents a reference to a PersistentVolumeClaim in the same namespace. |
| ## The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod. |
| ## Every claim in this list must have at least one matching (by name) volumeMount in one container in the template. |
| ## A claim in this list takes precedence over any volumes in the template, with the same name. |
| persistentVolumeClaim: |
| enabled: false |
| ## dolphinscheduler data volume |
| dataPersistentVolume: |
| enabled: false |
| accessModes: |
| - "ReadWriteOnce" |
| storageClassName: "-" |
| storage: "20Gi" |
| ## dolphinscheduler logs volume |
| logsPersistentVolume: |
| enabled: false |
| accessModes: |
| - "ReadWriteOnce" |
| storageClassName: "-" |
| storage: "20Gi" |
| env: |
| WORKER_GROUPS_0: default |
| WORKER_MAX_CPU_LOAD_AVG: "-1" |
| WORKER_RESERVED_MEMORY: "0.3" |
| WORKER_EXEC_THREADS: "100" |
| WORKER_HEARTBEAT_INTERVAL: "10s" |
| WORKER_HEART_ERROR_THRESHOLD: "5" |
| WORKER_HOST_WEIGHT: "100" |
| WORKER_GROUPS: "default" |
| |
| alert: |
| ## Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1. |
| replicas: 1 |
| ## The deployment strategy to use to replace existing pods with new ones. |
| strategy: |
| type: "RollingUpdate" |
| rollingUpdate: |
| maxSurge: "25%" |
| maxUnavailable: "25%" |
| ## You can use annotations to attach arbitrary non-identifying metadata to objects. |
| ## Clients such as tools and libraries can retrieve this metadata. |
| annotations: {} |
| ## NodeSelector is a selector which must be true for the pod to fit on a node. |
| ## Selector which must match a node's labels for the pod to be scheduled on that node. |
| ## More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ |
| affinity: {} |
| ## Compute Resources required by this container. Cannot be updated. |
| ## More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container |
| nodeSelector: {} |
| ## Tolerations are appended (excluding duplicates) to pods running with this RuntimeClass during admission, |
| ## effectively unioning the set of nodes tolerated by the pod and the RuntimeClass. |
| tolerations: [] |
| ## Affinity is a group of affinity scheduling rules. If specified, the pod's scheduling constraints. |
| ## More info: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#affinity-v1-core |
| resources: {} |
| # resources: |
| # limits: |
| # memory: "2Gi" |
| # cpu: "1" |
| # requests: |
| # memory: "1Gi" |
| # cpu: "500m" |
| ## Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. |
| ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| livenessProbe: |
| enabled: true |
| initialDelaySeconds: "30" |
| periodSeconds: "30" |
| timeoutSeconds: "5" |
| failureThreshold: "3" |
| successThreshold: "1" |
| ## Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. |
| ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| readinessProbe: |
| enabled: true |
| initialDelaySeconds: "30" |
| periodSeconds: "30" |
| timeoutSeconds: "5" |
| failureThreshold: "3" |
| successThreshold: "1" |
| ## PersistentVolumeClaim represents a reference to a PersistentVolumeClaim in the same namespace. |
| ## More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims |
| persistentVolumeClaim: |
| enabled: false |
| accessModes: |
| - "ReadWriteOnce" |
| storageClassName: "-" |
| storage: "20Gi" |
| env: |
| JAVA_OPTS: "-Xms512m -Xmx512m -Xmn256m" |
| |
| api: |
| ## Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1. |
| replicas: "1" |
| ## The deployment strategy to use to replace existing pods with new ones. |
| strategy: |
| type: "RollingUpdate" |
| rollingUpdate: |
| maxSurge: "25%" |
| maxUnavailable: "25%" |
| ## You can use annotations to attach arbitrary non-identifying metadata to objects. |
| ## Clients such as tools and libraries can retrieve this metadata. |
| annotations: {} |
| ## NodeSelector is a selector which must be true for the pod to fit on a node. |
| ## Selector which must match a node's labels for the pod to be scheduled on that node. |
| ## More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ |
| affinity: {} |
| ## Compute Resources required by this container. Cannot be updated. |
| ## More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container |
| nodeSelector: {} |
| ## Tolerations are appended (excluding duplicates) to pods running with this RuntimeClass during admission, |
| ## effectively unioning the set of nodes tolerated by the pod and the RuntimeClass. |
| tolerations: [] |
| ## Affinity is a group of affinity scheduling rules. If specified, the pod's scheduling constraints. |
| ## More info: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#affinity-v1-core |
| resources: {} |
| # resources: |
| # limits: |
| # memory: "2Gi" |
| # cpu: "1" |
| # requests: |
| # memory: "1Gi" |
| # cpu: "500m" |
| ## Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. |
| ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| livenessProbe: |
| enabled: true |
| initialDelaySeconds: "30" |
| periodSeconds: "30" |
| timeoutSeconds: "5" |
| failureThreshold: "3" |
| successThreshold: "1" |
| ## Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. |
| ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| readinessProbe: |
| enabled: true |
| initialDelaySeconds: "30" |
| periodSeconds: "30" |
| timeoutSeconds: "5" |
| failureThreshold: "3" |
| successThreshold: "1" |
| ## PersistentVolumeClaim represents a reference to a PersistentVolumeClaim in the same namespace. |
| ## More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims |
| persistentVolumeClaim: |
| enabled: false |
| accessModes: |
| - "ReadWriteOnce" |
| storageClassName: "-" |
| storage: "20Gi" |
| service: |
| ## type determines how the Service is exposed. Defaults to ClusterIP. Valid options are ExternalName, ClusterIP, NodePort, and LoadBalancer |
| type: "ClusterIP" |
| ## clusterIP is the IP address of the service and is usually assigned randomly by the master |
| clusterIP: "" |
| ## nodePort is the port on each node on which this service is exposed when type=NodePort |
| nodePort: "" |
| ## externalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service |
| externalIPs: [] |
| ## externalName is the external reference that kubedns or equivalent will return as a CNAME record for this service, requires Type to be ExternalName |
| externalName: "" |
| ## loadBalancerIP when service.type is LoadBalancer. LoadBalancer will get created with the IP specified in this field |
| loadBalancerIP: "" |
| ## annotations may need to be set when service.type is LoadBalancer |
| ## service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:us-east-1:EXAMPLE_CERT |
| annotations: {} |
| env: |
| JAVA_OPTS: "-Xms512m -Xmx512m -Xmn256m" |
| |
| ingress: |
| enabled: false |
| host: "dolphinscheduler.org" |
| path: "/dolphinscheduler" |
| annotations: {} |
| tls: |
| enabled: false |
| secretName: "dolphinscheduler-tls" |