values.yaml 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666
  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. # Used to detect whether dolphinscheduler dependent services such as database are ready
  22. initImage:
  23. pullPolicy: "IfNotPresent"
  24. busybox: "busybox:1.30.1"
  25. image:
  26. registry: "dolphinscheduler.docker.scarf.sh/apache"
  27. tag: "dev-SNAPSHOT"
  28. pullPolicy: "IfNotPresent"
  29. pullSecret: ""
  30. master: dolphinscheduler-master
  31. worker: dolphinscheduler-worker
  32. api: dolphinscheduler-api
  33. alert: dolphinscheduler-alert-server
  34. tools: dolphinscheduler-tools
  35. ## If not exists external database, by default, Dolphinscheduler's database will use it.
  36. postgresql:
  37. enabled: true
  38. postgresqlUsername: "root"
  39. postgresqlPassword: "root"
  40. postgresqlDatabase: "dolphinscheduler"
  41. driverClassName: "org.postgresql.Driver"
  42. params: "characterEncoding=utf8"
  43. persistence:
  44. enabled: false
  45. size: "20Gi"
  46. storageClass: "-"
  47. mysql:
  48. enabled: false
  49. driverClassName: "com.mysql.cj.jdbc.Driver"
  50. auth:
  51. username: "ds"
  52. password: "ds"
  53. database: "dolphinscheduler"
  54. params: "characterEncoding=utf8"
  55. primary:
  56. persistence:
  57. enabled: false
  58. size: "20Gi"
  59. storageClass: "-"
  60. minio:
  61. enabled: true
  62. auth:
  63. rootUser: minioadmin
  64. rootPassword: minioadmin
  65. persistence:
  66. enabled: false
  67. defaultBuckets: "dolphinscheduler"
  68. ## If exists external database, and set postgresql.enable value to false.
  69. ## external database will be used, otherwise Dolphinscheduler's database will be used.
  70. externalDatabase:
  71. enabled: false
  72. type: "postgresql"
  73. host: "localhost"
  74. port: "5432"
  75. username: "root"
  76. password: "root"
  77. database: "dolphinscheduler"
  78. params: "characterEncoding=utf8"
  79. driverClassName: "org.postgresql.Driver"
  80. ## If not exists external registry, the zookeeper registry will be used by default.
  81. zookeeper:
  82. enabled: true
  83. service:
  84. port: 2181
  85. fourlwCommandsWhitelist: "srvr,ruok,wchs,cons"
  86. persistence:
  87. enabled: false
  88. size: "20Gi"
  89. storageClass: "-"
  90. etcd:
  91. enabled: false
  92. endpoints: ""
  93. namespace: "dolphinscheduler"
  94. user: ""
  95. passWord: ""
  96. authority: ""
  97. # Please create a new folder: deploy/kubernetes/dolphinscheduler/etcd-certs
  98. ssl:
  99. enabled: false
  100. certFile: "etcd-certs/ca.crt"
  101. keyCertChainFile: "etcd-certs/client.crt"
  102. keyFile: "etcd-certs/client.pem"
  103. ## If exists external registry and set zookeeper.enable value to false, the external registry will be used.
  104. externalRegistry:
  105. registryPluginName: "zookeeper"
  106. registryServers: "127.0.0.1:2181"
  107. security:
  108. authentication:
  109. type: PASSWORD
  110. ldap:
  111. urls: ldap://ldap.forumsys.com:389/
  112. basedn: dc=example,dc=com
  113. username: cn=read-only-admin,dc=example,dc=com
  114. password: password
  115. user:
  116. admin: read-only-admin
  117. identityattribute: uid
  118. emailattribute: mail
  119. notexistaction: CREATE
  120. ssl:
  121. enable: false
  122. # do not change this value
  123. truststore: "/opt/ldapkeystore.jks"
  124. # if you use macOS, please run `base64 -b 0 -i /path/to/your.jks`
  125. # if you use Linux, please run `base64 -w 0 /path/to/your.jks`
  126. # if you use Windows, please run `certutil -f -encode /path/to/your.jks`
  127. # Then copy the base64 content to below field in one line
  128. jksbase64content: ""
  129. truststorepassword: ""
  130. conf:
  131. common:
  132. # user data local directory path, please make sure the directory exists and have read write permissions
  133. data.basedir.path: /tmp/dolphinscheduler
  134. # resource storage type: HDFS, S3, OSS, GCS, ABS, NONE
  135. resource.storage.type: S3
  136. # resource store on HDFS/S3 path, resource file will store to this base path, self configuration, please make sure the directory exists on hdfs and have read write permissions. "/dolphinscheduler" is recommended
  137. resource.storage.upload.base.path: /dolphinscheduler
  138. # The AWS access key. if resource.storage.type=S3 or use EMR-Task, This configuration is required
  139. resource.aws.access.key.id: minioadmin
  140. # The AWS secret access key. if resource.storage.type=S3 or use EMR-Task, This configuration is required
  141. resource.aws.secret.access.key: minioadmin
  142. # The AWS Region to use. if resource.storage.type=S3 or use EMR-Task, This configuration is required
  143. resource.aws.region: ca-central-1
  144. # The name of the bucket. You need to create them by yourself. Otherwise, the system cannot start. All buckets in Amazon S3 share a single namespace; ensure the bucket is given a unique name.
  145. resource.aws.s3.bucket.name: dolphinscheduler
  146. # You need to set this parameter when private cloud s3. If S3 uses public cloud, you only need to set resource.aws.region or set to the endpoint of a public cloud such as S3.cn-north-1.amazonaws.com.cn
  147. resource.aws.s3.endpoint: http://minio:9000
  148. # alibaba cloud access key id, required if you set resource.storage.type=OSS
  149. resource.alibaba.cloud.access.key.id: <your-access-key-id>
  150. # alibaba cloud access key secret, required if you set resource.storage.type=OSS
  151. resource.alibaba.cloud.access.key.secret: <your-access-key-secret>
  152. # alibaba cloud region, required if you set resource.storage.type=OSS
  153. resource.alibaba.cloud.region: cn-hangzhou
  154. # oss bucket name, required if you set resource.storage.type=OSS
  155. resource.alibaba.cloud.oss.bucket.name: dolphinscheduler
  156. # oss bucket endpoint, required if you set resource.storage.type=OSS
  157. resource.alibaba.cloud.oss.endpoint: https://oss-cn-hangzhou.aliyuncs.com
  158. # if resource.storage.type=HDFS, the user must have the permission to create directories under the HDFS root path
  159. resource.hdfs.root.user: hdfs
  160. # if resource.storage.type=S3, the value like: s3a://dolphinscheduler; if resource.storage.type=HDFS and namenode HA is enabled, you need to copy core-site.xml and hdfs-site.xml to conf dir
  161. resource.hdfs.fs.defaultFS: hdfs://mycluster:8020
  162. # whether to startup kerberos
  163. hadoop.security.authentication.startup.state: false
  164. # java.security.krb5.conf path
  165. java.security.krb5.conf.path: /opt/krb5.conf
  166. # login user from keytab username
  167. login.user.keytab.username: hdfs-mycluster@ESZ.COM
  168. # login user from keytab path
  169. login.user.keytab.path: /opt/hdfs.headless.keytab
  170. # kerberos expire time, the unit is hour
  171. kerberos.expire.time: 2
  172. # resourcemanager port, the default value is 8088 if not specified
  173. resource.manager.httpaddress.port: 8088
  174. # if resourcemanager HA is enabled, please set the HA IPs; if resourcemanager is single, keep this value empty
  175. yarn.resourcemanager.ha.rm.ids: 192.168.xx.xx,192.168.xx.xx
  176. # if resourcemanager HA is enabled or not use resourcemanager, please keep the default value; If resourcemanager is single, you only need to replace ds1 to actual resourcemanager hostname
  177. yarn.application.status.address: http://ds1:%s/ws/v1/cluster/apps/%s
  178. # job history status url when application number threshold is reached(default 10000, maybe it was set to 1000)
  179. yarn.job.history.status.address: http://ds1:19888/ws/v1/history/mapreduce/jobs/%s
  180. # datasource encryption enable
  181. datasource.encryption.enable: false
  182. # datasource encryption salt
  183. datasource.encryption.salt: '!@#$%^&*'
  184. # data quality option
  185. data-quality.jar.name: dolphinscheduler-data-quality-dev-SNAPSHOT.jar
  186. # Whether hive SQL is executed in the same session
  187. support.hive.oneSession: false
  188. # use sudo or not, if set true, executing user is tenant user and deploy user needs sudo permissions; if set false, executing user is the deploy user and doesn't need sudo permissions
  189. sudo.enable: true
  190. # development state
  191. development.state: false
  192. # rpc port
  193. alert.rpc.port: 50052
  194. # set path of conda.sh
  195. conda.path: /opt/anaconda3/etc/profile.d/conda.sh
  196. # Task resource limit state
  197. task.resource.limit.state: false
  198. # mlflow task plugin preset repository
  199. ml.mlflow.preset_repository: https://github.com/apache/dolphinscheduler-mlflow
  200. # mlflow task plugin preset repository version
  201. ml.mlflow.preset_repository_version: "main"
  202. # way to collect applicationId: log, aop
  203. appId.collect: log
  204. common:
  205. ## Configmap
  206. configmap:
  207. DOLPHINSCHEDULER_OPTS: ""
  208. DATA_BASEDIR_PATH: "/tmp/dolphinscheduler"
  209. RESOURCE_UPLOAD_PATH: "/dolphinscheduler"
  210. # dolphinscheduler env
  211. HADOOP_HOME: "/opt/soft/hadoop"
  212. HADOOP_CONF_DIR: "/opt/soft/hadoop/etc/hadoop"
  213. SPARK_HOME: "/opt/soft/spark"
  214. PYTHON_LAUNCHER: "/usr/bin/python/bin/python3"
  215. JAVA_HOME: "/opt/java/openjdk"
  216. HIVE_HOME: "/opt/soft/hive"
  217. FLINK_HOME: "/opt/soft/flink"
  218. DATAX_LAUNCHER: "/opt/soft/datax/bin/datax.py"
  219. ## Shared storage persistence mounted into api, master and worker, such as Hadoop, Spark, Flink and DataX binary package
  220. sharedStoragePersistence:
  221. enabled: false
  222. mountPath: "/opt/soft"
  223. accessModes:
  224. - "ReadWriteMany"
  225. ## storageClassName must support the access mode: ReadWriteMany
  226. storageClassName: "-"
  227. storage: "20Gi"
  228. ## If RESOURCE_STORAGE_TYPE is HDFS and FS_DEFAULT_FS is file:///, fsFileResourcePersistence should be enabled for resource storage
  229. fsFileResourcePersistence:
  230. enabled: false
  231. accessModes:
  232. - "ReadWriteMany"
  233. ## storageClassName must support the access mode: ReadWriteMany
  234. storageClassName: "-"
  235. storage: "20Gi"
  236. master:
  237. ## PodManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down.
  238. podManagementPolicy: "Parallel"
  239. ## Replicas is the desired number of replicas of the given Template.
  240. replicas: "3"
  241. ## You can use annotations to attach arbitrary non-identifying metadata to objects.
  242. ## Clients such as tools and libraries can retrieve this metadata.
  243. annotations: {}
  244. ## Affinity is a group of affinity scheduling rules. If specified, the pod's scheduling constraints.
  245. ## More info: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#affinity-v1-core
  246. affinity: {}
  247. ## NodeSelector is a selector which must be true for the pod to fit on a node.
  248. ## Selector which must match a node's labels for the pod to be scheduled on that node.
  249. ## More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
  250. nodeSelector: {}
  251. ## Tolerations are appended (excluding duplicates) to pods running with this RuntimeClass during admission,
  252. ## effectively unioning the set of nodes tolerated by the pod and the RuntimeClass.
  253. tolerations: []
  254. ## Compute Resources required by this container. Cannot be updated.
  255. ## More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container
  256. resources: {}
  257. # resources:
  258. # limits:
  259. # memory: "8Gi"
  260. # cpu: "4"
  261. # requests:
  262. # memory: "2Gi"
  263. # cpu: "500m"
  264. ## Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated.
  265. ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
  266. livenessProbe:
  267. enabled: true
  268. initialDelaySeconds: "30"
  269. periodSeconds: "30"
  270. timeoutSeconds: "5"
  271. failureThreshold: "3"
  272. successThreshold: "1"
  273. ## Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated.
  274. ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
  275. readinessProbe:
  276. enabled: true
  277. initialDelaySeconds: "30"
  278. periodSeconds: "30"
  279. timeoutSeconds: "5"
  280. failureThreshold: "3"
  281. successThreshold: "1"
  282. ## PersistentVolumeClaim represents a reference to a PersistentVolumeClaim in the same namespace.
  283. ## The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod.
  284. ## Every claim in this list must have at least one matching (by name) volumeMount in one container in the template.
  285. ## A claim in this list takes precedence over any volumes in the template, with the same name.
  286. persistentVolumeClaim:
  287. enabled: false
  288. accessModes:
  289. - "ReadWriteOnce"
  290. storageClassName: "-"
  291. storage: "20Gi"
  292. env:
  293. JAVA_OPTS: "-Xms1g -Xmx1g -Xmn512m"
  294. MASTER_EXEC_THREADS: "100"
  295. MASTER_EXEC_TASK_NUM: "20"
  296. MASTER_DISPATCH_TASK_NUM: "3"
  297. MASTER_HOST_SELECTOR: "LowerWeight"
  298. MASTER_HEARTBEAT_INTERVAL: "10s"
  299. MASTER_HEARTBEAT_ERROR_THRESHOLD: "5"
  300. MASTER_TASK_COMMIT_RETRYTIMES: "5"
  301. MASTER_TASK_COMMIT_INTERVAL: "1s"
  302. MASTER_STATE_WHEEL_INTERVAL: "5s"
  303. MASTER_MAX_CPU_LOAD_AVG: "1"
  304. MASTER_RESERVED_MEMORY: "0.3"
  305. MASTER_FAILOVER_INTERVAL: "10m"
  306. MASTER_KILL_APPLICATION_WHEN_HANDLE_FAILOVER: "true"
  307. service:
  308. # annotations may need to be set when want to scrapy metrics by prometheus but not install prometheus operator
  309. annotations: {}
  310. # serviceMonitor for prometheus operator
  311. serviceMonitor:
  312. # -- Enable or disable master serviceMonitor
  313. enabled: false
  314. # -- @param serviceMonitor.interval interval at which metrics should be scraped
  315. interval: 15s
  316. # -- @param serviceMonitor.path path of the metrics endpoint
  317. path: /actuator/prometheus
  318. # -- @param serviceMonitor.labels ServiceMonitor extra labels
  319. labels: {}
  320. # -- @param serviceMonitor.annotations ServiceMonitor annotations
  321. annotations: {}
  322. worker:
  323. ## PodManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down.
  324. podManagementPolicy: "Parallel"
  325. ## Replicas is the desired number of replicas of the given Template.
  326. replicas: "3"
  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. ## Affinity is a group of affinity scheduling rules. If specified, the pod's scheduling constraints.
  331. ## More info: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#affinity-v1-core
  332. affinity: {}
  333. ## NodeSelector is a selector which must be true for the pod to fit on a node.
  334. ## Selector which must match a node's labels for the pod to be scheduled on that node.
  335. ## More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
  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. ## Compute Resources required by this container. Cannot be updated.
  341. ## More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container
  342. resources: {}
  343. # resources:
  344. # limits:
  345. # memory: "8Gi"
  346. # cpu: "4"
  347. # requests:
  348. # memory: "2Gi"
  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. ## The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod.
  370. ## Every claim in this list must have at least one matching (by name) volumeMount in one container in the template.
  371. ## A claim in this list takes precedence over any volumes in the template, with the same name.
  372. persistentVolumeClaim:
  373. enabled: false
  374. ## dolphinscheduler data volume
  375. dataPersistentVolume:
  376. enabled: false
  377. accessModes:
  378. - "ReadWriteOnce"
  379. storageClassName: "-"
  380. storage: "20Gi"
  381. ## dolphinscheduler logs volume
  382. logsPersistentVolume:
  383. enabled: false
  384. accessModes:
  385. - "ReadWriteOnce"
  386. storageClassName: "-"
  387. storage: "20Gi"
  388. env:
  389. WORKER_MAX_CPU_LOAD_AVG: "1"
  390. WORKER_RESERVED_MEMORY: "0.3"
  391. WORKER_EXEC_THREADS: "100"
  392. WORKER_HEARTBEAT_INTERVAL: "10s"
  393. WORKER_HEART_ERROR_THRESHOLD: "5"
  394. WORKER_HOST_WEIGHT: "100"
  395. keda:
  396. enabled: false
  397. namespaceLabels: { }
  398. # How often KEDA polls the DolphinScheduler DB to report new scale requests to the HPA
  399. pollingInterval: 5
  400. # How many seconds KEDA will wait before scaling to zero.
  401. # Note that HPA has a separate cooldown period for scale-downs
  402. cooldownPeriod: 30
  403. # Minimum number of workers created by keda
  404. minReplicaCount: 0
  405. # Maximum number of workers created by keda
  406. maxReplicaCount: 3
  407. # Specify HPA related options
  408. advanced: { }
  409. # horizontalPodAutoscalerConfig:
  410. # behavior:
  411. # scaleDown:
  412. # stabilizationWindowSeconds: 300
  413. # policies:
  414. # - type: Percent
  415. # value: 100
  416. # periodSeconds: 15
  417. service:
  418. # annotations may need to be set when want to scrapy metrics by prometheus but not install prometheus operator
  419. annotations: {}
  420. # serviceMonitor for prometheus operator
  421. serviceMonitor:
  422. # -- Enable or disable worker serviceMonitor
  423. enabled: false
  424. # -- @param serviceMonitor.interval interval at which metrics should be scraped
  425. interval: 15s
  426. # -- @param serviceMonitor.path path of the metrics endpoint
  427. path: /actuator/prometheus
  428. # -- @param serviceMonitor.labels ServiceMonitor extra labels
  429. labels: {}
  430. # -- @param serviceMonitor.annotations ServiceMonitor annotations
  431. annotations: {}
  432. alert:
  433. ## Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.
  434. replicas: 1
  435. ## The deployment strategy to use to replace existing pods with new ones.
  436. strategy:
  437. type: "RollingUpdate"
  438. rollingUpdate:
  439. maxSurge: "25%"
  440. maxUnavailable: "25%"
  441. ## You can use annotations to attach arbitrary non-identifying metadata to objects.
  442. ## Clients such as tools and libraries can retrieve this metadata.
  443. annotations: {}
  444. ## Affinity is a group of affinity scheduling rules. If specified, the pod's scheduling constraints.
  445. ## More info: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#affinity-v1-core
  446. affinity: {}
  447. ## NodeSelector is a selector which must be true for the pod to fit on a node.
  448. ## Selector which must match a node's labels for the pod to be scheduled on that node.
  449. ## More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
  450. nodeSelector: {}
  451. ## Tolerations are appended (excluding duplicates) to pods running with this RuntimeClass during admission,
  452. ## effectively unioning the set of nodes tolerated by the pod and the RuntimeClass.
  453. tolerations: []
  454. ## Compute Resources required by this container. Cannot be updated.
  455. ## More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container
  456. resources: {}
  457. # resources:
  458. # limits:
  459. # memory: "2Gi"
  460. # cpu: "1"
  461. # requests:
  462. # memory: "1Gi"
  463. # cpu: "500m"
  464. ## Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated.
  465. ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
  466. livenessProbe:
  467. enabled: true
  468. initialDelaySeconds: "30"
  469. periodSeconds: "30"
  470. timeoutSeconds: "5"
  471. failureThreshold: "3"
  472. successThreshold: "1"
  473. ## Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated.
  474. ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
  475. readinessProbe:
  476. enabled: true
  477. initialDelaySeconds: "30"
  478. periodSeconds: "30"
  479. timeoutSeconds: "5"
  480. failureThreshold: "3"
  481. successThreshold: "1"
  482. ## PersistentVolumeClaim represents a reference to a PersistentVolumeClaim in the same namespace.
  483. ## More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
  484. persistentVolumeClaim:
  485. enabled: false
  486. accessModes:
  487. - "ReadWriteOnce"
  488. storageClassName: "-"
  489. storage: "20Gi"
  490. env:
  491. JAVA_OPTS: "-Xms512m -Xmx512m -Xmn256m"
  492. service:
  493. # annotations may need to be set when want to scrapy metrics by prometheus but not install prometheus operator
  494. annotations: {}
  495. # serviceMonitor for prometheus operator
  496. serviceMonitor:
  497. # -- Enable or disable alert-server serviceMonitor
  498. enabled: false
  499. # -- @param serviceMonitor.interval interval at which metrics should be scraped
  500. interval: 15s
  501. # -- @param serviceMonitor.path path of the metrics endpoint
  502. path: /actuator/prometheus
  503. # -- @param serviceMonitor.labels ServiceMonitor extra labels
  504. labels: {}
  505. # -- @param serviceMonitor.annotations ServiceMonitor annotations
  506. annotations: {}
  507. api:
  508. ## Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.
  509. replicas: "1"
  510. ## The deployment strategy to use to replace existing pods with new ones.
  511. strategy:
  512. type: "RollingUpdate"
  513. rollingUpdate:
  514. maxSurge: "25%"
  515. maxUnavailable: "25%"
  516. ## You can use annotations to attach arbitrary non-identifying metadata to objects.
  517. ## Clients such as tools and libraries can retrieve this metadata.
  518. annotations: {}
  519. ## Affinity is a group of affinity scheduling rules. If specified, the pod's scheduling constraints.
  520. ## More info: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#affinity-v1-core
  521. affinity: {}
  522. ## NodeSelector is a selector which must be true for the pod to fit on a node.
  523. ## Selector which must match a node's labels for the pod to be scheduled on that node.
  524. ## More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
  525. nodeSelector: {}
  526. ## Tolerations are appended (excluding duplicates) to pods running with this RuntimeClass during admission,
  527. ## effectively unioning the set of nodes tolerated by the pod and the RuntimeClass.
  528. tolerations: []
  529. ## Compute Resources required by this container. Cannot be updated.
  530. ## More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container
  531. resources: {}
  532. # resources:
  533. # limits:
  534. # memory: "2Gi"
  535. # cpu: "1"
  536. # requests:
  537. # memory: "1Gi"
  538. # cpu: "500m"
  539. ## Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated.
  540. ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
  541. livenessProbe:
  542. enabled: true
  543. initialDelaySeconds: "30"
  544. periodSeconds: "30"
  545. timeoutSeconds: "5"
  546. failureThreshold: "3"
  547. successThreshold: "1"
  548. ## Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated.
  549. ## More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
  550. readinessProbe:
  551. enabled: true
  552. initialDelaySeconds: "30"
  553. periodSeconds: "30"
  554. timeoutSeconds: "5"
  555. failureThreshold: "3"
  556. successThreshold: "1"
  557. ## PersistentVolumeClaim represents a reference to a PersistentVolumeClaim in the same namespace.
  558. ## More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
  559. persistentVolumeClaim:
  560. enabled: false
  561. accessModes:
  562. - "ReadWriteOnce"
  563. storageClassName: "-"
  564. storage: "20Gi"
  565. service:
  566. ## type determines how the Service is exposed. Defaults to ClusterIP. Valid options are ExternalName, ClusterIP, NodePort, and LoadBalancer
  567. type: "ClusterIP"
  568. ## clusterIP is the IP address of the service and is usually assigned randomly by the master
  569. clusterIP: ""
  570. ## nodePort is the port on each node on which this api service is exposed when type=NodePort
  571. nodePort: ""
  572. ## pythonNodePort is the port on each node on which this python api service is exposed when type=NodePort
  573. pythonNodePort: ""
  574. ## externalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service
  575. externalIPs: []
  576. ## externalName is the external reference that kubedns or equivalent will return as a CNAME record for this service, requires Type to be ExternalName
  577. externalName: ""
  578. ## loadBalancerIP when service.type is LoadBalancer. LoadBalancer will get created with the IP specified in this field
  579. loadBalancerIP: ""
  580. ## annotations may need to be set when service.type is LoadBalancer
  581. ## service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:us-east-1:EXAMPLE_CERT
  582. annotations: {}
  583. # serviceMonitor for prometheus operator
  584. serviceMonitor:
  585. # -- Enable or disable api-server serviceMonitor
  586. enabled: false
  587. # -- @param serviceMonitor.interval interval at which metrics should be scraped
  588. interval: 15s
  589. # -- @param serviceMonitor.path path of the metrics endpoint
  590. path: /dolphinscheduler/actuator/prometheus
  591. # -- @param serviceMonitor.labels ServiceMonitor extra labels
  592. labels: {}
  593. # -- @param serviceMonitor.annotations ServiceMonitor annotations
  594. annotations: {}
  595. env:
  596. JAVA_OPTS: "-Xms512m -Xmx512m -Xmn256m"
  597. ingress:
  598. enabled: false
  599. host: "dolphinscheduler.org"
  600. path: "/dolphinscheduler"
  601. annotations: {}
  602. tls:
  603. enabled: false
  604. secretName: "dolphinscheduler-tls"