values.yaml 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414
  1. #
  2. # Licensed to the Apache Software Foundation (ASF) under one or more
  3. # contributor license agreements. See the NOTICE file distributed with
  4. # this work for additional information regarding copyright ownership.
  5. # The ASF licenses this file to You under the Apache License, Version 2.0
  6. # (the "License"); you may not use this file except in compliance with
  7. # the License. You may obtain a copy of the License at
  8. #
  9. # http://www.apache.org/licenses/LICENSE-2.0
  10. #
  11. # Unless required by applicable law or agreed to in writing, software
  12. # distributed under the License is distributed on an "AS IS" BASIS,
  13. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. # See the License for the specific language governing permissions and
  15. # limitations under the License.
  16. #
  17. # Default values for dolphinscheduler-chart.
  18. # This is a YAML-formatted file.
  19. # Declare variables to be passed into your templates.
  20. timezone: "Asia/Shanghai"
  21. image:
  22. registry: "dolphinscheduler.docker.scarf.sh/apache"
  23. tag: "dev-SNAPSHOT"
  24. pullPolicy: "IfNotPresent"
  25. pullSecret: ""
  26. ## If not exists external database, by default, Dolphinscheduler's database will use it.
  27. postgresql:
  28. enabled: true
  29. postgresqlUsername: "root"
  30. postgresqlPassword: "root"
  31. postgresqlDatabase: "dolphinscheduler"
  32. persistence:
  33. enabled: false
  34. size: "20Gi"
  35. storageClass: "-"
  36. ## If exists external database, and set postgresql.enable value to false.
  37. ## external database will be used, otherwise Dolphinscheduler's database will be used.
  38. externalDatabase:
  39. type: "postgresql"
  40. host: "localhost"
  41. port: "5432"
  42. username: "root"
  43. password: "root"
  44. database: "dolphinscheduler"
  45. params: "characterEncoding=utf8"
  46. ## If not exists external registry, the zookeeper registry will be used by default.
  47. zookeeper:
  48. enabled: true
  49. service:
  50. port: 2181
  51. fourlwCommandsWhitelist: "srvr,ruok,wchs,cons"
  52. persistence:
  53. enabled: false
  54. size: "20Gi"
  55. storageClass: "-"
  56. ## If exists external registry and set zookeeper.enable value to false, the external registry will be used.
  57. externalRegistry:
  58. registryPluginDir: "lib/plugin/registry"
  59. registryPluginName: "zookeeper"
  60. registryServers: "127.0.0.1:2181"
  61. common:
  62. ## Configmap
  63. configmap:
  64. DOLPHINSCHEDULER_OPTS: ""
  65. DATA_BASEDIR_PATH: "/tmp/dolphinscheduler"
  66. RESOURCE_STORAGE_TYPE: "HDFS"
  67. RESOURCE_UPLOAD_PATH: "/dolphinscheduler"
  68. FS_DEFAULT_FS: "file:///"
  69. FS_S3A_ENDPOINT: "s3.xxx.amazonaws.com"
  70. FS_S3A_ACCESS_KEY: "xxxxxxx"
  71. FS_S3A_SECRET_KEY: "xxxxxxx"
  72. HADOOP_SECURITY_AUTHENTICATION_STARTUP_STATE: "false"
  73. JAVA_SECURITY_KRB5_CONF_PATH: "/opt/krb5.conf"
  74. LOGIN_USER_KEYTAB_USERNAME: "hdfs@HADOOP.COM"
  75. LOGIN_USER_KEYTAB_PATH: "/opt/hdfs.keytab"
  76. KERBEROS_EXPIRE_TIME: "2"
  77. HDFS_ROOT_USER: "hdfs"
  78. RESOURCE_MANAGER_HTTPADDRESS_PORT: "8088"
  79. YARN_RESOURCEMANAGER_HA_RM_IDS: ""
  80. YARN_APPLICATION_STATUS_ADDRESS: "http://ds1:%s/ws/v1/cluster/apps/%s"
  81. YARN_JOB_HISTORY_STATUS_ADDRESS: "http://ds1:19888/ws/v1/history/mapreduce/jobs/%s"
  82. DATASOURCE_ENCRYPTION_ENABLE: "false"
  83. DATASOURCE_ENCRYPTION_SALT: "!@#$%^&*"
  84. SUDO_ENABLE: "true"
  85. # dolphinscheduler env
  86. HADOOP_HOME: "/opt/soft/hadoop"
  87. HADOOP_CONF_DIR: "/opt/soft/hadoop/etc/hadoop"
  88. SPARK_HOME1: "/opt/soft/spark1"
  89. SPARK_HOME2: "/opt/soft/spark2"
  90. PYTHON_HOME: "/usr/bin/python"
  91. JAVA_HOME: "/usr/local/openjdk-8"
  92. HIVE_HOME: "/opt/soft/hive"
  93. FLINK_HOME: "/opt/soft/flink"
  94. DATAX_HOME: "/opt/soft/datax"
  95. ## Shared storage persistence mounted into api, master and worker, such as Hadoop, Spark, Flink and DataX binary package
  96. sharedStoragePersistence:
  97. enabled: false
  98. mountPath: "/opt/soft"
  99. accessModes:
  100. - "ReadWriteMany"
  101. ## storageClassName must support the access mode: ReadWriteMany
  102. storageClassName: "-"
  103. storage: "20Gi"
  104. ## If RESOURCE_STORAGE_TYPE is HDFS and FS_DEFAULT_FS is file:///, fsFileResourcePersistence should be enabled for resource storage
  105. fsFileResourcePersistence:
  106. enabled: false
  107. accessModes:
  108. - "ReadWriteMany"
  109. ## storageClassName must support the access mode: ReadWriteMany
  110. storageClassName: "-"
  111. storage: "20Gi"
  112. master:
  113. ## PodManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down.
  114. podManagementPolicy: "Parallel"
  115. ## Replicas is the desired number of replicas of the given Template.
  116. replicas: "3"
  117. ## You can use annotations to attach arbitrary non-identifying metadata to objects.
  118. ## Clients such as tools and libraries can retrieve this metadata.
  119. annotations: {}
  120. ## Affinity is a group of affinity scheduling rules. If specified, the pod's scheduling constraints.
  121. ## More info: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#affinity-v1-core
  122. affinity: {}
  123. ## NodeSelector is a selector which must be true for the pod to fit on a node.
  124. ## Selector which must match a node's labels for the pod to be scheduled on that node.
  125. ## More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
  126. nodeSelector: {}
  127. ## Tolerations are appended (excluding duplicates) to pods running with this RuntimeClass during admission,
  128. ## effectively unioning the set of nodes tolerated by the pod and the RuntimeClass.
  129. tolerations: []
  130. ## Compute Resources required by this container. Cannot be updated.
  131. ## More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container
  132. resources: {}
  133. # resources:
  134. # limits:
  135. # memory: "8Gi"
  136. # cpu: "4"
  137. # requests:
  138. # memory: "2Gi"
  139. # cpu: "500m"
  140. ## Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated.
  141. ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
  142. livenessProbe:
  143. enabled: true
  144. initialDelaySeconds: "30"
  145. periodSeconds: "30"
  146. timeoutSeconds: "5"
  147. failureThreshold: "3"
  148. successThreshold: "1"
  149. ## Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated.
  150. ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
  151. readinessProbe:
  152. enabled: true
  153. initialDelaySeconds: "30"
  154. periodSeconds: "30"
  155. timeoutSeconds: "5"
  156. failureThreshold: "3"
  157. successThreshold: "1"
  158. ## PersistentVolumeClaim represents a reference to a PersistentVolumeClaim in the same namespace.
  159. ## The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod.
  160. ## Every claim in this list must have at least one matching (by name) volumeMount in one container in the template.
  161. ## A claim in this list takes precedence over any volumes in the template, with the same name.
  162. persistentVolumeClaim:
  163. enabled: false
  164. accessModes:
  165. - "ReadWriteOnce"
  166. storageClassName: "-"
  167. storage: "20Gi"
  168. env:
  169. JAVA_OPTS: "-Xms1g -Xmx1g -Xmn512m"
  170. MASTER_EXEC_THREADS: "100"
  171. MASTER_EXEC_TASK_NUM: "20"
  172. MASTER_DISPATCH_TASK_NUM: "3"
  173. MASTER_HOST_SELECTOR: "LowerWeight"
  174. MASTER_HEARTBEAT_INTERVAL: "10s"
  175. MASTER_HEARTBEAT_ERROR_THRESHOLD: "5"
  176. MASTER_TASK_COMMIT_RETRYTIMES: "5"
  177. MASTER_TASK_COMMIT_INTERVAL: "1s"
  178. MASTER_STATE_WHEEL_INTERVAL: "5s"
  179. MASTER_MAX_CPU_LOAD_AVG: "-1"
  180. MASTER_RESERVED_MEMORY: "0.3"
  181. MASTER_FAILOVER_INTERVAL: "10m"
  182. MASTER_KILL_YARN_JOB_WHEN_HANDLE_FAILOVER: "true"
  183. worker:
  184. ## PodManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down.
  185. podManagementPolicy: "Parallel"
  186. ## Replicas is the desired number of replicas of the given Template.
  187. replicas: "3"
  188. ## You can use annotations to attach arbitrary non-identifying metadata to objects.
  189. ## Clients such as tools and libraries can retrieve this metadata.
  190. annotations: {}
  191. ## Affinity is a group of affinity scheduling rules. If specified, the pod's scheduling constraints.
  192. ## More info: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#affinity-v1-core
  193. affinity: {}
  194. ## NodeSelector is a selector which must be true for the pod to fit on a node.
  195. ## Selector which must match a node's labels for the pod to be scheduled on that node.
  196. ## More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
  197. nodeSelector: {}
  198. ## Tolerations are appended (excluding duplicates) to pods running with this RuntimeClass during admission,
  199. ## effectively unioning the set of nodes tolerated by the pod and the RuntimeClass.
  200. tolerations: []
  201. ## Compute Resources required by this container. Cannot be updated.
  202. ## More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container
  203. resources: {}
  204. # resources:
  205. # limits:
  206. # memory: "8Gi"
  207. # cpu: "4"
  208. # requests:
  209. # memory: "2Gi"
  210. # cpu: "500m"
  211. ## Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated.
  212. ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
  213. livenessProbe:
  214. enabled: true
  215. initialDelaySeconds: "30"
  216. periodSeconds: "30"
  217. timeoutSeconds: "5"
  218. failureThreshold: "3"
  219. successThreshold: "1"
  220. ## Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated.
  221. ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
  222. readinessProbe:
  223. enabled: true
  224. initialDelaySeconds: "30"
  225. periodSeconds: "30"
  226. timeoutSeconds: "5"
  227. failureThreshold: "3"
  228. successThreshold: "1"
  229. ## PersistentVolumeClaim represents a reference to a PersistentVolumeClaim in the same namespace.
  230. ## The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod.
  231. ## Every claim in this list must have at least one matching (by name) volumeMount in one container in the template.
  232. ## A claim in this list takes precedence over any volumes in the template, with the same name.
  233. persistentVolumeClaim:
  234. enabled: false
  235. ## dolphinscheduler data volume
  236. dataPersistentVolume:
  237. enabled: false
  238. accessModes:
  239. - "ReadWriteOnce"
  240. storageClassName: "-"
  241. storage: "20Gi"
  242. ## dolphinscheduler logs volume
  243. logsPersistentVolume:
  244. enabled: false
  245. accessModes:
  246. - "ReadWriteOnce"
  247. storageClassName: "-"
  248. storage: "20Gi"
  249. env:
  250. WORKER_GROUPS_0: default
  251. WORKER_MAX_CPU_LOAD_AVG: "-1"
  252. WORKER_RESERVED_MEMORY: "0.3"
  253. WORKER_EXEC_THREADS: "100"
  254. WORKER_HEARTBEAT_INTERVAL: "10s"
  255. WORKER_HEART_ERROR_THRESHOLD: "5"
  256. WORKER_HOST_WEIGHT: "100"
  257. WORKER_GROUPS: "default"
  258. alert:
  259. ## Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.
  260. replicas: 1
  261. ## The deployment strategy to use to replace existing pods with new ones.
  262. strategy:
  263. type: "RollingUpdate"
  264. rollingUpdate:
  265. maxSurge: "25%"
  266. maxUnavailable: "25%"
  267. ## You can use annotations to attach arbitrary non-identifying metadata to objects.
  268. ## Clients such as tools and libraries can retrieve this metadata.
  269. annotations: {}
  270. ## NodeSelector is a selector which must be true for the pod to fit on a node.
  271. ## Selector which must match a node's labels for the pod to be scheduled on that node.
  272. ## More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
  273. affinity: {}
  274. ## Compute Resources required by this container. Cannot be updated.
  275. ## More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container
  276. nodeSelector: {}
  277. ## Tolerations are appended (excluding duplicates) to pods running with this RuntimeClass during admission,
  278. ## effectively unioning the set of nodes tolerated by the pod and the RuntimeClass.
  279. tolerations: []
  280. ## Affinity is a group of affinity scheduling rules. If specified, the pod's scheduling constraints.
  281. ## More info: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#affinity-v1-core
  282. resources: {}
  283. # resources:
  284. # limits:
  285. # memory: "2Gi"
  286. # cpu: "1"
  287. # requests:
  288. # memory: "1Gi"
  289. # cpu: "500m"
  290. ## Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated.
  291. ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
  292. livenessProbe:
  293. enabled: true
  294. initialDelaySeconds: "30"
  295. periodSeconds: "30"
  296. timeoutSeconds: "5"
  297. failureThreshold: "3"
  298. successThreshold: "1"
  299. ## Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated.
  300. ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
  301. readinessProbe:
  302. enabled: true
  303. initialDelaySeconds: "30"
  304. periodSeconds: "30"
  305. timeoutSeconds: "5"
  306. failureThreshold: "3"
  307. successThreshold: "1"
  308. ## PersistentVolumeClaim represents a reference to a PersistentVolumeClaim in the same namespace.
  309. ## More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
  310. persistentVolumeClaim:
  311. enabled: false
  312. accessModes:
  313. - "ReadWriteOnce"
  314. storageClassName: "-"
  315. storage: "20Gi"
  316. env:
  317. JAVA_OPTS: "-Xms512m -Xmx512m -Xmn256m"
  318. api:
  319. ## Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.
  320. replicas: "1"
  321. ## The deployment strategy to use to replace existing pods with new ones.
  322. strategy:
  323. type: "RollingUpdate"
  324. rollingUpdate:
  325. maxSurge: "25%"
  326. maxUnavailable: "25%"
  327. ## You can use annotations to attach arbitrary non-identifying metadata to objects.
  328. ## Clients such as tools and libraries can retrieve this metadata.
  329. annotations: {}
  330. ## NodeSelector is a selector which must be true for the pod to fit on a node.
  331. ## Selector which must match a node's labels for the pod to be scheduled on that node.
  332. ## More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
  333. affinity: {}
  334. ## Compute Resources required by this container. Cannot be updated.
  335. ## More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container
  336. nodeSelector: {}
  337. ## Tolerations are appended (excluding duplicates) to pods running with this RuntimeClass during admission,
  338. ## effectively unioning the set of nodes tolerated by the pod and the RuntimeClass.
  339. tolerations: []
  340. ## Affinity is a group of affinity scheduling rules. If specified, the pod's scheduling constraints.
  341. ## More info: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#affinity-v1-core
  342. resources: {}
  343. # resources:
  344. # limits:
  345. # memory: "2Gi"
  346. # cpu: "1"
  347. # requests:
  348. # memory: "1Gi"
  349. # cpu: "500m"
  350. ## Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated.
  351. ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
  352. livenessProbe:
  353. enabled: true
  354. initialDelaySeconds: "30"
  355. periodSeconds: "30"
  356. timeoutSeconds: "5"
  357. failureThreshold: "3"
  358. successThreshold: "1"
  359. ## Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated.
  360. ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
  361. readinessProbe:
  362. enabled: true
  363. initialDelaySeconds: "30"
  364. periodSeconds: "30"
  365. timeoutSeconds: "5"
  366. failureThreshold: "3"
  367. successThreshold: "1"
  368. ## PersistentVolumeClaim represents a reference to a PersistentVolumeClaim in the same namespace.
  369. ## More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
  370. persistentVolumeClaim:
  371. enabled: false
  372. accessModes:
  373. - "ReadWriteOnce"
  374. storageClassName: "-"
  375. storage: "20Gi"
  376. service:
  377. ## type determines how the Service is exposed. Defaults to ClusterIP. Valid options are ExternalName, ClusterIP, NodePort, and LoadBalancer
  378. type: "ClusterIP"
  379. ## clusterIP is the IP address of the service and is usually assigned randomly by the master
  380. clusterIP: ""
  381. ## nodePort is the port on each node on which this service is exposed when type=NodePort
  382. nodePort: ""
  383. ## externalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service
  384. externalIPs: []
  385. ## externalName is the external reference that kubedns or equivalent will return as a CNAME record for this service, requires Type to be ExternalName
  386. externalName: ""
  387. ## loadBalancerIP when service.type is LoadBalancer. LoadBalancer will get created with the IP specified in this field
  388. loadBalancerIP: ""
  389. ## annotations may need to be set when service.type is LoadBalancer
  390. ## service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:us-east-1:EXAMPLE_CERT
  391. annotations: {}
  392. env:
  393. JAVA_OPTS: "-Xms512m -Xmx512m -Xmn256m"
  394. ingress:
  395. enabled: false
  396. host: "dolphinscheduler.org"
  397. path: "/dolphinscheduler"
  398. annotations: {}
  399. tls:
  400. enabled: false
  401. secretName: "dolphinscheduler-tls"