You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by zh...@apache.org on 2023/12/29 03:24:43 UTC

(dolphinscheduler) branch dev updated: [Improvement][Helm] using helm-docs to generate docs automatically (#15299)

This is an automated email from the ASF dual-hosted git repository.

zhongjiajie pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git


The following commit(s) were added to refs/heads/dev by this push:
     new 1c1d4bd592 [Improvement][Helm] using helm-docs to generate docs automatically (#15299)
1c1d4bd592 is described below

commit 1c1d4bd59297942499a8242066de1c8ae0143a58
Author: Gallardot <ga...@apache.org>
AuthorDate: Fri Dec 29 11:24:37 2023 +0800

    [Improvement][Helm] using helm-docs to generate docs automatically (#15299)
---
 .github/workflows/docs.yml                         |  35 ++
 .licenserc.yaml                                    |   1 +
 deploy/kubernetes/dolphinscheduler/.helmignore     |  37 ++
 deploy/kubernetes/dolphinscheduler/README.md       | 350 +++++++++++++
 .../kubernetes/dolphinscheduler/README.md.gotmpl   |  11 +
 deploy/kubernetes/dolphinscheduler/values.yaml     | 578 ++++++++++++++-------
 docs/docs/en/guide/installation/kubernetes.md      | 257 +--------
 docs/docs/zh/guide/installation/kubernetes.md      | 257 +--------
 pom.xml                                            |  32 ++
 9 files changed, 860 insertions(+), 698 deletions(-)

diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index a4195927e9..09fba9c6ce 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -62,6 +62,41 @@ jobs:
           for file in $(find . -name "*.md" -not \( -path ./deploy/terraform/aws/README.md -prune \)); do
             markdown-link-check -c .dlc.json -q "$file"
           done
+  paths-filter:
+    name: Helm-Doc-Path-Filter
+    runs-on: ubuntu-latest
+    outputs:
+      helm-doc: ${{ steps.filter.outputs.helm-doc }}
+    steps:
+      - uses: actions/checkout@v2
+      - uses: dorny/paths-filter@b2feaf19c27470162a626bd6fa8438ae5b263721
+        id: filter
+        with:
+          filters: |
+            helm-doc:
+              - 'deploy/**'
+  helm-doc:
+    name: Helm-Doc-Execute
+    needs: paths-filter
+    if: ${{ (needs.paths-filter.outputs.helm-doc == 'true') || (github.event_name == 'push') }}
+    runs-on: ubuntu-latest
+    timeout-minutes: 20
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          submodules: true
+      - name: Generating helm-doc
+        run: |
+          ./mvnw validate -P helm-doc -pl :dolphinscheduler
+      - name: Check helm-doc
+        run: |
+          DIFF=$(git diff ${GITHUB_WORKSPACE}/deploy/kubernetes/*md)
+          if [ ! -z "$DIFF" ]; then
+              echo "###### ERROR: helm-doc is not up to date ######"
+              echo "Please execute './mvnw validate -P helm-doc -pl :dolphinscheduler' in your clone, of your fork, of the project, and commit an updated deploy/kubernetes/README.md for the chart."
+              echo "###### ERROR: helm-doc is not up to date ######"
+          fi
+          git diff --exit-code
   result:
     name: Docs
     runs-on: ubuntu-latest
diff --git a/.licenserc.yaml b/.licenserc.yaml
index b17d6babea..821be80ea6 100644
--- a/.licenserc.yaml
+++ b/.licenserc.yaml
@@ -50,5 +50,6 @@ header:
     - tools/dependencies/known-dependencies.txt
     - '**/banner.txt'
     - '.terraform.lock.hcl'
+    - deploy/kubernetes/dolphinscheduler/README.md.gotmpl
 
   comment: on-failure
diff --git a/deploy/kubernetes/dolphinscheduler/.helmignore b/deploy/kubernetes/dolphinscheduler/.helmignore
new file mode 100644
index 0000000000..bd2d4649d2
--- /dev/null
+++ b/deploy/kubernetes/dolphinscheduler/.helmignore
@@ -0,0 +1,37 @@
+# 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.
+
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*.orig
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
diff --git a/deploy/kubernetes/dolphinscheduler/README.md b/deploy/kubernetes/dolphinscheduler/README.md
new file mode 100644
index 0000000000..b2e9974447
--- /dev/null
+++ b/deploy/kubernetes/dolphinscheduler/README.md
@@ -0,0 +1,350 @@
+## About DolphinScheduler for Kubernetes
+
+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.
+
+This chart bootstraps all the components needed to run Apache DolphinScheduler on a Kubernetes Cluster using [Helm](https://helm.sh).
+
+## QuickStart in Kubernetes
+
+Please refer to the [Quick Start in Kubernetes](../../../docs/docs/en/guide/installation/kubernetes.md)
+
+## Values
+
+| Key | Type | Default | Description |
+|-----|------|---------|-------------|
+| alert.affinity | object | `{}` | Affinity is a group of affinity scheduling rules. If specified, the pod's scheduling constraints. More info: [node-affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity) |
+| alert.annotations | object | `{}` | You can use annotations to attach arbitrary non-identifying metadata to objects. Clients such as tools and libraries can retrieve this metadata. |
+| alert.enabled | bool | `true` | Enable or disable the Alert-Server component |
+| alert.env.JAVA_OPTS | string | `"-Xms512m -Xmx512m -Xmn256m"` | The jvm options for alert server |
+| alert.livenessProbe | object | `{"enabled":true,"failureThreshold":"3","initialDelaySeconds":"30","periodSeconds":"30","successThreshold":"1","timeoutSeconds":"5"}` | Periodic probe of container liveness. Container will be restarted if the probe fails. More info: [container-probes](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) |
+| alert.livenessProbe.enabled | bool | `true` | Turn on and off liveness probe |
+| alert.livenessProbe.failureThreshold | string | `"3"` | Minimum consecutive failures for the probe |
+| alert.livenessProbe.initialDelaySeconds | string | `"30"` | Delay before liveness probe is initiated |
+| alert.livenessProbe.periodSeconds | string | `"30"` | How often to perform the probe |
+| alert.livenessProbe.successThreshold | string | `"1"` | Minimum consecutive successes for the probe |
+| alert.livenessProbe.timeoutSeconds | string | `"5"` | When the probe times out |
+| alert.nodeSelector | object | `{}` | 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: [assign-pod-node](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/) |
+| alert.persistentVolumeClaim | object | `{"accessModes":["ReadWriteOnce"],"enabled":false,"storage":"20Gi","storageClassName":"-"}` | PersistentVolumeClaim represents a reference to a PersistentVolumeClaim in the same namespace. More info: [persistentvolumeclaims](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) |
+| alert.persistentVolumeClaim.accessModes | list | `["ReadWriteOnce"]` | `PersistentVolumeClaim` access modes |
+| alert.persistentVolumeClaim.enabled | bool | `false` | Set `alert.persistentVolumeClaim.enabled` to `true` to mount a new volume for `alert` |
+| alert.persistentVolumeClaim.storage | string | `"20Gi"` | `PersistentVolumeClaim` size |
+| alert.persistentVolumeClaim.storageClassName | string | `"-"` | `Alert` logs data persistent volume storage class. If set to "-", storageClassName: "", which disables dynamic provisioning |
+| alert.readinessProbe | object | `{"enabled":true,"failureThreshold":"3","initialDelaySeconds":"30","periodSeconds":"30","successThreshold":"1","timeoutSeconds":"5"}` | Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. More info: [container-probes](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) |
+| alert.readinessProbe.enabled | bool | `true` | Turn on and off readiness probe |
+| alert.readinessProbe.failureThreshold | string | `"3"` | Minimum consecutive failures for the probe |
+| alert.readinessProbe.initialDelaySeconds | string | `"30"` | Delay before readiness probe is initiated |
+| alert.readinessProbe.periodSeconds | string | `"30"` | How often to perform the probe |
+| alert.readinessProbe.successThreshold | string | `"1"` | Minimum consecutive successes for the probe |
+| alert.readinessProbe.timeoutSeconds | string | `"5"` | When the probe times out |
+| alert.replicas | int | `1` | Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1. |
+| alert.resources | object | `{}` | Compute Resources required by this container. More info: [manage-resources-containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) |
+| alert.service.annotations | object | `{}` | annotations may need to be set when want to scrapy metrics by prometheus but not install prometheus operator |
+| alert.service.serviceMonitor | object | `{"annotations":{},"enabled":false,"interval":"15s","labels":{},"path":"/actuator/prometheus"}` | serviceMonitor for prometheus operator |
+| alert.service.serviceMonitor.annotations | object | `{}` | serviceMonitor.annotations ServiceMonitor annotations |
+| alert.service.serviceMonitor.enabled | bool | `false` | Enable or disable alert-server serviceMonitor |
+| alert.service.serviceMonitor.interval | string | `"15s"` | serviceMonitor.interval interval at which metrics should be scraped |
+| alert.service.serviceMonitor.labels | object | `{}` | serviceMonitor.labels ServiceMonitor extra labels |
+| alert.service.serviceMonitor.path | string | `"/actuator/prometheus"` | serviceMonitor.path path of the metrics endpoint |
+| alert.strategy | object | `{"rollingUpdate":{"maxSurge":"25%","maxUnavailable":"25%"},"type":"RollingUpdate"}` | The deployment strategy to use to replace existing pods with new ones. |
+| alert.strategy.rollingUpdate.maxSurge | string | `"25%"` | The maximum number of pods that can be scheduled above the desired number of pods |
+| alert.strategy.rollingUpdate.maxUnavailable | string | `"25%"` | The maximum number of pods that can be unavailable during the update |
+| alert.strategy.type | string | `"RollingUpdate"` | Type of deployment. Can be "Recreate" or "RollingUpdate" |
+| alert.tolerations | list | `[]` | 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. |
+| api.affinity | object | `{}` | Affinity is a group of affinity scheduling rules. If specified, the pod's scheduling constraints. More info: [node-affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity) |
+| api.annotations | object | `{}` | You can use annotations to attach arbitrary non-identifying metadata to objects. Clients such as tools and libraries can retrieve this metadata. |
+| api.enabled | bool | `true` | Enable or disable the API-Server component |
+| api.env.JAVA_OPTS | string | `"-Xms512m -Xmx512m -Xmn256m"` | The jvm options for api server |
+| api.livenessProbe | object | `{"enabled":true,"failureThreshold":"3","initialDelaySeconds":"30","periodSeconds":"30","successThreshold":"1","timeoutSeconds":"5"}` | Periodic probe of container liveness. Container will be restarted if the probe fails. More info: [container-probes](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) |
+| api.livenessProbe.enabled | bool | `true` | Turn on and off liveness probe |
+| api.livenessProbe.failureThreshold | string | `"3"` | Minimum consecutive failures for the probe |
+| api.livenessProbe.initialDelaySeconds | string | `"30"` | Delay before liveness probe is initiated |
+| api.livenessProbe.periodSeconds | string | `"30"` | How often to perform the probe |
+| api.livenessProbe.successThreshold | string | `"1"` | Minimum consecutive successes for the probe |
+| api.livenessProbe.timeoutSeconds | string | `"5"` | When the probe times out |
+| api.nodeSelector | object | `{}` | 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: [assign-pod-node](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/) |
+| api.persistentVolumeClaim | object | `{"accessModes":["ReadWriteOnce"],"enabled":false,"storage":"20Gi","storageClassName":"-"}` | PersistentVolumeClaim represents a reference to a PersistentVolumeClaim in the same namespace. More info: [persistentvolumeclaims](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) |
+| api.persistentVolumeClaim.accessModes | list | `["ReadWriteOnce"]` | `PersistentVolumeClaim` access modes |
+| api.persistentVolumeClaim.enabled | bool | `false` | Set `api.persistentVolumeClaim.enabled` to `true` to mount a new volume for `api` |
+| api.persistentVolumeClaim.storage | string | `"20Gi"` | `PersistentVolumeClaim` size |
+| api.persistentVolumeClaim.storageClassName | string | `"-"` | `api` logs data persistent volume storage class. If set to "-", storageClassName: "", which disables dynamic provisioning |
+| api.readinessProbe | object | `{"enabled":true,"failureThreshold":"3","initialDelaySeconds":"30","periodSeconds":"30","successThreshold":"1","timeoutSeconds":"5"}` | Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. More info: [container-probes](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) |
+| api.readinessProbe.enabled | bool | `true` | Turn on and off readiness probe |
+| api.readinessProbe.failureThreshold | string | `"3"` | Minimum consecutive failures for the probe |
+| api.readinessProbe.initialDelaySeconds | string | `"30"` | Delay before readiness probe is initiated |
+| api.readinessProbe.periodSeconds | string | `"30"` | How often to perform the probe |
+| api.readinessProbe.successThreshold | string | `"1"` | Minimum consecutive successes for the probe |
+| api.readinessProbe.timeoutSeconds | string | `"5"` | When the probe times out |
+| api.replicas | string | `"1"` | Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1. |
+| api.resources | object | `{}` | Compute Resources required by this container. More info: [manage-resources-containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) |
+| api.service.annotations | object | `{}` | 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 |
+| api.service.clusterIP | string | `""` | clusterIP is the IP address of the service and is usually assigned randomly by the master |
+| api.service.externalIPs | list | `[]` | externalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service |
+| api.service.externalName | string | `""` | externalName is the external reference that kubedns or equivalent will return as a CNAME record for this service, requires Type to be ExternalName |
+| api.service.loadBalancerIP | string | `""` | loadBalancerIP when service.type is LoadBalancer. LoadBalancer will get created with the IP specified in this field |
+| api.service.nodePort | string | `""` | nodePort is the port on each node on which this api service is exposed when type=NodePort |
+| api.service.pythonNodePort | string | `""` | pythonNodePort is the port on each node on which this python api service is exposed when type=NodePort |
+| api.service.serviceMonitor | object | `{"annotations":{},"enabled":false,"interval":"15s","labels":{},"path":"/dolphinscheduler/actuator/prometheus"}` | serviceMonitor for prometheus operator |
+| api.service.serviceMonitor.annotations | object | `{}` | serviceMonitor.annotations ServiceMonitor annotations |
+| api.service.serviceMonitor.enabled | bool | `false` | Enable or disable api-server serviceMonitor |
+| api.service.serviceMonitor.interval | string | `"15s"` | serviceMonitor.interval interval at which metrics should be scraped |
+| api.service.serviceMonitor.labels | object | `{}` | serviceMonitor.labels ServiceMonitor extra labels |
+| api.service.serviceMonitor.path | string | `"/dolphinscheduler/actuator/prometheus"` | serviceMonitor.path path of the metrics endpoint |
+| api.service.type | string | `"ClusterIP"` | type determines how the Service is exposed. Defaults to ClusterIP. Valid options are ExternalName, ClusterIP, NodePort, and LoadBalancer |
+| api.strategy | object | `{"rollingUpdate":{"maxSurge":"25%","maxUnavailable":"25%"},"type":"RollingUpdate"}` | The deployment strategy to use to replace existing pods with new ones. |
+| api.strategy.rollingUpdate.maxSurge | string | `"25%"` | The maximum number of pods that can be scheduled above the desired number of pods |
+| api.strategy.rollingUpdate.maxUnavailable | string | `"25%"` | The maximum number of pods that can be unavailable during the update |
+| api.strategy.type | string | `"RollingUpdate"` | Type of deployment. Can be "Recreate" or "RollingUpdate" |
+| api.taskTypeFilter.enabled | bool | `false` | Enable or disable the task type filter. If set to true, the API-Server will return tasks of a specific type set in api.taskTypeFilter.task Note: This feature only filters tasks to return a specific type on the WebUI. However, you can still create any task that DolphinScheduler supports via the API. |
+| api.taskTypeFilter.task | object | `{}` | ref: [task-type-config.yaml](https://github.com/apache/dolphinscheduler/blob/dev/dolphinscheduler-api/src/main/resources/task-type-config.yaml) |
+| api.tolerations | list | `[]` | 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. |
+| common.configmap.DATAX_LAUNCHER | string | `"/opt/soft/datax/bin/datax.py"` | Set `DATAX_LAUNCHER` for DolphinScheduler's task environment |
+| common.configmap.DATA_BASEDIR_PATH | string | `"/tmp/dolphinscheduler"` | User data directory path, self configuration, please make sure the directory exists and have read write permissions |
+| common.configmap.DOLPHINSCHEDULER_OPTS | string | `""` | The jvm options for dolphinscheduler, suitable for all servers |
+| common.configmap.FLINK_HOME | string | `"/opt/soft/flink"` | Set `FLINK_HOME` for DolphinScheduler's task environment |
+| common.configmap.HADOOP_CONF_DIR | string | `"/opt/soft/hadoop/etc/hadoop"` | Set `HADOOP_CONF_DIR` for DolphinScheduler's task environment |
+| common.configmap.HADOOP_HOME | string | `"/opt/soft/hadoop"` | Set `HADOOP_HOME` for DolphinScheduler's task environment |
+| common.configmap.HIVE_HOME | string | `"/opt/soft/hive"` | Set `HIVE_HOME` for DolphinScheduler's task environment |
+| common.configmap.JAVA_HOME | string | `"/opt/java/openjdk"` | Set `JAVA_HOME` for DolphinScheduler's task environment |
+| common.configmap.PYTHON_LAUNCHER | string | `"/usr/bin/python/bin/python3"` | Set `PYTHON_LAUNCHER` for DolphinScheduler's task environment |
+| common.configmap.RESOURCE_UPLOAD_PATH | string | `"/dolphinscheduler"` | Resource store on HDFS/S3 path, please make sure the directory exists on hdfs and have read write permissions |
+| common.configmap.SPARK_HOME | string | `"/opt/soft/spark"` | Set `SPARK_HOME` for DolphinScheduler's task environment |
+| common.fsFileResourcePersistence.accessModes | list | `["ReadWriteMany"]` | `PersistentVolumeClaim` access modes, must be `ReadWriteMany` |
+| common.fsFileResourcePersistence.enabled | bool | `false` | Set `common.fsFileResourcePersistence.enabled` to `true` to mount a new file resource volume for `api` and `worker` |
+| common.fsFileResourcePersistence.storage | string | `"20Gi"` | `PersistentVolumeClaim` size |
+| common.fsFileResourcePersistence.storageClassName | string | `"-"` | Resource persistent volume storage class, must support the access mode: `ReadWriteMany` |
+| common.sharedStoragePersistence.accessModes | list | `["ReadWriteMany"]` | `PersistentVolumeClaim` access modes, must be `ReadWriteMany` |
+| common.sharedStoragePersistence.enabled | bool | `false` | Set `common.sharedStoragePersistence.enabled` to `true` to mount a shared storage volume for Hadoop, Spark binary and etc |
+| common.sharedStoragePersistence.mountPath | string | `"/opt/soft"` | The mount path for the shared storage volume |
+| common.sharedStoragePersistence.storage | string | `"20Gi"` | `PersistentVolumeClaim` size |
+| common.sharedStoragePersistence.storageClassName | string | `"-"` | Shared Storage persistent volume storage class, must support the access mode: ReadWriteMany |
+| conf.auto | bool | `false` | auto restart, if true, all components will be restarted automatically after the common configuration is updated. if false, you need to restart the components manually. default is false |
+| conf.common."alert.rpc.port" | int | `50052` | rpc port |
+| conf.common."appId.collect" | string | `"log"` | way to collect applicationId: log, aop |
+| conf.common."conda.path" | string | `"/opt/anaconda3/etc/profile.d/conda.sh"` | set path of conda.sh |
+| conf.common."data-quality.jar.name" | string | `"dolphinscheduler-data-quality-dev-SNAPSHOT.jar"` | data quality option |
+| conf.common."data.basedir.path" | string | `"/tmp/dolphinscheduler"` | user data local directory path, please make sure the directory exists and have read write permissions |
+| conf.common."datasource.encryption.enable" | bool | `false` | datasource encryption enable |
+| conf.common."datasource.encryption.salt" | string | `"!@#$%^&*"` | datasource encryption salt |
+| conf.common."development.state" | bool | `false` | development state |
+| conf.common."hadoop.security.authentication.startup.state" | bool | `false` | whether to startup kerberos |
+| conf.common."java.security.krb5.conf.path" | string | `"/opt/krb5.conf"` | java.security.krb5.conf path |
+| conf.common."kerberos.expire.time" | int | `2` | kerberos expire time, the unit is hour |
+| conf.common."login.user.keytab.path" | string | `"/opt/hdfs.headless.keytab"` | login user from keytab path |
+| conf.common."login.user.keytab.username" | string | `"hdfs-mycluster@ESZ.COM"` | login user from keytab username |
+| conf.common."ml.mlflow.preset_repository" | string | `"https://github.com/apache/dolphinscheduler-mlflow"` | mlflow task plugin preset repository |
+| conf.common."ml.mlflow.preset_repository_version" | string | `"main"` | mlflow task plugin preset repository version |
+| conf.common."resource.alibaba.cloud.access.key.id" | string | `"<your-access-key-id>"` | alibaba cloud access key id, required if you set resource.storage.type=OSS |
+| conf.common."resource.alibaba.cloud.access.key.secret" | string | `"<your-access-key-secret>"` | alibaba cloud access key secret, required if you set resource.storage.type=OSS |
+| conf.common."resource.alibaba.cloud.oss.bucket.name" | string | `"dolphinscheduler"` | oss bucket name, required if you set resource.storage.type=OSS |
+| conf.common."resource.alibaba.cloud.oss.endpoint" | string | `"https://oss-cn-hangzhou.aliyuncs.com"` | oss bucket endpoint, required if you set resource.storage.type=OSS |
+| conf.common."resource.alibaba.cloud.region" | string | `"cn-hangzhou"` | alibaba cloud region, required if you set resource.storage.type=OSS |
+| conf.common."resource.aws.access.key.id" | string | `"minioadmin"` | The AWS access key. if resource.storage.type=S3 or use EMR-Task, This configuration is required |
+| conf.common."resource.aws.region" | string | `"ca-central-1"` | The AWS Region to use. if resource.storage.type=S3 or use EMR-Task, This configuration is required |
+| conf.common."resource.aws.s3.bucket.name" | string | `"dolphinscheduler"` | 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. |
+| conf.common."resource.aws.s3.endpoint" | string | `"http://minio:9000"` | 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 |
+| conf.common."resource.aws.secret.access.key" | string | `"minioadmin"` | The AWS secret access key. if resource.storage.type=S3 or use EMR-Task, This configuration is required |
+| conf.common."resource.azure.client.id" | string | `"minioadmin"` | azure storage account name, required if you set resource.storage.type=ABS |
+| conf.common."resource.azure.client.secret" | string | `"minioadmin"` | azure storage account key, required if you set resource.storage.type=ABS |
+| conf.common."resource.azure.subId" | string | `"minioadmin"` | azure storage subId, required if you set resource.storage.type=ABS |
+| conf.common."resource.azure.tenant.id" | string | `"minioadmin"` | azure storage tenantId, required if you set resource.storage.type=ABS |
+| conf.common."resource.hdfs.fs.defaultFS" | string | `"hdfs://mycluster:8020"` | 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 |
+| conf.common."resource.hdfs.root.user" | string | `"hdfs"` | if resource.storage.type=HDFS, the user must have the permission to create directories under the HDFS root path |
+| conf.common."resource.manager.httpaddress.port" | int | `8088` | resourcemanager port, the default value is 8088 if not specified |
+| conf.common."resource.storage.type" | string | `"S3"` | resource storage type: HDFS, S3, OSS, GCS, ABS, NONE |
+| conf.common."resource.storage.upload.base.path" | string | `"/dolphinscheduler"` | 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 |
+| conf.common."sudo.enable" | bool | `true` | 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 |
+| conf.common."support.hive.oneSession" | bool | `false` | Whether hive SQL is executed in the same session |
+| conf.common."task.resource.limit.state" | bool | `false` | Task resource limit state |
+| conf.common."yarn.application.status.address" | string | `"http://ds1:%s/ws/v1/cluster/apps/%s"` | 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 |
+| conf.common."yarn.job.history.status.address" | string | `"http://ds1:19888/ws/v1/history/mapreduce/jobs/%s"` | job history status url when application number threshold is reached(default 10000, maybe it was set to 1000) |
+| conf.common."yarn.resourcemanager.ha.rm.ids" | string | `"192.168.xx.xx,192.168.xx.xx"` | if resourcemanager HA is enabled, please set the HA IPs; if resourcemanager is single, keep this value empty |
+| externalDatabase.database | string | `"dolphinscheduler"` | The database of external database |
+| externalDatabase.driverClassName | string | `"org.postgresql.Driver"` | The driverClassName of external database |
+| externalDatabase.enabled | bool | `false` | If exists external database, and set postgresql.enable value to false. external database will be used, otherwise Dolphinscheduler's internal database will be used. |
+| externalDatabase.host | string | `"localhost"` | The host of external database |
+| externalDatabase.params | string | `"characterEncoding=utf8"` | The params of external database |
+| externalDatabase.password | string | `"root"` | The password of external database |
+| externalDatabase.port | string | `"5432"` | The port of external database |
+| externalDatabase.type | string | `"postgresql"` | The type of external database, supported types: postgresql, mysql |
+| externalDatabase.username | string | `"root"` | The username of external database |
+| externalRegistry.registryPluginName | string | `"zookeeper"` | If exists external registry and set `zookeeper.enable` && `registryEtcd.enabled` && `registryJdbc.enabled` to false, specify the external registry plugin name |
+| externalRegistry.registryServers | string | `"127.0.0.1:2181"` | If exists external registry and set `zookeeper.enable` && `registryEtcd.enabled` && `registryJdbc.enabled` to false, specify the external registry servers |
+| image.alert | string | `"dolphinscheduler-alert-server"` | alert-server image |
+| image.api | string | `"dolphinscheduler-api"` | api-server image |
+| image.master | string | `"dolphinscheduler-master"` | master image |
+| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy. Options: Always, Never, IfNotPresent |
+| image.pullSecret | string | `""` | Specify a imagePullSecrets |
+| image.registry | string | `"apache/dolphinscheduler"` | Docker image repository for the DolphinScheduler |
+| image.tag | string | `"latest"` | Docker image version for the DolphinScheduler |
+| image.tools | string | `"dolphinscheduler-tools"` | tools image |
+| image.worker | string | `"dolphinscheduler-worker"` | worker image |
+| ingress.annotations | object | `{}` | Ingress annotations |
+| ingress.enabled | bool | `false` | Enable ingress |
+| ingress.host | string | `"dolphinscheduler.org"` | Ingress host |
+| ingress.path | string | `"/dolphinscheduler"` | Ingress path |
+| ingress.tls.enabled | bool | `false` | Enable ingress tls |
+| ingress.tls.secretName | string | `"dolphinscheduler-tls"` | Ingress tls secret name |
+| initImage | object | `{"busybox":"busybox:1.30.1","pullPolicy":"IfNotPresent"}` | Used to detect whether dolphinscheduler dependent services such as database are ready |
+| initImage.busybox | string | `"busybox:1.30.1"` | Specify initImage repository |
+| initImage.pullPolicy | string | `"IfNotPresent"` | Image pull policy. Options: Always, Never, IfNotPresent |
+| master.affinity | object | `{}` | Affinity is a group of affinity scheduling rules. If specified, the pod's scheduling constraints. More info: [node-affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity) |
+| master.annotations | object | `{}` | You can use annotations to attach arbitrary non-identifying metadata to objects. Clients such as tools and libraries can retrieve this metadata. |
+| master.enabled | bool | `true` | Enable or disable the Master component |
+| master.env.JAVA_OPTS | string | `"-Xms1g -Xmx1g -Xmn512m"` | The jvm options for master server |
+| master.env.MASTER_DISPATCH_TASK_NUM | string | `"3"` | Master dispatch task number per batch |
+| master.env.MASTER_EXEC_TASK_NUM | string | `"20"` | Master execute task number in parallel per process instance |
+| master.env.MASTER_EXEC_THREADS | string | `"100"` | Master execute thread number to limit process instances |
+| master.env.MASTER_FAILOVER_INTERVAL | string | `"10m"` | Master failover interval, the unit is minute |
+| master.env.MASTER_HEARTBEAT_ERROR_THRESHOLD | string | `"5"` | Master heartbeat error threshold |
+| master.env.MASTER_HEARTBEAT_INTERVAL | string | `"10s"` | Master heartbeat interval, the unit is second |
+| master.env.MASTER_HOST_SELECTOR | string | `"LowerWeight"` | Master host selector to select a suitable worker, optional values include Random, RoundRobin, LowerWeight |
+| master.env.MASTER_KILL_APPLICATION_WHEN_HANDLE_FAILOVER | string | `"true"` | Master kill application when handle failover |
+| master.env.MASTER_MAX_CPU_LOAD_AVG | string | `"1"` | Master max cpuload avg, only higher than the system cpu load average, master server can schedule |
+| master.env.MASTER_RESERVED_MEMORY | string | `"0.3"` | Master reserved memory, only lower than system available memory, master server can schedule, the unit is G |
+| master.env.MASTER_STATE_WHEEL_INTERVAL | string | `"5s"` | master state wheel interval, the unit is second |
+| master.env.MASTER_TASK_COMMIT_INTERVAL | string | `"1s"` | master commit task interval, the unit is second |
+| master.env.MASTER_TASK_COMMIT_RETRYTIMES | string | `"5"` | Master commit task retry times |
+| master.livenessProbe | object | `{"enabled":true,"failureThreshold":"3","initialDelaySeconds":"30","periodSeconds":"30","successThreshold":"1","timeoutSeconds":"5"}` | Periodic probe of container liveness. Container will be restarted if the probe fails. More info: [container-probes](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) |
+| master.livenessProbe.enabled | bool | `true` | Turn on and off liveness probe |
+| master.livenessProbe.failureThreshold | string | `"3"` | Minimum consecutive failures for the probe |
+| master.livenessProbe.initialDelaySeconds | string | `"30"` | Delay before liveness probe is initiated |
+| master.livenessProbe.periodSeconds | string | `"30"` | How often to perform the probe |
+| master.livenessProbe.successThreshold | string | `"1"` | Minimum consecutive successes for the probe |
+| master.livenessProbe.timeoutSeconds | string | `"5"` | When the probe times out |
+| master.nodeSelector | object | `{}` | 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: [assign-pod-node](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/) |
+| master.persistentVolumeClaim | object | `{"accessModes":["ReadWriteOnce"],"enabled":false,"storage":"20Gi","storageClassName":"-"}` | 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 li [...]
+| master.persistentVolumeClaim.accessModes | list | `["ReadWriteOnce"]` | `PersistentVolumeClaim` access modes |
+| master.persistentVolumeClaim.enabled | bool | `false` | Set `master.persistentVolumeClaim.enabled` to `true` to mount a new volume for `master` |
+| master.persistentVolumeClaim.storage | string | `"20Gi"` | `PersistentVolumeClaim` size |
+| master.persistentVolumeClaim.storageClassName | string | `"-"` | `Master` logs data persistent volume storage class. If set to "-", storageClassName: "", which disables dynamic provisioning |
+| master.podManagementPolicy | string | `"Parallel"` | PodManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down. |
+| master.readinessProbe | object | `{"enabled":true,"failureThreshold":"3","initialDelaySeconds":"30","periodSeconds":"30","successThreshold":"1","timeoutSeconds":"5"}` | Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. More info: [container-probes](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) |
+| master.readinessProbe.enabled | bool | `true` | Turn on and off readiness probe |
+| master.readinessProbe.failureThreshold | string | `"3"` | Minimum consecutive failures for the probe |
+| master.readinessProbe.initialDelaySeconds | string | `"30"` | Delay before readiness probe is initiated |
+| master.readinessProbe.periodSeconds | string | `"30"` | How often to perform the probe |
+| master.readinessProbe.successThreshold | string | `"1"` | Minimum consecutive successes for the probe |
+| master.readinessProbe.timeoutSeconds | string | `"5"` | When the probe times out |
+| master.replicas | string | `"3"` | Replicas is the desired number of replicas of the given Template. |
+| master.resources | object | `{}` | Compute Resources required by this container. More info: [manage-resources-containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) |
+| master.service.annotations | object | `{}` | annotations may need to be set when want to scrapy metrics by prometheus but not install prometheus operator |
+| master.service.serviceMonitor | object | `{"annotations":{},"enabled":false,"interval":"15s","labels":{},"path":"/actuator/prometheus"}` | serviceMonitor for prometheus operator |
+| master.service.serviceMonitor.annotations | object | `{}` | serviceMonitor.annotations ServiceMonitor annotations |
+| master.service.serviceMonitor.enabled | bool | `false` | Enable or disable master serviceMonitor |
+| master.service.serviceMonitor.interval | string | `"15s"` | serviceMonitor.interval interval at which metrics should be scraped |
+| master.service.serviceMonitor.labels | object | `{}` | serviceMonitor.labels ServiceMonitor extra labels |
+| master.service.serviceMonitor.path | string | `"/actuator/prometheus"` | serviceMonitor.path path of the metrics endpoint |
+| master.tolerations | list | `[]` | 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. |
+| minio.auth.rootPassword | string | `"minioadmin"` | minio password |
+| minio.auth.rootUser | string | `"minioadmin"` | minio username |
+| minio.defaultBuckets | string | `"dolphinscheduler"` | minio default buckets |
+| minio.enabled | bool | `true` | Deploy minio and configure it as the default storage for DolphinScheduler, note this is for demo only, not for production. |
+| minio.persistence.enabled | bool | `false` | Set minio.persistence.enabled to true to mount a new volume for internal minio |
+| mysql.auth.database | string | `"dolphinscheduler"` | mysql database |
+| mysql.auth.params | string | `"characterEncoding=utf8"` | mysql params |
+| mysql.auth.password | string | `"ds"` | mysql password |
+| mysql.auth.username | string | `"ds"` | mysql username |
+| mysql.driverClassName | string | `"com.mysql.cj.jdbc.Driver"` | mysql driverClassName |
+| mysql.enabled | bool | `false` | If not exists external MySQL, by default, the DolphinScheduler will use a internal MySQL |
+| mysql.primary.persistence.enabled | bool | `false` | Set mysql.primary.persistence.enabled to true to mount a new volume for internal MySQL |
+| mysql.primary.persistence.size | string | `"20Gi"` | `PersistentVolumeClaim` size |
+| mysql.primary.persistence.storageClass | string | `"-"` | MySQL data persistent volume storage class. If set to "-", storageClassName: "", which disables dynamic provisioning |
+| postgresql.driverClassName | string | `"org.postgresql.Driver"` | The driverClassName for internal PostgreSQL |
+| postgresql.enabled | bool | `true` | If not exists external PostgreSQL, by default, the DolphinScheduler will use a internal PostgreSQL |
+| postgresql.params | string | `"characterEncoding=utf8"` | The params for internal PostgreSQL |
+| postgresql.persistence.enabled | bool | `false` | Set postgresql.persistence.enabled to true to mount a new volume for internal PostgreSQL |
+| postgresql.persistence.size | string | `"20Gi"` | `PersistentVolumeClaim` size |
+| postgresql.persistence.storageClass | string | `"-"` | PostgreSQL data persistent volume storage class. If set to "-", storageClassName: "", which disables dynamic provisioning |
+| postgresql.postgresqlDatabase | string | `"dolphinscheduler"` | The database for internal PostgreSQL |
+| postgresql.postgresqlPassword | string | `"root"` | The password for internal PostgreSQL |
+| postgresql.postgresqlUsername | string | `"root"` | The username for internal PostgreSQL |
+| registryEtcd.authority | string | `""` | Etcd authority |
+| registryEtcd.enabled | bool | `false` | If you want to use Etcd for your registry center, change this value to true. And set zookeeper.enabled to false |
+| registryEtcd.endpoints | string | `""` | Etcd endpoints |
+| registryEtcd.namespace | string | `"dolphinscheduler"` | Etcd namespace |
+| registryEtcd.passWord | string | `""` | Etcd passWord |
+| registryEtcd.ssl.certFile | string | `"etcd-certs/ca.crt"` | CertFile file path |
+| registryEtcd.ssl.enabled | bool | `false` | If your Etcd server has configured with ssl, change this value to true. About certification files you can see [here](https://github.com/etcd-io/jetcd/blob/main/docs/SslConfig.md) for how to convert. |
+| registryEtcd.ssl.keyCertChainFile | string | `"etcd-certs/client.crt"` | keyCertChainFile file path |
+| registryEtcd.ssl.keyFile | string | `"etcd-certs/client.pem"` | keyFile file path |
+| registryEtcd.user | string | `""` | Etcd user |
+| registryJdbc.enabled | bool | `false` | If you want to use JDbc for your registry center, change this value to true. And set zookeeper.enabled and registryEtcd.enabled to false |
+| registryJdbc.hikariConfig.driverClassName | string | `"com.mysql.cj.jdbc.Driver"` | Default use same Dolphinscheduler's database if you don't change this value. If you set this value, Registry jdbc's database type will use it |
+| registryJdbc.hikariConfig.enabled | bool | `false` | Default use same Dolphinscheduler's database, if you want to use other database please change `enabled` to `true` and change other configs |
+| registryJdbc.hikariConfig.jdbcurl | string | `"jdbc:mysql://"` | Default use same Dolphinscheduler's database if you don't change this value. If you set this value, Registry jdbc's database type will use it |
+| registryJdbc.hikariConfig.password | string | `""` | Default use same Dolphinscheduler's database if you don't change this value. If you set this value, Registry jdbc's database type will use it |
+| registryJdbc.hikariConfig.username | string | `""` | Default use same Dolphinscheduler's database if you don't change this value. If you set this value, Registry jdbc's database type will use it |
+| registryJdbc.termExpireTimes | int | `3` | Used to calculate the expire time |
+| registryJdbc.termRefreshInterval | string | `"2s"` | Used to schedule refresh the ephemeral data/ lock |
+| security.authentication.ldap.basedn | string | `"dc=example,dc=com"` | LDAP base dn |
+| security.authentication.ldap.password | string | `"password"` | LDAP password |
+| security.authentication.ldap.ssl.enable | bool | `false` | LDAP ssl switch |
+| security.authentication.ldap.ssl.jksbase64content | string | `""` | LDAP jks file base64 content. If you use macOS, please run `base64 -b 0 -i /path/to/your.jks`. If you use Linux, please run `base64 -w 0 /path/to/your.jks`. If you use Windows, please run `certutil -f -encode /path/to/your.jks`. Then copy the base64 content to below field in one line |
+| security.authentication.ldap.ssl.truststore | string | `"/opt/ldapkeystore.jks"` | LDAP jks file absolute path, do not change this value |
+| security.authentication.ldap.ssl.truststorepassword | string | `""` | LDAP jks password |
+| security.authentication.ldap.urls | string | `"ldap://ldap.forumsys.com:389/"` | LDAP urls |
+| security.authentication.ldap.user.admin | string | `"read-only-admin"` | Admin user account when you log-in with LDAP |
+| security.authentication.ldap.user.emailattribute | string | `"mail"` | LDAP user email attribute |
+| security.authentication.ldap.user.identityattribute | string | `"uid"` | LDAP user identity attribute |
+| security.authentication.ldap.user.notexistaction | string | `"CREATE"` | action when ldap user is not exist,default value: CREATE. Optional values include(CREATE,DENY) |
+| security.authentication.ldap.username | string | `"cn=read-only-admin,dc=example,dc=com"` | LDAP username |
+| security.authentication.type | string | `"PASSWORD"` | Authentication types (supported types: PASSWORD,LDAP,CASDOOR_SSO) |
+| timezone | string | `"Asia/Shanghai"` | World time and date for cities in all time zones |
+| worker.affinity | object | `{}` | Affinity is a group of affinity scheduling rules. If specified, the pod's scheduling constraints. More info: [node-affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity) |
+| worker.annotations | object | `{}` | You can use annotations to attach arbitrary non-identifying metadata to objects. Clients such as tools and libraries can retrieve this metadata. |
+| worker.enabled | bool | `true` | Enable or disable the Worker component |
+| worker.env.WORKER_EXEC_THREADS | string | `"100"` | Worker execute thread number to limit task instances |
+| worker.env.WORKER_HEARTBEAT_INTERVAL | string | `"10s"` | Worker heartbeat interval, the unit is second |
+| worker.env.WORKER_HEART_ERROR_THRESHOLD | string | `"5"` | Worker heartbeat error threshold |
+| worker.env.WORKER_HOST_WEIGHT | string | `"100"` | Worker host weight to dispatch tasks |
+| worker.env.WORKER_MAX_CPU_LOAD_AVG | string | `"1"` | Worker max cpu load avg, only higher than the system cpu load average, worker server can be dispatched tasks |
+| worker.env.WORKER_RESERVED_MEMORY | string | `"0.3"` | Worker reserved memory, only lower than system available memory, worker server can be dispatched tasks, the unit is G |
+| worker.keda.advanced | object | `{}` | Specify HPA related options |
+| worker.keda.cooldownPeriod | int | `30` | How many seconds KEDA will wait before scaling to zero. Note that HPA has a separate cooldown period for scale-downs |
+| worker.keda.enabled | bool | `false` | Enable or disable the Keda component |
+| worker.keda.maxReplicaCount | int | `3` | Maximum number of workers created by keda |
+| worker.keda.minReplicaCount | int | `0` | Minimum number of workers created by keda |
+| worker.keda.namespaceLabels | object | `{}` | Keda namespace labels |
+| worker.keda.pollingInterval | int | `5` | How often KEDA polls the DolphinScheduler DB to report new scale requests to the HPA |
+| worker.livenessProbe | object | `{"enabled":true,"failureThreshold":"3","initialDelaySeconds":"30","periodSeconds":"30","successThreshold":"1","timeoutSeconds":"5"}` | Periodic probe of container liveness. Container will be restarted if the probe fails. More info: [container-probes](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) |
+| worker.livenessProbe.enabled | bool | `true` | Turn on and off liveness probe |
+| worker.livenessProbe.failureThreshold | string | `"3"` | Minimum consecutive failures for the probe |
+| worker.livenessProbe.initialDelaySeconds | string | `"30"` | Delay before liveness probe is initiated |
+| worker.livenessProbe.periodSeconds | string | `"30"` | How often to perform the probe |
+| worker.livenessProbe.successThreshold | string | `"1"` | Minimum consecutive successes for the probe |
+| worker.livenessProbe.timeoutSeconds | string | `"5"` | When the probe times out |
+| worker.nodeSelector | object | `{}` | 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: [assign-pod-node](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/) |
+| worker.persistentVolumeClaim | object | `{"dataPersistentVolume":{"accessModes":["ReadWriteOnce"],"enabled":false,"storage":"20Gi","storageClassName":"-"},"enabled":false,"logsPersistentVolume":{"accessModes":["ReadWriteOnce"],"enabled":false,"storage":"20Gi","storageClassName":"-"}}` | 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  [...]
+| worker.persistentVolumeClaim.dataPersistentVolume.accessModes | list | `["ReadWriteOnce"]` | `PersistentVolumeClaim` access modes |
+| worker.persistentVolumeClaim.dataPersistentVolume.enabled | bool | `false` | Set `worker.persistentVolumeClaim.dataPersistentVolume.enabled` to `true` to mount a data volume for `worker` |
+| worker.persistentVolumeClaim.dataPersistentVolume.storage | string | `"20Gi"` | `PersistentVolumeClaim` size |
+| worker.persistentVolumeClaim.dataPersistentVolume.storageClassName | string | `"-"` | `Worker` data persistent volume storage class. If set to "-", storageClassName: "", which disables dynamic provisioning |
+| worker.persistentVolumeClaim.enabled | bool | `false` | Set `worker.persistentVolumeClaim.enabled` to `true` to enable `persistentVolumeClaim` for `worker` |
+| worker.persistentVolumeClaim.logsPersistentVolume.accessModes | list | `["ReadWriteOnce"]` | `PersistentVolumeClaim` access modes |
+| worker.persistentVolumeClaim.logsPersistentVolume.enabled | bool | `false` | Set `worker.persistentVolumeClaim.logsPersistentVolume.enabled` to `true` to mount a logs volume for `worker` |
+| worker.persistentVolumeClaim.logsPersistentVolume.storage | string | `"20Gi"` | `PersistentVolumeClaim` size |
+| worker.persistentVolumeClaim.logsPersistentVolume.storageClassName | string | `"-"` | `Worker` logs data persistent volume storage class. If set to "-", storageClassName: "", which disables dynamic provisioning |
+| worker.podManagementPolicy | string | `"Parallel"` | PodManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down. |
+| worker.readinessProbe | object | `{"enabled":true,"failureThreshold":"3","initialDelaySeconds":"30","periodSeconds":"30","successThreshold":"1","timeoutSeconds":"5"}` | Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. More info: [container-probes](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) |
+| worker.readinessProbe.enabled | bool | `true` | Turn on and off readiness probe |
+| worker.readinessProbe.failureThreshold | string | `"3"` | Minimum consecutive failures for the probe |
+| worker.readinessProbe.initialDelaySeconds | string | `"30"` | Delay before readiness probe is initiated |
+| worker.readinessProbe.periodSeconds | string | `"30"` | How often to perform the probe |
+| worker.readinessProbe.successThreshold | string | `"1"` | Minimum consecutive successes for the probe |
+| worker.readinessProbe.timeoutSeconds | string | `"5"` | When the probe times out |
+| worker.replicas | string | `"3"` | Replicas is the desired number of replicas of the given Template. |
+| worker.resources | object | `{}` | Compute Resources required by this container. More info: [manage-resources-containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) |
+| worker.service.annotations | object | `{}` | annotations may need to be set when want to scrapy metrics by prometheus but not install prometheus operator |
+| worker.service.serviceMonitor | object | `{"annotations":{},"enabled":false,"interval":"15s","labels":{},"path":"/actuator/prometheus"}` | serviceMonitor for prometheus operator |
+| worker.service.serviceMonitor.annotations | object | `{}` | serviceMonitor.annotations ServiceMonitor annotations |
+| worker.service.serviceMonitor.enabled | bool | `false` | Enable or disable worker serviceMonitor |
+| worker.service.serviceMonitor.interval | string | `"15s"` | serviceMonitor.interval interval at which metrics should be scraped |
+| worker.service.serviceMonitor.labels | object | `{}` | serviceMonitor.labels ServiceMonitor extra labels |
+| worker.service.serviceMonitor.path | string | `"/actuator/prometheus"` | serviceMonitor.path path of the metrics endpoint |
+| worker.tolerations | list | `[]` | 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. |
+| zookeeper.enabled | bool | `true` | If not exists external registry, the zookeeper registry will be used by default. |
+| zookeeper.fourlwCommandsWhitelist | string | `"srvr,ruok,wchs,cons"` | A list of comma separated Four Letter Words commands to use |
+| zookeeper.persistence.enabled | bool | `false` | Set `zookeeper.persistence.enabled` to true to mount a new volume for internal ZooKeeper |
+| zookeeper.persistence.size | string | `"20Gi"` | PersistentVolumeClaim size |
+| zookeeper.persistence.storageClass | string | `"-"` | ZooKeeper data persistent volume storage class. If set to "-", storageClassName: "", which disables dynamic provisioning |
+| zookeeper.service.port | int | `2181` | The port of zookeeper |
diff --git a/deploy/kubernetes/dolphinscheduler/README.md.gotmpl b/deploy/kubernetes/dolphinscheduler/README.md.gotmpl
new file mode 100644
index 0000000000..f82b86d205
--- /dev/null
+++ b/deploy/kubernetes/dolphinscheduler/README.md.gotmpl
@@ -0,0 +1,11 @@
+## About DolphinScheduler for Kubernetes
+
+{{ template "chart.description" . }}
+
+This chart bootstraps all the components needed to run Apache DolphinScheduler on a Kubernetes Cluster using [Helm](https://helm.sh).
+
+## QuickStart in Kubernetes
+
+Please refer to the [Quick Start in Kubernetes](../../../docs/docs/en/guide/installation/kubernetes.md)
+
+{{ template "chart.valuesSection" . }}
diff --git a/deploy/kubernetes/dolphinscheduler/values.yaml b/deploy/kubernetes/dolphinscheduler/values.yaml
index 893ab94b4e..cea0e616db 100644
--- a/deploy/kubernetes/dolphinscheduler/values.yaml
+++ b/deploy/kubernetes/dolphinscheduler/values.yaml
@@ -19,322 +19,419 @@
 # This is a YAML-formatted file.
 # Declare variables to be passed into your templates.
 
+# -- World time and date for cities in all time zones
 timezone: "Asia/Shanghai"
 
-# Used to detect whether dolphinscheduler dependent services such as database are ready
+# -- Used to detect whether dolphinscheduler dependent services such as database are ready
 initImage:
+  # -- Image pull policy. Options: Always, Never, IfNotPresent
   pullPolicy: "IfNotPresent"
+  # -- Specify initImage repository
   busybox: "busybox:1.30.1"
 
 image:
-  registry: "dolphinscheduler.docker.scarf.sh/apache"
-  tag: "dev-SNAPSHOT"
+  # -- Docker image repository for the DolphinScheduler
+  registry: apache/dolphinscheduler
+  # -- Docker image version for the DolphinScheduler
+  tag: latest
+  # -- Image pull policy. Options: Always, Never, IfNotPresent
   pullPolicy: "IfNotPresent"
+  # -- Specify a imagePullSecrets
   pullSecret: ""
+  # -- master image
   master: dolphinscheduler-master
+  # -- worker image
   worker: dolphinscheduler-worker
+  # -- api-server image
   api: dolphinscheduler-api
+  # -- alert-server image
   alert: dolphinscheduler-alert-server
+  # -- tools image
   tools: dolphinscheduler-tools
 
-## If not exists external database, by default, Dolphinscheduler's database will use it.
 postgresql:
+  # -- If not exists external PostgreSQL, by default, the DolphinScheduler will use a internal PostgreSQL
   enabled: true
+  # -- The username for internal PostgreSQL
   postgresqlUsername: "root"
+  # -- The password for internal PostgreSQL
   postgresqlPassword: "root"
+  # -- The database for internal PostgreSQL
   postgresqlDatabase: "dolphinscheduler"
+  # -- The driverClassName for internal PostgreSQL
   driverClassName: "org.postgresql.Driver"
+  # -- The params for internal PostgreSQL
   params: "characterEncoding=utf8"
   persistence:
+    # -- Set postgresql.persistence.enabled to true to mount a new volume for internal PostgreSQL
     enabled: false
+    # -- `PersistentVolumeClaim` size
     size: "20Gi"
+    # -- PostgreSQL data persistent volume storage class. If set to "-", storageClassName: "", which disables dynamic provisioning
     storageClass: "-"
 
 mysql:
+  # -- If not exists external MySQL, by default, the DolphinScheduler will use a internal MySQL
   enabled: false
+  # -- mysql driverClassName
   driverClassName: "com.mysql.cj.jdbc.Driver"
   auth:
+    # -- mysql username
     username: "ds"
+    # -- mysql password
     password: "ds"
+    # -- mysql database
     database: "dolphinscheduler"
+    # -- mysql params
     params: "characterEncoding=utf8"
   primary:
     persistence:
+      # -- Set mysql.primary.persistence.enabled to true to mount a new volume for internal MySQL
       enabled: false
+      # -- `PersistentVolumeClaim` size
       size: "20Gi"
+      # -- MySQL data persistent volume storage class. If set to "-", storageClassName: "", which disables dynamic provisioning
       storageClass: "-"
 
 minio:
+  # -- Deploy minio and configure it as the default storage for DolphinScheduler, note this is for demo only, not for production.
   enabled: true
   auth:
+    # -- minio username
     rootUser: minioadmin
+    # -- minio password
     rootPassword: minioadmin
   persistence:
+    # -- Set minio.persistence.enabled to true to mount a new volume for internal minio
     enabled: false
+  # -- minio default buckets
   defaultBuckets: "dolphinscheduler"
 
-## If exists external database, and set postgresql.enable value to false.
-## external database will be used, otherwise Dolphinscheduler's database will be used.
+
 externalDatabase:
+  # -- If exists external database, and set postgresql.enable value to false.
+  # external database will be used, otherwise Dolphinscheduler's internal database will be used.
   enabled: false
+  # -- The type of external database, supported types: postgresql, mysql
   type: "postgresql"
+  # -- The host of external database
   host: "localhost"
+  # -- The port of external database
   port: "5432"
+  # -- The username of external database
   username: "root"
+  # -- The password of external database
   password: "root"
+  # -- The database of external database
   database: "dolphinscheduler"
+  # -- The params of external database
   params: "characterEncoding=utf8"
+  # -- The driverClassName of external database
   driverClassName: "org.postgresql.Driver"
 
-## If not exists external registry, the zookeeper registry will be used by default.
 zookeeper:
+  # -- If not exists external registry, the zookeeper registry will be used by default.
   enabled: true
   service:
+    # -- The port of zookeeper
     port: 2181
+  # -- A list of comma separated Four Letter Words commands to use
   fourlwCommandsWhitelist: "srvr,ruok,wchs,cons"
   persistence:
+    # -- Set `zookeeper.persistence.enabled` to true to mount a new volume for internal ZooKeeper
     enabled: false
+    # -- PersistentVolumeClaim size
     size: "20Gi"
+    # -- ZooKeeper data persistent volume storage class. If set to "-", storageClassName: "", which disables dynamic provisioning
     storageClass: "-"
 
 registryEtcd:
+  # -- If you want to use Etcd for your registry center, change this value to true. And set zookeeper.enabled to false
   enabled: false
+  # -- Etcd endpoints
   endpoints: ""
+  # -- Etcd namespace
   namespace: "dolphinscheduler"
+  # -- Etcd user
   user: ""
+  # -- Etcd passWord
   passWord: ""
+  # -- Etcd authority
   authority: ""
   # Please create a new folder: deploy/kubernetes/dolphinscheduler/etcd-certs
   ssl:
+    # -- If your Etcd server has configured with ssl, change this value to true. About certification files you can see [here](https://github.com/etcd-io/jetcd/blob/main/docs/SslConfig.md) for how to convert.
     enabled: false
+    # -- CertFile file path
     certFile: "etcd-certs/ca.crt"
+    # -- keyCertChainFile file path
     keyCertChainFile: "etcd-certs/client.crt"
+    # -- keyFile file path
     keyFile: "etcd-certs/client.pem"
 
 registryJdbc:
+  # -- If you want to use JDbc for your registry center, change this value to true. And set zookeeper.enabled and registryEtcd.enabled to false
   enabled: false
+  # -- Used to schedule refresh the ephemeral data/ lock
   termRefreshInterval: 2s
+  # -- Used to calculate the expire time
   termExpireTimes: 3
   hikariConfig:
-    # Default use same Dolphinscheduler's database, if you want to use other database please change `enabled` to `true` and change other configs
+    # -- Default use same Dolphinscheduler's database, if you want to use other database please change `enabled` to `true` and change other configs
     enabled: false
+    # -- Default use same Dolphinscheduler's database if you don't change this value. If you set this value, Registry jdbc's database type will use it
     driverClassName: com.mysql.cj.jdbc.Driver
+    # -- Default use same Dolphinscheduler's database if you don't change this value. If you set this value, Registry jdbc's database type will use it
     jdbcurl: jdbc:mysql://
+    # -- Default use same Dolphinscheduler's database if you don't change this value. If you set this value, Registry jdbc's database type will use it
     username: ""
+    # -- Default use same Dolphinscheduler's database if you don't change this value. If you set this value, Registry jdbc's database type will use it
     password: ""
 
 ## If exists external registry and set zookeeper.enable value to false, the external registry will be used.
 externalRegistry:
+  # -- If exists external registry and set `zookeeper.enable` && `registryEtcd.enabled` && `registryJdbc.enabled` to false, specify the external registry plugin name
   registryPluginName: "zookeeper"
+  # -- If exists external registry and set `zookeeper.enable` && `registryEtcd.enabled` && `registryJdbc.enabled` to false, specify the external registry servers
   registryServers: "127.0.0.1:2181"
 
 security:
   authentication:
-    # Authentication types (supported types: PASSWORD,LDAP,CASDOOR_SSO)
+    # -- Authentication types (supported types: PASSWORD,LDAP,CASDOOR_SSO)
     type: PASSWORD
     # IF you set type `LDAP`, below config will be effective
     ldap:
+      # -- LDAP urls
       urls: ldap://ldap.forumsys.com:389/
+      # -- LDAP base dn
       basedn: dc=example,dc=com
+      # -- LDAP username
       username: cn=read-only-admin,dc=example,dc=com
+      # -- LDAP password
       password: password
       user:
+        # -- Admin user account when you log-in with LDAP
         admin: read-only-admin
+        # -- LDAP user identity attribute
         identityattribute: uid
+        # -- LDAP user email attribute
         emailattribute: mail
+        # -- action when ldap user is not exist,default value: CREATE. Optional values include(CREATE,DENY)
         notexistaction: CREATE
       ssl:
+        # -- LDAP ssl switch
         enable: false
-        # do not change this value
+        # -- LDAP jks file absolute path, do not change this value
         truststore: "/opt/ldapkeystore.jks"
-        # if you use macOS, please run `base64 -b 0 -i /path/to/your.jks`
-        # if you use Linux, please run `base64 -w 0 /path/to/your.jks`
-        # if you use Windows, please run `certutil -f -encode /path/to/your.jks`
+        # -- LDAP jks file base64 content.
+        # If you use macOS, please run `base64 -b 0 -i /path/to/your.jks`.
+        # If you use Linux, please run `base64 -w 0 /path/to/your.jks`.
+        # If you use Windows, please run `certutil -f -encode /path/to/your.jks`.
         # Then copy the base64 content to below field in one line
         jksbase64content: ""
+        # -- LDAP jks password
         truststorepassword: ""
 
 conf:
-  # auto restart, if true, all components will be restarted automatically after the common configuration is updated. if false, you need to restart the components manually. default is false
+  # -- auto restart, if true, all components will be restarted automatically after the common configuration is updated. if false, you need to restart the components manually. default is false
   auto: false
   # common configuration
   common:
-    # user data local directory path, please make sure the directory exists and have read write permissions
+    # -- user data local directory path, please make sure the directory exists and have read write permissions
     data.basedir.path: /tmp/dolphinscheduler
 
-    # resource storage type: HDFS, S3, OSS, GCS, ABS, NONE
+    # -- resource storage type: HDFS, S3, OSS, GCS, ABS, NONE
     resource.storage.type: S3
 
-    # 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
+    # -- 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
     resource.storage.upload.base.path: /dolphinscheduler
 
-    # The AWS access key. if resource.storage.type=S3 or use EMR-Task, This configuration is required
+    # -- The AWS access key. if resource.storage.type=S3 or use EMR-Task, This configuration is required
     resource.aws.access.key.id: minioadmin
 
-    # The AWS secret access key. if resource.storage.type=S3 or use EMR-Task, This configuration is required
+    # -- The AWS secret access key. if resource.storage.type=S3 or use EMR-Task, This configuration is required
     resource.aws.secret.access.key: minioadmin
 
-    # The AWS Region to use. if resource.storage.type=S3 or use EMR-Task, This configuration is required
+    # -- The AWS Region to use. if resource.storage.type=S3 or use EMR-Task, This configuration is required
     resource.aws.region: ca-central-1
 
-    # 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.
+    # -- 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.
     resource.aws.s3.bucket.name: dolphinscheduler
 
-    # 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
+    # -- 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
     resource.aws.s3.endpoint: http://minio:9000
 
-    # alibaba cloud access key id, required if you set resource.storage.type=OSS
+    # -- alibaba cloud access key id, required if you set resource.storage.type=OSS
     resource.alibaba.cloud.access.key.id: <your-access-key-id>
 
-    # alibaba cloud access key secret, required if you set resource.storage.type=OSS
+    # -- alibaba cloud access key secret, required if you set resource.storage.type=OSS
     resource.alibaba.cloud.access.key.secret: <your-access-key-secret>
 
-    # alibaba cloud region, required if you set resource.storage.type=OSS
+    # -- alibaba cloud region, required if you set resource.storage.type=OSS
     resource.alibaba.cloud.region: cn-hangzhou
 
-    # oss bucket name, required if you set resource.storage.type=OSS
+    # -- oss bucket name, required if you set resource.storage.type=OSS
     resource.alibaba.cloud.oss.bucket.name: dolphinscheduler
 
-    # oss bucket endpoint, required if you set resource.storage.type=OSS
+    # -- oss bucket endpoint, required if you set resource.storage.type=OSS
     resource.alibaba.cloud.oss.endpoint: https://oss-cn-hangzhou.aliyuncs.com
 
-    # azure storage account name, required if you set resource.storage.type=ABS
+    # -- azure storage account name, required if you set resource.storage.type=ABS
     resource.azure.client.id: minioadmin
 
-    # azure storage account key, required if you set resource.storage.type=ABS
+    # -- azure storage account key, required if you set resource.storage.type=ABS
     resource.azure.client.secret: minioadmin
 
-    # azure storage subId, required if you set resource.storage.type=ABS
+    # -- azure storage subId, required if you set resource.storage.type=ABS
     resource.azure.subId: minioadmin
 
-    # azure storage tenantId, required if you set resource.storage.type=ABS
+    # -- azure storage tenantId, required if you set resource.storage.type=ABS
     resource.azure.tenant.id: minioadmin
 
-    # if resource.storage.type=HDFS, the user must have the permission to create directories under the HDFS root path
+    # -- if resource.storage.type=HDFS, the user must have the permission to create directories under the HDFS root path
     resource.hdfs.root.user: hdfs
 
-    # 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
+    # -- 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
     resource.hdfs.fs.defaultFS: hdfs://mycluster:8020
 
-    # whether to startup kerberos
+    # -- whether to startup kerberos
     hadoop.security.authentication.startup.state: false
 
-    # java.security.krb5.conf path
+    # -- java.security.krb5.conf path
     java.security.krb5.conf.path: /opt/krb5.conf
 
-    # login user from keytab username
+    # -- login user from keytab username
     login.user.keytab.username: hdfs-mycluster@ESZ.COM
 
-    # login user from keytab path
+    # -- login user from keytab path
     login.user.keytab.path: /opt/hdfs.headless.keytab
 
-    # kerberos expire time, the unit is hour
+    # -- kerberos expire time, the unit is hour
     kerberos.expire.time: 2
 
-    # resourcemanager port, the default value is 8088 if not specified
+    # -- resourcemanager port, the default value is 8088 if not specified
     resource.manager.httpaddress.port: 8088
 
-    # if resourcemanager HA is enabled, please set the HA IPs; if resourcemanager is single, keep this value empty
+    # -- if resourcemanager HA is enabled, please set the HA IPs; if resourcemanager is single, keep this value empty
     yarn.resourcemanager.ha.rm.ids: 192.168.xx.xx,192.168.xx.xx
 
-    # 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
+    # -- 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
     yarn.application.status.address: http://ds1:%s/ws/v1/cluster/apps/%s
 
-    # job history status url when application number threshold is reached(default 10000, maybe it was set to 1000)
+    # -- job history status url when application number threshold is reached(default 10000, maybe it was set to 1000)
     yarn.job.history.status.address: http://ds1:19888/ws/v1/history/mapreduce/jobs/%s
 
-    # datasource encryption enable
+    # -- datasource encryption enable
     datasource.encryption.enable: false
 
-    # datasource encryption salt
+    # -- datasource encryption salt
     datasource.encryption.salt: '!@#$%^&*'
 
-    # data quality option
+    # -- data quality option
     data-quality.jar.name: dolphinscheduler-data-quality-dev-SNAPSHOT.jar
 
-    # Whether hive SQL is executed in the same session
+    # -- Whether hive SQL is executed in the same session
     support.hive.oneSession: false
 
-    # 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
+    # -- 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
     sudo.enable: true
 
-    # development state
+    # -- development state
     development.state: false
 
-    # rpc port
+    # -- rpc port
     alert.rpc.port: 50052
 
-    # set path of conda.sh
+    # -- set path of conda.sh
     conda.path: /opt/anaconda3/etc/profile.d/conda.sh
 
-    # Task resource limit state
+    # -- Task resource limit state
     task.resource.limit.state: false
 
-    # mlflow task plugin preset repository
+    # -- mlflow task plugin preset repository
     ml.mlflow.preset_repository: https://github.com/apache/dolphinscheduler-mlflow
 
-    # mlflow task plugin preset repository version
+    # -- mlflow task plugin preset repository version
     ml.mlflow.preset_repository_version: "main"
 
-    # way to collect applicationId: log, aop
+    # -- way to collect applicationId: log, aop
     appId.collect: log
 
 common:
   ## Configmap
   configmap:
+    # -- The jvm options for dolphinscheduler, suitable for all servers
     DOLPHINSCHEDULER_OPTS: ""
+    # -- User data directory path, self configuration, please make sure the directory exists and have read write permissions
     DATA_BASEDIR_PATH: "/tmp/dolphinscheduler"
+
+    # -- Resource store on HDFS/S3 path, please make sure the directory exists on hdfs and have read write permissions
     RESOURCE_UPLOAD_PATH: "/dolphinscheduler"
 
     # dolphinscheduler env
+    # -- Set `HADOOP_HOME` for DolphinScheduler's task environment
     HADOOP_HOME: "/opt/soft/hadoop"
+    # -- Set `HADOOP_CONF_DIR` for DolphinScheduler's task environment
     HADOOP_CONF_DIR: "/opt/soft/hadoop/etc/hadoop"
+    # -- Set `SPARK_HOME` for DolphinScheduler's task environment
     SPARK_HOME: "/opt/soft/spark"
+    # -- Set `PYTHON_LAUNCHER` for DolphinScheduler's task environment
     PYTHON_LAUNCHER: "/usr/bin/python/bin/python3"
+    # -- Set `JAVA_HOME` for DolphinScheduler's task environment
     JAVA_HOME: "/opt/java/openjdk"
+    # -- Set `HIVE_HOME` for DolphinScheduler's task environment
     HIVE_HOME: "/opt/soft/hive"
+    # -- Set `FLINK_HOME` for DolphinScheduler's task environment
     FLINK_HOME: "/opt/soft/flink"
+    # -- Set `DATAX_LAUNCHER` for DolphinScheduler's task environment
     DATAX_LAUNCHER: "/opt/soft/datax/bin/datax.py"
   ## Shared storage persistence mounted into api, master and worker, such as Hadoop, Spark, Flink and DataX binary package
   sharedStoragePersistence:
+    # -- Set `common.sharedStoragePersistence.enabled` to `true` to mount a shared storage volume for Hadoop, Spark binary and etc
     enabled: false
+    # -- The mount path for the shared storage volume
     mountPath: "/opt/soft"
+    # -- `PersistentVolumeClaim` access modes, must be `ReadWriteMany`
     accessModes:
     - "ReadWriteMany"
-    ## storageClassName must support the access mode: ReadWriteMany
+    # -- Shared Storage persistent volume storage class, must support the access mode: ReadWriteMany
     storageClassName: "-"
+    # -- `PersistentVolumeClaim` size
     storage: "20Gi"
   ## If RESOURCE_STORAGE_TYPE is HDFS and FS_DEFAULT_FS is file:///, fsFileResourcePersistence should be enabled for resource storage
   fsFileResourcePersistence:
+    # -- Set `common.fsFileResourcePersistence.enabled` to `true` to mount a new file resource volume for `api` and `worker`
     enabled: false
+    # -- `PersistentVolumeClaim` access modes, must be `ReadWriteMany`
     accessModes:
     - "ReadWriteMany"
-    ## storageClassName must support the access mode: ReadWriteMany
+    # -- Resource persistent volume storage class, must support the access mode: `ReadWriteMany`
     storageClassName: "-"
+    # -- `PersistentVolumeClaim` size
     storage: "20Gi"
 
 master:
-  ## Enable or disable the Master component
+  # -- Enable or disable the Master component
   enabled: true
-  ## PodManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down.
+  # -- 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 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.
+  # -- 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 is a group of affinity scheduling rules. If specified, the pod's scheduling constraints.
+  # More info: [node-affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity)
   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 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: [assign-pod-node](https://kubernetes.io/docs/concepts/scheduling-eviction/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 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
+  # -- Compute Resources required by this container.
+  # More info: [manage-resources-containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)
   resources: {}
   # resources:
   #   limits:
@@ -343,87 +440,118 @@ master:
   #   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
+
+  # -- Periodic probe of container liveness. Container will be restarted if the probe fails.
+  # More info: [container-probes](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes)
   livenessProbe:
+    # -- Turn on and off liveness probe
     enabled: true
+    # -- Delay before liveness probe is initiated
     initialDelaySeconds: "30"
+    # -- How often to perform the probe
     periodSeconds: "30"
+    # -- When the probe times out
     timeoutSeconds: "5"
+    # -- Minimum consecutive failures for the probe
     failureThreshold: "3"
+    # -- Minimum consecutive successes for the probe
     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
+  # -- Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails.
+  # More info: [container-probes](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes)
   readinessProbe:
+    # -- Turn on and off readiness probe
     enabled: true
+    # -- Delay before readiness probe is initiated
     initialDelaySeconds: "30"
+    # -- How often to perform the probe
     periodSeconds: "30"
+    # -- When the probe times out
     timeoutSeconds: "5"
+    # -- Minimum consecutive failures for the probe
     failureThreshold: "3"
+    # -- Minimum consecutive successes for the probe
     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 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:
+    # -- Set `master.persistentVolumeClaim.enabled` to `true` to mount a new volume for `master`
     enabled: false
+    # -- `PersistentVolumeClaim` access modes
     accessModes:
     - "ReadWriteOnce"
+    # -- `Master` logs data persistent volume storage class. If set to "-", storageClassName: "", which disables dynamic provisioning
     storageClassName: "-"
+    # -- `PersistentVolumeClaim` size
     storage: "20Gi"
   env:
+    # -- The jvm options for master server
     JAVA_OPTS: "-Xms1g -Xmx1g -Xmn512m"
+    # -- Master execute thread number to limit process instances
     MASTER_EXEC_THREADS: "100"
+    # -- Master execute task number in parallel per process instance
     MASTER_EXEC_TASK_NUM: "20"
+    # -- Master dispatch task number per batch
     MASTER_DISPATCH_TASK_NUM: "3"
+    # -- Master host selector to select a suitable worker, optional values include Random, RoundRobin, LowerWeight
     MASTER_HOST_SELECTOR: "LowerWeight"
+    # -- Master heartbeat interval, the unit is second
     MASTER_HEARTBEAT_INTERVAL: "10s"
+    # -- Master heartbeat error threshold
     MASTER_HEARTBEAT_ERROR_THRESHOLD: "5"
+    # -- Master commit task retry times
     MASTER_TASK_COMMIT_RETRYTIMES: "5"
+    # -- master commit task interval, the unit is second
     MASTER_TASK_COMMIT_INTERVAL: "1s"
+    # -- master state wheel interval, the unit is second
     MASTER_STATE_WHEEL_INTERVAL: "5s"
+    # -- Master max cpuload avg, only higher than the system cpu load average, master server can schedule
     MASTER_MAX_CPU_LOAD_AVG: "1"
+    # -- Master reserved memory, only lower than system available memory, master server can schedule, the unit is G
     MASTER_RESERVED_MEMORY: "0.3"
+    # -- Master failover interval, the unit is minute
     MASTER_FAILOVER_INTERVAL: "10m"
+    # -- Master kill application when handle failover
     MASTER_KILL_APPLICATION_WHEN_HANDLE_FAILOVER: "true"
   service:
-    # annotations may need to be set when want to scrapy metrics by prometheus but not install prometheus operator
+    # -- annotations may need to be set when want to scrapy metrics by prometheus but not install prometheus operator
     annotations: {}
-    # serviceMonitor for prometheus operator
+    # -- serviceMonitor for prometheus operator
     serviceMonitor:
       # -- Enable or disable master serviceMonitor
       enabled: false
-      # -- @param serviceMonitor.interval interval at which metrics should be scraped
+      # -- serviceMonitor.interval interval at which metrics should be scraped
       interval: 15s
-      # -- @param serviceMonitor.path path of the metrics endpoint
+      # -- serviceMonitor.path path of the metrics endpoint
       path: /actuator/prometheus
-      # -- @param serviceMonitor.labels ServiceMonitor extra labels
+      # -- serviceMonitor.labels ServiceMonitor extra labels
       labels: {}
-      # -- @param serviceMonitor.annotations ServiceMonitor annotations
+      # -- serviceMonitor.annotations ServiceMonitor annotations
       annotations: {}
 
 worker:
-  ## Enable or disable the Worker component
+  # -- Enable or disable the Worker component
   enabled: true
-  ## PodManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down.
+  # -- 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 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.
+  # -- 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 is a group of affinity scheduling rules. If specified, the pod's scheduling constraints.
+  # More info: [node-affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity)
   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 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: [assign-pod-node](https://kubernetes.io/docs/concepts/scheduling-eviction/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
+  # -- 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.
+  # More info: [manage-resources-containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)
   resources: {}
   # resources:
   #   limits:
@@ -432,69 +560,99 @@ worker:
   #   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
+
+  # -- Periodic probe of container liveness. Container will be restarted if the probe fails.
+  # More info: [container-probes](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes)
   livenessProbe:
+    # -- Turn on and off liveness probe
     enabled: true
+    # -- Delay before liveness probe is initiated
     initialDelaySeconds: "30"
+    # -- How often to perform the probe
     periodSeconds: "30"
+    # -- When the probe times out
     timeoutSeconds: "5"
+    # -- Minimum consecutive failures for the probe
     failureThreshold: "3"
+    # -- Minimum consecutive successes for the probe
     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
+  # -- Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails.
+  # More info: [container-probes](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes)
   readinessProbe:
+    # -- Turn on and off readiness probe
     enabled: true
+    # -- Delay before readiness probe is initiated
     initialDelaySeconds: "30"
+    # -- How often to perform the probe
     periodSeconds: "30"
+    # -- When the probe times out
     timeoutSeconds: "5"
+    # -- Minimum consecutive failures for the probe
     failureThreshold: "3"
+    # -- Minimum consecutive successes for the probe
     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 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:
+    # -- Set `worker.persistentVolumeClaim.enabled` to `true` to enable `persistentVolumeClaim` for `worker`
     enabled: false
     ## dolphinscheduler data volume
     dataPersistentVolume:
+      # -- Set `worker.persistentVolumeClaim.dataPersistentVolume.enabled` to `true` to mount a data volume for `worker`
       enabled: false
+      # -- `PersistentVolumeClaim` access modes
       accessModes:
       - "ReadWriteOnce"
+      # -- `Worker` data persistent volume storage class. If set to "-", storageClassName: "", which disables dynamic provisioning
       storageClassName: "-"
+      # -- `PersistentVolumeClaim` size
       storage: "20Gi"
     ## dolphinscheduler logs volume
     logsPersistentVolume:
+      # -- Set `worker.persistentVolumeClaim.logsPersistentVolume.enabled` to `true` to mount a logs volume for `worker`
       enabled: false
+      # -- `PersistentVolumeClaim` access modes
       accessModes:
       - "ReadWriteOnce"
+      # -- `Worker` logs data persistent volume storage class. If set to "-", storageClassName: "", which disables dynamic provisioning
       storageClassName: "-"
+      # -- `PersistentVolumeClaim` size
       storage: "20Gi"
   env:
+    # -- Worker max cpu load avg, only higher than the system cpu load average, worker server can be dispatched tasks
     WORKER_MAX_CPU_LOAD_AVG: "1"
+    # -- Worker reserved memory, only lower than system available memory, worker server can be dispatched tasks, the unit is G
     WORKER_RESERVED_MEMORY: "0.3"
+    # -- Worker execute thread number to limit task instances
     WORKER_EXEC_THREADS: "100"
+    # -- Worker heartbeat interval, the unit is second
     WORKER_HEARTBEAT_INTERVAL: "10s"
+    # -- Worker heartbeat error threshold
     WORKER_HEART_ERROR_THRESHOLD: "5"
+    # -- Worker host weight to dispatch tasks
     WORKER_HOST_WEIGHT: "100"
   keda:
+    # -- Enable or disable the Keda component
     enabled: false
+    # -- Keda namespace labels
     namespaceLabels: { }
 
-    # How often KEDA polls the DolphinScheduler DB to report new scale requests to the HPA
+    # -- How often KEDA polls the DolphinScheduler DB to report new scale requests to the HPA
     pollingInterval: 5
 
-    # How many seconds KEDA will wait before scaling to zero.
+    # -- How many seconds KEDA will wait before scaling to zero.
     # Note that HPA has a separate cooldown period for scale-downs
     cooldownPeriod: 30
 
-    # Minimum number of workers created by keda
+    # -- Minimum number of workers created by keda
     minReplicaCount: 0
 
-    # Maximum number of workers created by keda
+    # -- Maximum number of workers created by keda
     maxReplicaCount: 3
 
-    # Specify HPA related options
+    # -- Specify HPA related options
     advanced: { }
     # horizontalPodAutoscalerConfig:
     #   behavior:
@@ -505,48 +663,51 @@ worker:
     #           value: 100
     #           periodSeconds: 15
   service:
-    # annotations may need to be set when want to scrapy metrics by prometheus but not install prometheus operator
+    # -- annotations may need to be set when want to scrapy metrics by prometheus but not install prometheus operator
     annotations: {}
-    # serviceMonitor for prometheus operator
+    # -- serviceMonitor for prometheus operator
     serviceMonitor:
       # -- Enable or disable worker serviceMonitor
       enabled: false
-      # -- @param serviceMonitor.interval interval at which metrics should be scraped
+      # -- serviceMonitor.interval interval at which metrics should be scraped
       interval: 15s
-      # -- @param serviceMonitor.path path of the metrics endpoint
+      # -- serviceMonitor.path path of the metrics endpoint
       path: /actuator/prometheus
-      # -- @param serviceMonitor.labels ServiceMonitor extra labels
+      # -- serviceMonitor.labels ServiceMonitor extra labels
       labels: {}
-      # -- @param serviceMonitor.annotations ServiceMonitor annotations
+      # -- serviceMonitor.annotations ServiceMonitor annotations
       annotations: {}
 
 
 alert:
-  ## Enable or disable the Alert-Server component
+  # -- Enable or disable the Alert-Server component
   enabled: true
-  ## Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.
+  # -- 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.
+  # -- The deployment strategy to use to replace existing pods with new ones.
   strategy:
+    # -- Type of deployment. Can be "Recreate" or "RollingUpdate"
     type: "RollingUpdate"
     rollingUpdate:
+      # -- The maximum number of pods that can be scheduled above the desired number of pods
       maxSurge: "25%"
+      # -- The maximum number of pods that can be unavailable during the update
       maxUnavailable: "25%"
-  ## You can use annotations to attach arbitrary non-identifying metadata to objects.
-  ## Clients such as tools and libraries can retrieve this metadata.
+  # -- 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 is a group of affinity scheduling rules. If specified, the pod's scheduling constraints.
+  # More info: [node-affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity)
   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 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: [assign-pod-node](https://kubernetes.io/docs/concepts/scheduling-eviction/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 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
+  # -- Compute Resources required by this container.
+  # More info: [manage-resources-containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)
   resources: {}
   # resources:
   #   limits:
@@ -555,77 +716,98 @@ alert:
   #   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
+
+  # -- Periodic probe of container liveness. Container will be restarted if the probe fails.
+  # More info: [container-probes](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes)
   livenessProbe:
+    # -- Turn on and off liveness probe
     enabled: true
+    # -- Delay before liveness probe is initiated
     initialDelaySeconds: "30"
+    # -- How often to perform the probe
     periodSeconds: "30"
+    # -- When the probe times out
     timeoutSeconds: "5"
+    # -- Minimum consecutive failures for the probe
     failureThreshold: "3"
+    # -- Minimum consecutive successes for the probe
     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
+  # -- Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails.
+  # More info: [container-probes](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes)
   readinessProbe:
+    # -- Turn on and off readiness probe
     enabled: true
+    # -- Delay before readiness probe is initiated
     initialDelaySeconds: "30"
+    # -- How often to perform the probe
     periodSeconds: "30"
+    # -- When the probe times out
     timeoutSeconds: "5"
+    # -- Minimum consecutive failures for the probe
     failureThreshold: "3"
+    # -- Minimum consecutive successes for the probe
     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 represents a reference to a PersistentVolumeClaim in the same namespace.
+  # More info: [persistentvolumeclaims](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims)
   persistentVolumeClaim:
+    # -- Set `alert.persistentVolumeClaim.enabled` to `true` to mount a new volume for `alert`
     enabled: false
+    # -- `PersistentVolumeClaim` access modes
     accessModes:
     - "ReadWriteOnce"
+    # -- `Alert` logs data persistent volume storage class. If set to "-", storageClassName: "", which disables dynamic provisioning
     storageClassName: "-"
+    # -- `PersistentVolumeClaim` size
     storage: "20Gi"
   env:
+    # -- The jvm options for alert server
     JAVA_OPTS: "-Xms512m -Xmx512m -Xmn256m"
   service:
-    # annotations may need to be set when want to scrapy metrics by prometheus but not install prometheus operator
+    # -- annotations may need to be set when want to scrapy metrics by prometheus but not install prometheus operator
     annotations: {}
-    # serviceMonitor for prometheus operator
+    # -- serviceMonitor for prometheus operator
     serviceMonitor:
       # -- Enable or disable alert-server serviceMonitor
       enabled: false
-      # -- @param serviceMonitor.interval interval at which metrics should be scraped
+      # -- serviceMonitor.interval interval at which metrics should be scraped
       interval: 15s
-      # -- @param serviceMonitor.path path of the metrics endpoint
+      # -- serviceMonitor.path path of the metrics endpoint
       path: /actuator/prometheus
-      # -- @param serviceMonitor.labels ServiceMonitor extra labels
+      # -- serviceMonitor.labels ServiceMonitor extra labels
       labels: {}
-      # -- @param serviceMonitor.annotations ServiceMonitor annotations
+      # -- serviceMonitor.annotations ServiceMonitor annotations
       annotations: {}
 
 
 api:
-  ## Enable or disable the API-Server component
+  # -- Enable or disable the API-Server component
   enabled: true
-  ## Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.
+  # -- 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.
+  # -- The deployment strategy to use to replace existing pods with new ones.
   strategy:
+    # -- Type of deployment. Can be "Recreate" or "RollingUpdate"
     type: "RollingUpdate"
     rollingUpdate:
+      # -- The maximum number of pods that can be scheduled above the desired number of pods
       maxSurge: "25%"
+      # -- The maximum number of pods that can be unavailable during the update
       maxUnavailable: "25%"
-  ## You can use annotations to attach arbitrary non-identifying metadata to objects.
-  ## Clients such as tools and libraries can retrieve this metadata.
+  # -- 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
+  # -- Affinity is a group of affinity scheduling rules. If specified, the pod's scheduling constraints.
+  # More info: [node-affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity)
+  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: [assign-pod-node](https://kubernetes.io/docs/concepts/scheduling-eviction/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.
+  # More info: [manage-resources-containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)
   resources: {}
   # resources:
   #   limits:
@@ -634,71 +816,89 @@ api:
   #   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
+
+  # -- Periodic probe of container liveness. Container will be restarted if the probe fails.
+  # More info: [container-probes](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes)
   livenessProbe:
+    # -- Turn on and off liveness probe
     enabled: true
+    # -- Delay before liveness probe is initiated
     initialDelaySeconds: "30"
+    # -- How often to perform the probe
     periodSeconds: "30"
+    # -- When the probe times out
     timeoutSeconds: "5"
+    # -- Minimum consecutive failures for the probe
     failureThreshold: "3"
+    # -- Minimum consecutive successes for the probe
     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
+  # -- Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails.
+  # More info: [container-probes](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes)
   readinessProbe:
+    # -- Turn on and off readiness probe
     enabled: true
+    # -- Delay before readiness probe is initiated
     initialDelaySeconds: "30"
+    # -- How often to perform the probe
     periodSeconds: "30"
+    # -- When the probe times out
     timeoutSeconds: "5"
+    # -- Minimum consecutive failures for the probe
     failureThreshold: "3"
+    # -- Minimum consecutive successes for the probe
     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 represents a reference to a PersistentVolumeClaim in the same namespace.
+  # More info: [persistentvolumeclaims](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims)
   persistentVolumeClaim:
+    # -- Set `api.persistentVolumeClaim.enabled` to `true` to mount a new volume for `api`
     enabled: false
+    # -- `PersistentVolumeClaim` access modes
     accessModes:
     - "ReadWriteOnce"
+    # -- `api` logs data persistent volume storage class. If set to "-", storageClassName: "", which disables dynamic provisioning
     storageClassName: "-"
+    # -- `PersistentVolumeClaim` size
     storage: "20Gi"
   service:
-    ## type determines how the Service is exposed. Defaults to ClusterIP. Valid options are ExternalName, ClusterIP, NodePort, and LoadBalancer
+    # -- 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 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 api service is exposed when type=NodePort
+    # -- nodePort is the port on each node on which this api service is exposed when type=NodePort
     nodePort: ""
-    ## pythonNodePort is the port on each node on which this python api service is exposed when type=NodePort
+    # -- pythonNodePort is the port on each node on which this python api service is exposed when type=NodePort
     pythonNodePort: ""
-    ## externalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service
+    # -- 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 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 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 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: {}
-    # serviceMonitor for prometheus operator
+    # -- serviceMonitor for prometheus operator
     serviceMonitor:
       # -- Enable or disable api-server serviceMonitor
       enabled: false
-      # -- @param serviceMonitor.interval interval at which metrics should be scraped
+      # -- serviceMonitor.interval interval at which metrics should be scraped
       interval: 15s
-      # -- @param serviceMonitor.path path of the metrics endpoint
+      # -- serviceMonitor.path path of the metrics endpoint
       path: /dolphinscheduler/actuator/prometheus
-      # -- @param serviceMonitor.labels ServiceMonitor extra labels
+      # -- serviceMonitor.labels ServiceMonitor extra labels
       labels: {}
-      # -- @param serviceMonitor.annotations ServiceMonitor annotations
+      # -- serviceMonitor.annotations ServiceMonitor annotations
       annotations: {}
   env:
+    # -- The jvm options for api server
     JAVA_OPTS: "-Xms512m -Xmx512m -Xmn256m"
   taskTypeFilter:
-    # -- Enable or disable the task type filter
-    # -- If set to true, the API-Server will return tasks of a specific type set in api.taskTypeFilter.task
-    # -- Note: This feature only filters tasks to return a specific type on the WebUI. However, you can still create any task that DolphinScheduler supports via the API.
+    # -- Enable or disable the task type filter.
+    # If set to true, the API-Server will return tasks of a specific type set in api.taskTypeFilter.task
+    # Note: This feature only filters tasks to return a specific type on the WebUI. However, you can still create any task that DolphinScheduler supports via the API.
     enabled: false
-    # -- @param taskTypeFilter.taskType task type
-    # -- ref: https://github.com/apache/dolphinscheduler/blob/dev/dolphinscheduler-api/src/main/resources/task-type-config.yaml
+    # -- taskTypeFilter.taskType task type
+    # -- ref: [task-type-config.yaml](https://github.com/apache/dolphinscheduler/blob/dev/dolphinscheduler-api/src/main/resources/task-type-config.yaml)
     task: {}
     #  example task sets
     #  universal:
@@ -712,10 +912,16 @@ api:
 
 
 ingress:
+  # -- Enable ingress
   enabled: false
+  # -- Ingress host
   host: "dolphinscheduler.org"
+  # -- Ingress path
   path: "/dolphinscheduler"
+  # -- Ingress annotations
   annotations: {}
   tls:
+    # -- Enable ingress tls
     enabled: false
+    # -- Ingress tls secret name
     secretName: "dolphinscheduler-tls"
diff --git a/docs/docs/en/guide/installation/kubernetes.md b/docs/docs/en/guide/installation/kubernetes.md
index cde75ad529..e73aa89be2 100644
--- a/docs/docs/en/guide/installation/kubernetes.md
+++ b/docs/docs/en/guide/installation/kubernetes.md
@@ -528,259 +528,4 @@ helm install dolphinscheduler-gpu-worker . \
 
 ## Appendix-Configuration
 
-|                              Parameter                               |                                                                                                                                                 Description                                                                                                                                                 |                Default                 |
-|----------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------|
-| `timezone`                                                           | World time and date for cities in all time zones                                                                                                                                                                                                                                                            | `Asia/Shanghai`                        |
-| <br/>                                                                |                                                                                                                                                                                                                                                                                                             |                                        |
-| `image.repository`                                                   | Docker image repository for the DolphinScheduler                                                                                                                                                                                                                                                            | `apache/dolphinscheduler`              |
-| `image.tag`                                                          | Docker image version for the DolphinScheduler                                                                                                                                                                                                                                                               | `latest`                               |
-| `image.pullPolicy`                                                   | Image pull policy. Options: Always, Never, IfNotPresent                                                                                                                                                                                                                                                     | `IfNotPresent`                         |
-| `image.pullSecret`                                                   | Image pull secret. An optional reference to secret in the same namespace to use for pulling any of the images                                                                                                                                                                                               | `nil`                                  |
-| <br/>                                                                |                                                                                                                                                                                                                                                                                                             |                                        |
-| `postgresql.enabled`                                                 | If not exists external PostgreSQL, by default, the DolphinScheduler 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                                                                                                                                                                                   | `-`                                    |
-| `minio.enabled`                                                      | Deploy minio and configure it as the default storage for DolphinScheduler, note this is for demo only, not for production.                                                                                                                                                                                  | `false`                                |
-| `externalDatabase.type`                                              | If exists external PostgreSQL, and set `postgresql.enabled` value to false. DolphinScheduler's database type will use it                                                                                                                                                                                    | `postgresql`                           |
-| `externalDatabase.driver`                                            | If exists external PostgreSQL, and set `postgresql.enabled` value to false. DolphinScheduler's database driver will use it                                                                                                                                                                                  | `org.postgresql.Driver`                |
-| `externalDatabase.host`                                              | If exists external PostgreSQL, and set `postgresql.enabled` value to false. DolphinScheduler's database host will use it                                                                                                                                                                                    | `localhost`                            |
-| `externalDatabase.port`                                              | If exists external PostgreSQL, and set `postgresql.enabled` value to false. DolphinScheduler's database port will use it                                                                                                                                                                                    | `5432`                                 |
-| `externalDatabase.username`                                          | If exists external PostgreSQL, and set `postgresql.enabled` value to false. DolphinScheduler's database username will use it                                                                                                                                                                                | `root`                                 |
-| `externalDatabase.password`                                          | If exists external PostgreSQL, and set `postgresql.enabled` value to false. DolphinScheduler's database password will use it                                                                                                                                                                                | `root`                                 |
-| `externalDatabase.database`                                          | If exists external PostgreSQL, and set `postgresql.enabled` value to false. DolphinScheduler's database database will use it                                                                                                                                                                                | `dolphinscheduler`                     |
-| `externalDatabase.params`                                            | If exists external PostgreSQL, and set `postgresql.enabled` value to false. DolphinScheduler's database params will use it                                                                                                                                                                                  | `characterEncoding=utf8`               |
-| <br/>                                                                |                                                                                                                                                                                                                                                                                                             |                                        |
-| `zookeeper.enabled`                                                  | If not exists external ZooKeeper, by default, the DolphinScheduler will use a internal ZooKeeper                                                                                                                                                                                                            | `true`                                 |
-| `zookeeper.service.port`                                             | The port of zookeeper                                                                                                                                                                                                                                                                                       | `2181`                                 |
-| `zookeeper.fourlwCommandsWhitelist`                                  | A list of comma separated Four Letter Words commands to use                                                                                                                                                                                                                                                 | `srvr,ruok,wchs,cons`                  |
-| `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                                                                                                                                                                                    | `-`                                    |
-| `registryEtcd.enabled`                                               | If you want to use Etcd for your registry center, change this value to true. And set `zookeeper.enabled` to false                                                                                                                                                                                           | `false`                                |
-| `registryEtcd.endpoints`                                             | Etcd endpoints                                                                                                                                                                                                                                                                                              | `""`                                   |
-| `registryEtcd.namespace`                                             | Etcd namespace                                                                                                                                                                                                                                                                                              | `dolphinscheduler`                     |
-| `registryEtcd.user`                                                  | Etcd user                                                                                                                                                                                                                                                                                                   | `""`                                   |
-| `registryEtcd.passWord`                                              | Etcd passWord                                                                                                                                                                                                                                                                                               | `""`                                   |
-| `registryEtcd.authority`                                             | Etcd authority                                                                                                                                                                                                                                                                                              | `""`                                   |
-| `registryEtcd.ssl.enabled`                                           | If your Etcd server has configured with ssl, change this value to true. About certification files you can see [here](https://github.com/etcd-io/jetcd/blob/main/docs/SslConfig.md) for how to convert.                                                                                                      | `false`                                |
-| `registryEtcd.ssl.certFile`                                          | CertFile file path                                                                                                                                                                                                                                                                                          | `etcd-certs/ca.crt`                    |
-| `registryEtcd.ssl.keyCertChainFile`                                  | keyCertChainFile file path                                                                                                                                                                                                                                                                                  | `etcd-certs/client.crt`                |
-| `registryEtcd.ssl.keyFile`                                           | keyFile file path                                                                                                                                                                                                                                                                                           | `etcd-certs/client.pem`                |
-| `registryJdbc.enabled`                                               | If you want to use JDbc for your registry center, change this value to true. And set `zookeeper.enabled` and `registryEtcd.enabled` to false                                                                                                                                                                | `false`                                |
-| `registryJdbc.termRefreshInterval`                                   | Used to schedule refresh the ephemeral data/ lock                                                                                                                                                                                                                                                           | `2s`                                   |
-| `registryJdbc.termExpireTimes`                                       | Used to calculate the expire time                                                                                                                                                                                                                                                                           | `3`                                    |
-| `registryJdbc.hikariConfig.driverClassName`                          | Default use same Dolphinscheduler's database if you don't change this value. If you set this value, Registry jdbc's database type will use it                                                                                                                                                               | `com.mysql.cj.jdbc.Driver`             |
-| `registryJdbc.hikariConfig.jdbcurl`                                  | Default use same Dolphinscheduler's database if you don't change this value. If you set this value, Registry jdbc's database type will use it                                                                                                                                                               | `jdbc:mysql://`                        |
-| `registryJdbc.hikariConfig.username`                                 | Default use same Dolphinscheduler's database if you don't change this value. If you set this value, Registry jdbc's database type will use it                                                                                                                                                               | `""`                                   |
-| `registryJdbc.hikariConfig.password`                                 | Default use same Dolphinscheduler's database if you don't change this value. If you set this value, Registry jdbc's database type will use it                                                                                                                                                               | `""`                                   |
-| `externalRegistry.registryPluginName`                                | If exists external registry and set `zookeeper.enable` && `registryEtcd.enabled` && `registryJdbc.enabled` to `false`, specify the external registry plugin name                                                                                                                                            | `zookeeper`                            |
-| `externalRegistry.registryServers`                                   | If exists external registry and set `zookeeper.enable` && `registryEtcd.enabled` && `registryJdbc.enabled` to `false`, specify the external registry servers                                                                                                                                                | `127.0.0.1:2181`                       |
-| <br/>                                                                |                                                                                                                                                                                                                                                                                                             | `PASSWORD`                             |
-| `security.authentication.type`                                       | Authentication types (supported types: PASSWORD,LDAP,CASDOOR_SSO)                                                                                                                                                                                                                                           | `ldap://ldap.forumsys.com:389/`        |
-| `security.authentication.ldap.urls`                                  | LDAP urls                                                                                                                                                                                                                                                                                                   | `dc=example,dc=com`                    |
-| `security.authentication.ldap.basedn`                                | LDAP base dn                                                                                                                                                                                                                                                                                                | `cn=read-only-admin,dc=example,dc=com` |
-| `security.authentication.ldap.username`                              | LDAP username                                                                                                                                                                                                                                                                                               | `password`                             |
-| `security.authentication.ldap.password`                              | LDAP password                                                                                                                                                                                                                                                                                               | `read-only-admin`                      |
-| `security.authentication.ldap.user.admin`                            | Admin user account when you log-in with LDAP                                                                                                                                                                                                                                                                | `uid`                                  |
-| `security.authentication.ldap.user.identityattribute`                | LDAP user identity attribute                                                                                                                                                                                                                                                                                | `mail`                                 |
-| `security.authentication.ldap.user.emailattribute`                   | LDAP user email attribute                                                                                                                                                                                                                                                                                   | `CREATE`                               |
-| `security.authentication.ldap.user.notexistaction`                   | action when ldap user is not exist,default value: CREATE. Optional values include(CREATE,DENY)                                                                                                                                                                                                              | `false`                                |
-| `security.authentication.ldap.ssl.enable`                            | LDAP ssl switch                                                                                                                                                                                                                                                                                             | `false`                                |
-| `security.authentication.ldap.ssl.truststore`                        | LDAP jks file absolute path, do not change this value                                                                                                                                                                                                                                                       | `/opt/ldapkeystore.jks`                |
-| `security.authentication.ldap.ssl.jksbase64content`                  | LDAP jks file base64 content                                                                                                                                                                                                                                                                                | `""`                                   |
-| `security.authentication.ldap.ssl.truststorepassword`                | LDAP jks password                                                                                                                                                                                                                                                                                           | `""`                                   |
-| <br/>                                                                |                                                                                                                                                                                                                                                                                                             |                                        |
-| `common.configmap.DOLPHINSCHEDULER_OPTS`                             | The jvm options for dolphinscheduler, suitable for all servers                                                                                                                                                                                                                                              | `""`                                   |
-| `common.configmap.DATA_BASEDIR_PATH`                                 | User data directory path, self configuration, please make sure the directory exists and have read write permissions                                                                                                                                                                                         | `/tmp/dolphinscheduler`                |
-| `common.configmap.RESOURCE_STORAGE_TYPE`                             | Resource storage type: HDFS, S3, OSS, GCS, ABS, NONE                                                                                                                                                                                                                                                        | `HDFS`                                 |
-| `common.configmap.RESOURCE_UPLOAD_PATH`                              | Resource store on HDFS/S3 path, please make sure the directory exists on hdfs and have read write permissions                                                                                                                                                                                               | `/dolphinscheduler`                    |
-| `common.configmap.FS_DEFAULT_FS`                                     | Resource storage file system like `file:///`, `hdfs://mycluster:8020` or `s3a://dolphinscheduler`                                                                                                                                                                                                           | `file:///`                             |
-| `common.configmap.FS_S3A_ENDPOINT`                                   | S3 endpoint when `common.configmap.RESOURCE_STORAGE_TYPE` is set to `S3`                                                                                                                                                                                                                                    | `s3.xxx.amazonaws.com`                 |
-| `common.configmap.FS_S3A_ACCESS_KEY`                                 | S3 access key when `common.configmap.RESOURCE_STORAGE_TYPE` is set to `S3`                                                                                                                                                                                                                                  | `xxxxxxx`                              |
-| `common.configmap.FS_S3A_SECRET_KEY`                                 | S3 secret key when `common.configmap.RESOURCE_STORAGE_TYPE` is set to `S3`                                                                                                                                                                                                                                  | `xxxxxxx`                              |
-| `common.configmap.HADOOP_SECURITY_AUTHENTICATION_STARTUP_STATE`      | Whether to startup kerberos                                                                                                                                                                                                                                                                                 | `false`                                |
-| `common.configmap.JAVA_SECURITY_KRB5_CONF_PATH`                      | The java.security.krb5.conf path                                                                                                                                                                                                                                                                            | `/opt/krb5.conf`                       |
-| `common.configmap.LOGIN_USER_KEYTAB_USERNAME`                        | The login user from keytab username                                                                                                                                                                                                                                                                         | `hdfs@HADOOP.COM`                      |
-| `common.configmap.LOGIN_USER_KEYTAB_PATH`                            | The login user from keytab path                                                                                                                                                                                                                                                                             | `/opt/hdfs.keytab`                     |
-| `common.configmap.KERBEROS_EXPIRE_TIME`                              | The kerberos expire time, the unit is hour                                                                                                                                                                                                                                                                  | `2`                                    |
-| `common.configmap.HDFS_ROOT_USER`                                    | The HDFS root user who must have the permission to create directories under the HDFS root path                                                                                                                                                                                                              | `hdfs`                                 |
-| `common.configmap.RESOURCE_MANAGER_HTTPADDRESS_PORT`                 | Set resource manager httpaddress port for yarn                                                                                                                                                                                                                                                              | `8088`                                 |
-| `common.configmap.YARN_RESOURCEMANAGER_HA_RM_IDS`                    | If resourcemanager HA is enabled, please set the HA IPs                                                                                                                                                                                                                                                     | `nil`                                  |
-| `common.configmap.YARN_APPLICATION_STATUS_ADDRESS`                   | If resourcemanager is single, you only need to replace ds1 to actual resourcemanager hostname, otherwise keep default                                                                                                                                                                                       | `http://ds1:%s/ws/v1/cluster/apps/%s`  |
-| `common.configmap.HADOOP_HOME`                                       | Set `HADOOP_HOME` for DolphinScheduler's task environment                                                                                                                                                                                                                                                   | `/opt/soft/hadoop`                     |
-| `common.configmap.HADOOP_CONF_DIR`                                   | Set `HADOOP_CONF_DIR` for DolphinScheduler's task environment                                                                                                                                                                                                                                               | `/opt/soft/hadoop/etc/hadoop`          |
-| `common.configmap.SPARK_HOME`                                        | Set `SPARK_HOME` for DolphinScheduler's task environment                                                                                                                                                                                                                                                    | `/opt/soft/spark`                      |
-| `common.configmap.PYTHON_LAUNCHER`                                   | Set `PYTHON_LAUNCHER` for DolphinScheduler's task environment                                                                                                                                                                                                                                               | `/usr/bin/python`                      |
-| `common.configmap.JAVA_HOME`                                         | Set `JAVA_HOME` for DolphinScheduler's task environment                                                                                                                                                                                                                                                     | `/opt/java/openjdk`                    |
-| `common.configmap.HIVE_HOME`                                         | Set `HIVE_HOME` for DolphinScheduler's task environment                                                                                                                                                                                                                                                     | `/opt/soft/hive`                       |
-| `common.configmap.FLINK_HOME`                                        | Set `FLINK_HOME` for DolphinScheduler's task environment                                                                                                                                                                                                                                                    | `/opt/soft/flink`                      |
-| `common.configmap.DATAX_LAUNCHER`                                    | Set `DATAX_LAUNCHER` for DolphinScheduler's task environment                                                                                                                                                                                                                                                | `/opt/soft/datax`                      |
-| `common.sharedStoragePersistence.enabled`                            | Set `common.sharedStoragePersistence.enabled` to `true` to mount a shared storage volume for Hadoop, Spark binary and etc                                                                                                                                                                                   | `false`                                |
-| `common.sharedStoragePersistence.mountPath`                          | The mount path for the shared storage volume                                                                                                                                                                                                                                                                | `/opt/soft`                            |
-| `common.sharedStoragePersistence.accessModes`                        | `PersistentVolumeClaim` access modes, must be `ReadWriteMany`                                                                                                                                                                                                                                               | `[ReadWriteMany]`                      |
-| `common.sharedStoragePersistence.storageClassName`                   | Shared Storage persistent volume storage class, must support the access mode: ReadWriteMany                                                                                                                                                                                                                 | `-`                                    |
-| `common.sharedStoragePersistence.storage`                            | `PersistentVolumeClaim` size                                                                                                                                                                                                                                                                                | `20Gi`                                 |
-| `common.fsFileResourcePersistence.enabled`                           | Set `common.fsFileResourcePersistence.enabled` to `true` to mount a new file resource volume for `api` and `worker`                                                                                                                                                                                         | `false`                                |
-| `common.fsFileResourcePersistence.accessModes`                       | `PersistentVolumeClaim` access modes, must be `ReadWriteMany`                                                                                                                                                                                                                                               | `[ReadWriteMany]`                      |
-| `common.fsFileResourcePersistence.storageClassName`                  | Resource persistent volume storage class, must support the access mode: ReadWriteMany                                                                                                                                                                                                                       | `-`                                    |
-| `common.fsFileResourcePersistence.storage`                           | `PersistentVolumeClaim` size                                                                                                                                                                                                                                                                                | `20Gi`                                 |
-| <br/>                                                                |                                                                                                                                                                                                                                                                                                             |                                        |
-| `master.enabled`                                                     | Enable or disable the Master component                                                                                                                                                                                                                                                                      | true                                   |
-| `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.annotations`                                                 | The `annotations` for master server                                                                                                                                                                                                                                                                         | `{}`                                   |
-| `master.affinity`                                                    | If specified, the pod's scheduling constraints                                                                                                                                                                                                                                                              | `{}`                                   |
-| `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.resources`                                                   | The `resource` limit and request config for master server                                                                                                                                                                                                                                                   | `{}`                                   |
-| `master.env.JAVA_OPTS`                                               | The jvm options for master server                                                                                                                                                                                                                                                                           | `-Xms1g -Xmx1g -Xmn512m`               |
-| `master.env.MASTER_EXEC_THREADS`                                     | Master execute thread number to limit process instances                                                                                                                                                                                                                                                     | `100`                                  |
-| `master.env.MASTER_EXEC_TASK_NUM`                                    | Master execute task number in parallel per process instance                                                                                                                                                                                                                                                 | `20`                                   |
-| `master.env.MASTER_DISPATCH_TASK_NUM`                                | Master dispatch task number per batch                                                                                                                                                                                                                                                                       | `3`                                    |
-| `master.env.MASTER_HOST_SELECTOR`                                    | Master host selector to select a suitable worker, optional values include Random, RoundRobin, LowerWeight                                                                                                                                                                                                   | `LowerWeight`                          |
-| `master.env.MASTER_HEARTBEAT_INTERVAL`                               | Master heartbeat interval, the unit is second                                                                                                                                                                                                                                                               | `10s`                                  |
-| `master.env.MASTER_TASK_COMMIT_RETRYTIMES`                           | Master commit task retry times                                                                                                                                                                                                                                                                              | `5`                                    |
-| `master.env.MASTER_TASK_COMMIT_INTERVAL`                             | master commit task interval, the unit is second                                                                                                                                                                                                                                                             | `1s`                                   |
-| `master.env.MASTER_MAX_CPULOAD_AVG`                                  | Master max cpuload avg, only higher than the system cpu load average, master server can schedule                                                                                                                                                                                                            | `-1` (`the number of cpu cores * 2`)   |
-| `master.env.MASTER_RESERVED_MEMORY`                                  | Master reserved memory, only lower than system available memory, master server can schedule, the unit is G                                                                                                                                                                                                  | `0.3`                                  |
-| `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`                                 |
-| <br/>                                                                |                                                                                                                                                                                                                                                                                                             |                                        |
-| `worker.enabled`                                                     | Enable or disable the Worker component                                                                                                                                                                                                                                                                      | true                                   |
-| `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.annotations`                                                 | The `annotations` for worker server                                                                                                                                                                                                                                                                         | `{}`                                   |
-| `worker.affinity`                                                    | If specified, the pod's scheduling constraints                                                                                                                                                                                                                                                              | `{}`                                   |
-| `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.resources`                                                   | The `resource` limit and request config for worker server                                                                                                                                                                                                                                                   | `{}`                                   |
-| `worker.env.WORKER_EXEC_THREADS`                                     | Worker execute thread number to limit task instances                                                                                                                                                                                                                                                        | `100`                                  |
-| `worker.env.WORKER_HEARTBEAT_INTERVAL`                               | Worker heartbeat interval, the unit is second                                                                                                                                                                                                                                                               | `10s`                                  |
-| `worker.env.WORKER_MAX_CPU_LOAD_AVG`                                 | Worker max cpu load avg, only higher than the system cpu load average, worker server can be dispatched tasks                                                                                                                                                                                                | `-1` (`the number of cpu cores * 2`)   |
-| `worker.env.WORKER_RESERVED_MEMORY`                                  | Worker reserved memory, only lower than system available memory, worker server can be dispatched tasks, the unit is G                                                                                                                                                                                       | `0.3`                                  |
-| `worker.env.HOST_WEIGHT`                                             | Worker host weight to dispatch tasks                                                                                                                                                                                                                                                                        | `100`                                  |
-| `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`                                 |
-| <br/>                                                                |                                                                                                                                                                                                                                                                                                             |                                        |
-| `alert.enabled`                                                      | Enable or disable the Alert-Server component                                                                                                                                                                                                                                                                | true                                   |
-| `alert.replicas`                                                     | Replicas is the desired number of replicas of the given Template                                                                                                                                                                                                                                            | `1`                                    |
-| `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.annotations`                                                  | The `annotations` for alert server                                                                                                                                                                                                                                                                          | `{}`                                   |
-| `alert.affinity`                                                     | If specified, the pod's scheduling constraints                                                                                                                                                                                                                                                              | `{}`                                   |
-| `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.resources`                                                    | The `resource` limit and request config for alert server                                                                                                                                                                                                                                                    | `{}`                                   |
-| `alert.configmap.ALERT_SERVER_OPTS`                                  | The jvm options for alert server                                                                                                                                                                                                                                                                            | `-Xms512m -Xmx512m -Xmn256m`           |
-| `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`                                 |
-| <br/>                                                                |                                                                                                                                                                                                                                                                                                             |                                        |
-| `api.enabled`                                                        | Enable or disable the API-Server component                                                                                                                                                                                                                                                                  | true                                   |
-| `api.replicas`                                                       | Replicas is the desired number of replicas of the given Template                                                                                                                                                                                                                                            | `1`                                    |
-| `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.annotations`                                                    | The `annotations` for api server                                                                                                                                                                                                                                                                            | `{}`                                   |
-| `api.affinity`                                                       | If specified, the pod's scheduling constraints                                                                                                                                                                                                                                                              | `{}`                                   |
-| `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.resources`                                                      | The `resource` limit and request config for api server                                                                                                                                                                                                                                                      | `{}`                                   |
-| `api.configmap.API_SERVER_OPTS`                                      | The jvm options for api server                                                                                                                                                                                                                                                                              | `-Xms512m -Xmx512m -Xmn256m`           |
-| `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`                                 |
-| `api.service.type`                                                   | `type` determines how the Service is exposed. Valid options are ExternalName, ClusterIP, NodePort, and LoadBalancer                                                                                                                                                                                         | `ClusterIP`                            |
-| `api.service.clusterIP`                                              | `clusterIP` is the IP address of the service and is usually assigned randomly by the master                                                                                                                                                                                                                 | `nil`                                  |
-| `api.service.nodePort`                                               | `nodePort` is the port on each node on which this service is exposed when type=NodePort                                                                                                                                                                                                                     | `nil`                                  |
-| `api.service.externalIPs`                                            | `externalIPs` is a list of IP addresses for which nodes in the cluster will also accept traffic for this service                                                                                                                                                                                            | `[]`                                   |
-| `api.service.externalName`                                           | `externalName` is the external reference that kubedns or equivalent will return as a CNAME record for this service                                                                                                                                                                                          | `nil`                                  |
-| `api.service.loadBalancerIP`                                         | `loadBalancerIP` when service.type is LoadBalancer. LoadBalancer will get created with the IP specified in this field                                                                                                                                                                                       | `nil`                                  |
-| `api.service.annotations`                                            | `annotations` may need to be set when service.type is LoadBalancer                                                                                                                                                                                                                                          | `{}`                                   |
-| `api.taskTypeFilter.enabled`                                         | Enable or disable the task type filter. If set to true, the API-Server will return tasks of a specific type set in api.taskTypeFilter.task.Note: This feature only filters tasks to return a specific type on the WebUI. However, you can still create any task that DolphinScheduler supports via the API. | `false`                                |
-| `api.taskTypeFilter.task`                                            | Task type ref: [task-type-config.yaml](https://github.com/apache/dolphinscheduler/blob/dev/dolphinscheduler-api/src/main/resources/task-type-config.yaml)                                                                                                                                                   | `{}`                                   |
-| <br/>                                                                |                                                                                                                                                                                                                                                                                                             |                                        |
-| `ingress.enabled`                                                    | Enable ingress                                                                                                                                                                                                                                                                                              | `false`                                |
-| `ingress.host`                                                       | Ingress host                                                                                                                                                                                                                                                                                                | `dolphinscheduler.org`                 |
-| `ingress.path`                                                       | Ingress path                                                                                                                                                                                                                                                                                                | `/dolphinscheduler`                    |
-| `ingress.tls.enabled`                                                | Enable ingress tls                                                                                                                                                                                                                                                                                          | `false`                                |
-| `ingress.tls.secretName`                                             | Ingress tls secret name                                                                                                                                                                                                                                                                                     | `dolphinscheduler-tls`                 |
-
+Ref: [DolphinScheduler Helm Charts](https://github.com/apache/dolphinscheduler/blob/dev/deploy/kubernetes/dolphinscheduler/README.md) <!-- markdown-link-check-disable-line -->
diff --git a/docs/docs/zh/guide/installation/kubernetes.md b/docs/docs/zh/guide/installation/kubernetes.md
index f2156f36bb..5998789d99 100644
--- a/docs/docs/zh/guide/installation/kubernetes.md
+++ b/docs/docs/zh/guide/installation/kubernetes.md
@@ -527,259 +527,4 @@ helm install dolphinscheduler-gpu-worker . \
 
 ## 附录-配置
 
-|                              Parameter                               |                                                                                                                                                 Description                                                                                                                                                 |                Default                 |
-|----------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------|
-| `timezone`                                                           | World time and date for cities in all time zones                                                                                                                                                                                                                                                            | `Asia/Shanghai`                        |
-| <br/>                                                                |                                                                                                                                                                                                                                                                                                             |                                        |
-| `image.repository`                                                   | Docker image repository for the DolphinScheduler                                                                                                                                                                                                                                                            | `apache/dolphinscheduler`              |
-| `image.tag`                                                          | Docker image version for the DolphinScheduler                                                                                                                                                                                                                                                               | `latest`                               |
-| `image.pullPolicy`                                                   | Image pull policy. Options: Always, Never, IfNotPresent                                                                                                                                                                                                                                                     | `IfNotPresent`                         |
-| `image.pullSecret`                                                   | Image pull secret. An optional reference to secret in the same namespace to use for pulling any of the images                                                                                                                                                                                               | `nil`                                  |
-| <br/>                                                                |                                                                                                                                                                                                                                                                                                             |                                        |
-| `postgresql.enabled`                                                 | If not exists external PostgreSQL, by default, the DolphinScheduler 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                                                                                                                                                                                   | `-`                                    |
-| `minio.enabled`                                                      | Deploy minio and configure it as the default storage for DolphinScheduler, note this is for demo only, not for production.                                                                                                                                                                                  | `false`                                |
-| `externalDatabase.type`                                              | If exists external PostgreSQL, and set `postgresql.enabled` value to false. DolphinScheduler's database type will use it                                                                                                                                                                                    | `postgresql`                           |
-| `externalDatabase.driver`                                            | If exists external PostgreSQL, and set `postgresql.enabled` value to false. DolphinScheduler's database driver will use it                                                                                                                                                                                  | `org.postgresql.Driver`                |
-| `externalDatabase.host`                                              | If exists external PostgreSQL, and set `postgresql.enabled` value to false. DolphinScheduler's database host will use it                                                                                                                                                                                    | `localhost`                            |
-| `externalDatabase.port`                                              | If exists external PostgreSQL, and set `postgresql.enabled` value to false. DolphinScheduler's database port will use it                                                                                                                                                                                    | `5432`                                 |
-| `externalDatabase.username`                                          | If exists external PostgreSQL, and set `postgresql.enabled` value to false. DolphinScheduler's database username will use it                                                                                                                                                                                | `root`                                 |
-| `externalDatabase.password`                                          | If exists external PostgreSQL, and set `postgresql.enabled` value to false. DolphinScheduler's database password will use it                                                                                                                                                                                | `root`                                 |
-| `externalDatabase.database`                                          | If exists external PostgreSQL, and set `postgresql.enabled` value to false. DolphinScheduler's database database will use it                                                                                                                                                                                | `dolphinscheduler`                     |
-| `externalDatabase.params`                                            | If exists external PostgreSQL, and set `postgresql.enabled` value to false. DolphinScheduler's database params will use it                                                                                                                                                                                  | `characterEncoding=utf8`               |
-| <br/>                                                                |                                                                                                                                                                                                                                                                                                             |                                        |
-| `zookeeper.enabled`                                                  | If not exists external ZooKeeper, by default, the DolphinScheduler will use a internal ZooKeeper                                                                                                                                                                                                            | `true`                                 |
-| `zookeeper.service.port`                                             | The port of zookeeper                                                                                                                                                                                                                                                                                       | `2181`                                 |
-| `zookeeper.fourlwCommandsWhitelist`                                  | A list of comma separated Four Letter Words commands to use                                                                                                                                                                                                                                                 | `srvr,ruok,wchs,cons`                  |
-| `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                                                                                                                                                                                    | `-`                                    |
-| `registryEtcd.enabled`                                               | If you want to use Etcd for your registry center, change this value to true. And set `zookeeper.enabled` to false                                                                                                                                                                                           | `false`                                |
-| `registryEtcd.endpoints`                                             | Etcd endpoints                                                                                                                                                                                                                                                                                              | `""`                                   |
-| `registryEtcd.namespace`                                             | Etcd namespace                                                                                                                                                                                                                                                                                              | `dolphinscheduler`                     |
-| `registryEtcd.user`                                                  | Etcd user                                                                                                                                                                                                                                                                                                   | `""`                                   |
-| `registryEtcd.passWord`                                              | Etcd passWord                                                                                                                                                                                                                                                                                               | `""`                                   |
-| `registryEtcd.authority`                                             | Etcd authority                                                                                                                                                                                                                                                                                              | `""`                                   |
-| `registryEtcd.ssl.enabled`                                           | If your Etcd server has configured with ssl, change this value to true. About certification files you can see [here](https://github.com/etcd-io/jetcd/blob/main/docs/SslConfig.md) for how to convert.                                                                                                      | `false`                                |
-| `registryEtcd.ssl.certFile`                                          | CertFile file path                                                                                                                                                                                                                                                                                          | `etcd-certs/ca.crt`                    |
-| `registryEtcd.ssl.keyCertChainFile`                                  | keyCertChainFile file path                                                                                                                                                                                                                                                                                  | `etcd-certs/client.crt`                |
-| `registryEtcd.ssl.keyFile`                                           | keyFile file path                                                                                                                                                                                                                                                                                           | `etcd-certs/client.pem`                |
-| `registryJdbc.enabled`                                               | If you want to use JDbc for your registry center, change this value to true. And set `zookeeper.enabled` and `registryEtcd.enabled` to false                                                                                                                                                                | `false`                                |
-| `registryJdbc.termRefreshInterval`                                   | Used to schedule refresh the ephemeral data/ lock                                                                                                                                                                                                                                                           | `2s`                                   |
-| `registryJdbc.termExpireTimes`                                       | Used to calculate the expire time                                                                                                                                                                                                                                                                           | `3`                                    |
-| `registryJdbc.hikariConfig.driverClassName`                          | Default use same Dolphinscheduler's database if you don't change this value. If you set this value, Registry jdbc's database type will use it                                                                                                                                                               | `com.mysql.cj.jdbc.Driver`             |
-| `registryJdbc.hikariConfig.jdbcurl`                                  | Default use same Dolphinscheduler's database if you don't change this value. If you set this value, Registry jdbc's database type will use it                                                                                                                                                               | `jdbc:mysql://`                        |
-| `registryJdbc.hikariConfig.username`                                 | Default use same Dolphinscheduler's database if you don't change this value. If you set this value, Registry jdbc's database type will use it                                                                                                                                                               | `""`                                   |
-| `registryJdbc.hikariConfig.password`                                 | Default use same Dolphinscheduler's database if you don't change this value. If you set this value, Registry jdbc's database type will use it                                                                                                                                                               | `""`                                   |
-| `externalRegistry.registryPluginName`                                | If exists external registry and set `zookeeper.enable` && `registryEtcd.enabled` && `registryJdbc.enabled` to `false`, specify the external registry plugin name                                                                                                                                            | `zookeeper`                            |
-| `externalRegistry.registryServers`                                   | If exists external registry and set `zookeeper.enable` && `registryEtcd.enabled` && `registryJdbc.enabled` to `false`, specify the external registry servers                                                                                                                                                | `127.0.0.1:2181`                       |
-| <br/>                                                                |                                                                                                                                                                                                                                                                                                             | `PASSWORD`                             |
-| `security.authentication.type`                                       | Authentication types (supported types: PASSWORD,LDAP,CASDOOR_SSO)                                                                                                                                                                                                                                           | `ldap://ldap.forumsys.com:389/`        |
-| `security.authentication.ldap.urls`                                  | LDAP urls                                                                                                                                                                                                                                                                                                   | `dc=example,dc=com`                    |
-| `security.authentication.ldap.basedn`                                | LDAP base dn                                                                                                                                                                                                                                                                                                | `cn=read-only-admin,dc=example,dc=com` |
-| `security.authentication.ldap.username`                              | LDAP username                                                                                                                                                                                                                                                                                               | `password`                             |
-| `security.authentication.ldap.password`                              | LDAP password                                                                                                                                                                                                                                                                                               | `read-only-admin`                      |
-| `security.authentication.ldap.user.admin`                            | Admin user account when you log-in with LDAP                                                                                                                                                                                                                                                                | `uid`                                  |
-| `security.authentication.ldap.user.identityattribute`                | LDAP user identity attribute                                                                                                                                                                                                                                                                                | `mail`                                 |
-| `security.authentication.ldap.user.emailattribute`                   | LDAP user email attribute                                                                                                                                                                                                                                                                                   | `CREATE`                               |
-| `security.authentication.ldap.user.notexistaction`                   | action when ldap user is not exist,default value: CREATE. Optional values include(CREATE,DENY)                                                                                                                                                                                                              | `false`                                |
-| `security.authentication.ldap.ssl.enable`                            | LDAP ssl switch                                                                                                                                                                                                                                                                                             | `false`                                |
-| `security.authentication.ldap.ssl.truststore`                        | LDAP jks file absolute path, do not change this value                                                                                                                                                                                                                                                       | `/opt/ldapkeystore.jks`                |
-| `security.authentication.ldap.ssl.jksbase64content`                  | LDAP jks file base64 content                                                                                                                                                                                                                                                                                | `""`                                   |
-| `security.authentication.ldap.ssl.truststorepassword`                | LDAP jks password                                                                                                                                                                                                                                                                                           | `""`                                   |
-| <br/>                                                                |                                                                                                                                                                                                                                                                                                             |                                        |
-| `common.configmap.DOLPHINSCHEDULER_OPTS`                             | The jvm options for dolphinscheduler, suitable for all servers                                                                                                                                                                                                                                              | `""`                                   |
-| `common.configmap.DATA_BASEDIR_PATH`                                 | User data directory path, self configuration, please make sure the directory exists and have read write permissions                                                                                                                                                                                         | `/tmp/dolphinscheduler`                |
-| `common.configmap.RESOURCE_STORAGE_TYPE`                             | Resource storage type: HDFS, S3, OSS, GCS, ABS, NONE                                                                                                                                                                                                                                                        | `HDFS`                                 |
-| `common.configmap.RESOURCE_UPLOAD_PATH`                              | Resource store on HDFS/S3 path, please make sure the directory exists on hdfs and have read write permissions                                                                                                                                                                                               | `/dolphinscheduler`                    |
-| `common.configmap.FS_DEFAULT_FS`                                     | Resource storage file system like `file:///`, `hdfs://mycluster:8020` or `s3a://dolphinscheduler`                                                                                                                                                                                                           | `file:///`                             |
-| `common.configmap.FS_S3A_ENDPOINT`                                   | S3 endpoint when `common.configmap.RESOURCE_STORAGE_TYPE` is set to `S3`                                                                                                                                                                                                                                    | `s3.xxx.amazonaws.com`                 |
-| `common.configmap.FS_S3A_ACCESS_KEY`                                 | S3 access key when `common.configmap.RESOURCE_STORAGE_TYPE` is set to `S3`                                                                                                                                                                                                                                  | `xxxxxxx`                              |
-| `common.configmap.FS_S3A_SECRET_KEY`                                 | S3 secret key when `common.configmap.RESOURCE_STORAGE_TYPE` is set to `S3`                                                                                                                                                                                                                                  | `xxxxxxx`                              |
-| `common.configmap.HADOOP_SECURITY_AUTHENTICATION_STARTUP_STATE`      | Whether to startup kerberos                                                                                                                                                                                                                                                                                 | `false`                                |
-| `common.configmap.JAVA_SECURITY_KRB5_CONF_PATH`                      | The java.security.krb5.conf path                                                                                                                                                                                                                                                                            | `/opt/krb5.conf`                       |
-| `common.configmap.LOGIN_USER_KEYTAB_USERNAME`                        | The login user from keytab username                                                                                                                                                                                                                                                                         | `hdfs@HADOOP.COM`                      |
-| `common.configmap.LOGIN_USER_KEYTAB_PATH`                            | The login user from keytab path                                                                                                                                                                                                                                                                             | `/opt/hdfs.keytab`                     |
-| `common.configmap.KERBEROS_EXPIRE_TIME`                              | The kerberos expire time, the unit is hour                                                                                                                                                                                                                                                                  | `2`                                    |
-| `common.configmap.HDFS_ROOT_USER`                                    | The HDFS root user who must have the permission to create directories under the HDFS root path                                                                                                                                                                                                              | `hdfs`                                 |
-| `common.configmap.RESOURCE_MANAGER_HTTPADDRESS_PORT`                 | Set resource manager httpaddress port for yarn                                                                                                                                                                                                                                                              | `8088`                                 |
-| `common.configmap.YARN_RESOURCEMANAGER_HA_RM_IDS`                    | If resourcemanager HA is enabled, please set the HA IPs                                                                                                                                                                                                                                                     | `nil`                                  |
-| `common.configmap.YARN_APPLICATION_STATUS_ADDRESS`                   | If resourcemanager is single, you only need to replace ds1 to actual resourcemanager hostname, otherwise keep default                                                                                                                                                                                       | `http://ds1:%s/ws/v1/cluster/apps/%s`  |
-| `common.configmap.HADOOP_HOME`                                       | Set `HADOOP_HOME` for DolphinScheduler's task environment                                                                                                                                                                                                                                                   | `/opt/soft/hadoop`                     |
-| `common.configmap.HADOOP_CONF_DIR`                                   | Set `HADOOP_CONF_DIR` for DolphinScheduler's task environment                                                                                                                                                                                                                                               | `/opt/soft/hadoop/etc/hadoop`          |
-| `common.configmap.SPARK_HOME`                                        | Set `SPARK_HOME` for DolphinScheduler's task environment                                                                                                                                                                                                                                                    | `/opt/soft/spark`                      |
-| `common.configmap.PYTHON_LAUNCHER`                                   | Set `PYTHON_LAUNCHER` for DolphinScheduler's task environment                                                                                                                                                                                                                                               | `/usr/bin/python`                      |
-| `common.configmap.JAVA_HOME`                                         | Set `JAVA_HOME` for DolphinScheduler's task environment                                                                                                                                                                                                                                                     | `/opt/java/openjdk`                    |
-| `common.configmap.HIVE_HOME`                                         | Set `HIVE_HOME` for DolphinScheduler's task environment                                                                                                                                                                                                                                                     | `/opt/soft/hive`                       |
-| `common.configmap.FLINK_HOME`                                        | Set `FLINK_HOME` for DolphinScheduler's task environment                                                                                                                                                                                                                                                    | `/opt/soft/flink`                      |
-| `common.configmap.DATAX_LAUNCHER`                                    | Set `DATAX_LAUNCHER` for DolphinScheduler's task environment                                                                                                                                                                                                                                                | `/opt/soft/datax`                      |
-| `common.sharedStoragePersistence.enabled`                            | Set `common.sharedStoragePersistence.enabled` to `true` to mount a shared storage volume for Hadoop, Spark binary and etc                                                                                                                                                                                   | `false`                                |
-| `common.sharedStoragePersistence.mountPath`                          | The mount path for the shared storage volume                                                                                                                                                                                                                                                                | `/opt/soft`                            |
-| `common.sharedStoragePersistence.accessModes`                        | `PersistentVolumeClaim` access modes, must be `ReadWriteMany`                                                                                                                                                                                                                                               | `[ReadWriteMany]`                      |
-| `common.sharedStoragePersistence.storageClassName`                   | Shared Storage persistent volume storage class, must support the access mode: ReadWriteMany                                                                                                                                                                                                                 | `-`                                    |
-| `common.sharedStoragePersistence.storage`                            | `PersistentVolumeClaim` size                                                                                                                                                                                                                                                                                | `20Gi`                                 |
-| `common.fsFileResourcePersistence.enabled`                           | Set `common.fsFileResourcePersistence.enabled` to `true` to mount a new file resource volume for `api` and `worker`                                                                                                                                                                                         | `false`                                |
-| `common.fsFileResourcePersistence.accessModes`                       | `PersistentVolumeClaim` access modes, must be `ReadWriteMany`                                                                                                                                                                                                                                               | `[ReadWriteMany]`                      |
-| `common.fsFileResourcePersistence.storageClassName`                  | Resource persistent volume storage class, must support the access mode: ReadWriteMany                                                                                                                                                                                                                       | `-`                                    |
-| `common.fsFileResourcePersistence.storage`                           | `PersistentVolumeClaim` size                                                                                                                                                                                                                                                                                | `20Gi`                                 |
-| <br/>                                                                |                                                                                                                                                                                                                                                                                                             |                                        |
-| `master.enabled`                                                     | Enable or disable the Master component                                                                                                                                                                                                                                                                      | true                                   |
-| `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.annotations`                                                 | The `annotations` for master server                                                                                                                                                                                                                                                                         | `{}`                                   |
-| `master.affinity`                                                    | If specified, the pod's scheduling constraints                                                                                                                                                                                                                                                              | `{}`                                   |
-| `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.resources`                                                   | The `resource` limit and request config for master server                                                                                                                                                                                                                                                   | `{}`                                   |
-| `master.env.JAVA_OPTS`                                               | The jvm options for master server                                                                                                                                                                                                                                                                           | `-Xms1g -Xmx1g -Xmn512m`               |
-| `master.env.MASTER_EXEC_THREADS`                                     | Master execute thread number to limit process instances                                                                                                                                                                                                                                                     | `100`                                  |
-| `master.env.MASTER_EXEC_TASK_NUM`                                    | Master execute task number in parallel per process instance                                                                                                                                                                                                                                                 | `20`                                   |
-| `master.env.MASTER_DISPATCH_TASK_NUM`                                | Master dispatch task number per batch                                                                                                                                                                                                                                                                       | `3`                                    |
-| `master.env.MASTER_HOST_SELECTOR`                                    | Master host selector to select a suitable worker, optional values include Random, RoundRobin, LowerWeight                                                                                                                                                                                                   | `LowerWeight`                          |
-| `master.env.MASTER_HEARTBEAT_INTERVAL`                               | Master heartbeat interval, the unit is second                                                                                                                                                                                                                                                               | `10s`                                  |
-| `master.env.MASTER_TASK_COMMIT_RETRYTIMES`                           | Master commit task retry times                                                                                                                                                                                                                                                                              | `5`                                    |
-| `master.env.MASTER_TASK_COMMIT_INTERVAL`                             | master commit task interval, the unit is second                                                                                                                                                                                                                                                             | `1s`                                   |
-| `master.env.MASTER_MAX_CPULOAD_AVG`                                  | Master max cpuload avg, only higher than the system cpu load average, master server can schedule                                                                                                                                                                                                            | `-1` (`the number of cpu cores * 2`)   |
-| `master.env.MASTER_RESERVED_MEMORY`                                  | Master reserved memory, only lower than system available memory, master server can schedule, the unit is G                                                                                                                                                                                                  | `0.3`                                  |
-| `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`                                 |
-| <br/>                                                                |                                                                                                                                                                                                                                                                                                             |                                        |
-| `worker.enabled`                                                     | Enable or disable the Worker component                                                                                                                                                                                                                                                                      | true                                   |
-| `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.annotations`                                                 | The `annotations` for worker server                                                                                                                                                                                                                                                                         | `{}`                                   |
-| `worker.affinity`                                                    | If specified, the pod's scheduling constraints                                                                                                                                                                                                                                                              | `{}`                                   |
-| `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.resources`                                                   | The `resource` limit and request config for worker server                                                                                                                                                                                                                                                   | `{}`                                   |
-| `worker.env.WORKER_EXEC_THREADS`                                     | Worker execute thread number to limit task instances                                                                                                                                                                                                                                                        | `100`                                  |
-| `worker.env.WORKER_HEARTBEAT_INTERVAL`                               | Worker heartbeat interval, the unit is second                                                                                                                                                                                                                                                               | `10s`                                  |
-| `worker.env.WORKER_MAX_CPU_LOAD_AVG`                                 | Worker max cpu load avg, only higher than the system cpu load average, worker server can be dispatched tasks                                                                                                                                                                                                | `-1` (`the number of cpu cores * 2`)   |
-| `worker.env.WORKER_RESERVED_MEMORY`                                  | Worker reserved memory, only lower than system available memory, worker server can be dispatched tasks, the unit is G                                                                                                                                                                                       | `0.3`                                  |
-| `worker.env.HOST_WEIGHT`                                             | Worker host weight to dispatch tasks                                                                                                                                                                                                                                                                        | `100`                                  |
-| `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`                                 |
-| <br/>                                                                |                                                                                                                                                                                                                                                                                                             |                                        |
-| `alert.enabled`                                                      | Enable or disable the Alert-Server component                                                                                                                                                                                                                                                                | true                                   |
-| `alert.replicas`                                                     | Replicas is the desired number of replicas of the given Template                                                                                                                                                                                                                                            | `1`                                    |
-| `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.annotations`                                                  | The `annotations` for alert server                                                                                                                                                                                                                                                                          | `{}`                                   |
-| `alert.affinity`                                                     | If specified, the pod's scheduling constraints                                                                                                                                                                                                                                                              | `{}`                                   |
-| `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.resources`                                                    | The `resource` limit and request config for alert server                                                                                                                                                                                                                                                    | `{}`                                   |
-| `alert.configmap.ALERT_SERVER_OPTS`                                  | The jvm options for alert server                                                                                                                                                                                                                                                                            | `-Xms512m -Xmx512m -Xmn256m`           |
-| `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`                                 |
-| <br/>                                                                |                                                                                                                                                                                                                                                                                                             |                                        |
-| `api.enabled`                                                        | Enable or disable the API-Server component                                                                                                                                                                                                                                                                  | true                                   |
-| `api.replicas`                                                       | Replicas is the desired number of replicas of the given Template                                                                                                                                                                                                                                            | `1`                                    |
-| `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.annotations`                                                    | The `annotations` for api server                                                                                                                                                                                                                                                                            | `{}`                                   |
-| `api.affinity`                                                       | If specified, the pod's scheduling constraints                                                                                                                                                                                                                                                              | `{}`                                   |
-| `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.resources`                                                      | The `resource` limit and request config for api server                                                                                                                                                                                                                                                      | `{}`                                   |
-| `api.configmap.API_SERVER_OPTS`                                      | The jvm options for api server                                                                                                                                                                                                                                                                              | `-Xms512m -Xmx512m -Xmn256m`           |
-| `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`                                 |
-| `api.service.type`                                                   | `type` determines how the Service is exposed. Valid options are ExternalName, ClusterIP, NodePort, and LoadBalancer                                                                                                                                                                                         | `ClusterIP`                            |
-| `api.service.clusterIP`                                              | `clusterIP` is the IP address of the service and is usually assigned randomly by the master                                                                                                                                                                                                                 | `nil`                                  |
-| `api.service.nodePort`                                               | `nodePort` is the port on each node on which this service is exposed when type=NodePort                                                                                                                                                                                                                     | `nil`                                  |
-| `api.service.externalIPs`                                            | `externalIPs` is a list of IP addresses for which nodes in the cluster will also accept traffic for this service                                                                                                                                                                                            | `[]`                                   |
-| `api.service.externalName`                                           | `externalName` is the external reference that kubedns or equivalent will return as a CNAME record for this service                                                                                                                                                                                          | `nil`                                  |
-| `api.service.loadBalancerIP`                                         | `loadBalancerIP` when service.type is LoadBalancer. LoadBalancer will get created with the IP specified in this field                                                                                                                                                                                       | `nil`                                  |
-| `api.service.annotations`                                            | `annotations` may need to be set when service.type is LoadBalancer                                                                                                                                                                                                                                          | `{}`                                   |
-| `api.taskTypeFilter.enabled`                                         | Enable or disable the task type filter. If set to true, the API-Server will return tasks of a specific type set in api.taskTypeFilter.task.Note: This feature only filters tasks to return a specific type on the WebUI. However, you can still create any task that DolphinScheduler supports via the API. | `false`                                |
-| `api.taskTypeFilter.task`                                            | Task type ref: [task-type-config.yaml](https://github.com/apache/dolphinscheduler/blob/dev/dolphinscheduler-api/src/main/resources/task-type-config.yaml)                                                                                                                                                   | `{}`                                   |
-| <br/>                                                                |                                                                                                                                                                                                                                                                                                             |                                        |
-| `ingress.enabled`                                                    | Enable ingress                                                                                                                                                                                                                                                                                              | `false`                                |
-| `ingress.host`                                                       | Ingress host                                                                                                                                                                                                                                                                                                | `dolphinscheduler.org`                 |
-| `ingress.path`                                                       | Ingress path                                                                                                                                                                                                                                                                                                | `/dolphinscheduler`                    |
-| `ingress.tls.enabled`                                                | Enable ingress tls                                                                                                                                                                                                                                                                                          | `false`                                |
-| `ingress.tls.secretName`                                             | Ingress tls secret name                                                                                                                                                                                                                                                                                     | `dolphinscheduler-tls`                 |
-
+参考 [DolphinScheduler Helm Charts](https://github.com/apache/dolphinscheduler/blob/dev/deploy/kubernetes/dolphinscheduler/README.md) <!-- markdown-link-check-disable-line -->
diff --git a/pom.xml b/pom.xml
index 023e941a96..260524b1e5 100755
--- a/pom.xml
+++ b/pom.xml
@@ -828,5 +828,37 @@
                 <docker.push.skip>false</docker.push.skip>
             </properties>
         </profile>
+        <profile>
+            <id>helm-doc</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>exec-maven-plugin</artifactId>
+                        <version>${exec-maven-plugin.version}</version>
+                        <executions>
+                            <execution>
+                                <id>helm-doc</id>
+                                <goals>
+                                    <goal>exec</goal>
+                                </goals>
+                                <phase>validate</phase>
+                                <configuration>
+                                    <executable>docker</executable>
+                                    <workingDirectory>${project.basedir}</workingDirectory>
+                                    <arguments>
+                                        <argument>run</argument>
+                                        <argument>--rm</argument>
+                                        <argument>--volume</argument>
+                                        <argument>${project.basedir}/deploy/kubernetes:/helm-docs</argument>
+                                        <argument>jnorwood/helm-docs:v1.11.3</argument>
+                                    </arguments>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
     </profiles>
 </project>