You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by li...@apache.org on 2021/02/27 14:25:00 UTC

[incubator-dolphinscheduler-website] branch master updated: Update docker deployment and add k8s deployment (#302)

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

lidongdai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler-website.git


The following commit(s) were added to refs/heads/master by this push:
     new 7e406cf  Update docker deployment and add k8s deployment (#302)
7e406cf is described below

commit 7e406cfc917873cfd2103e6935182e3a5180c982
Author: Shiwen Cheng <ch...@gmail.com>
AuthorDate: Sat Feb 27 22:24:40 2021 +0800

    Update docker deployment and add k8s deployment (#302)
    
    * [Docker] Update docker deployment
    
    * [K8s] Update k8s deployment
---
 docs/en-us/1.3.5/user_doc/docker-deployment.md     | 391 +++++++++++++++++++-
 docs/en-us/1.3.5/user_doc/kubernetes-deployment.md | 143 ++++++++
 docs/zh-cn/1.3.5/user_doc/docker-deployment.md     | 403 +++++++++++++++++++--
 docs/zh-cn/1.3.5/user_doc/kubernetes-deployment.md | 143 ++++++++
 site_config/docs1-3-5.js                           |   8 +
 5 files changed, 1042 insertions(+), 46 deletions(-)

diff --git a/docs/en-us/1.3.5/user_doc/docker-deployment.md b/docs/en-us/1.3.5/user_doc/docker-deployment.md
index ca5aacd..4b2ccf0 100644
--- a/docs/en-us/1.3.5/user_doc/docker-deployment.md
+++ b/docs/en-us/1.3.5/user_doc/docker-deployment.md
@@ -1,57 +1,65 @@
 ## QuickStart in Docker
 
-Here're 2 ways to quickly install DolphinScheduler 
+Here're 2 ways to quickly install DolphinScheduler
 
 ### The First Way:Start With docker-compose (Recommended)
-In this way, you need to install docker-compose as a prerequisite, please install it yourself according to the rich docker-compose installation guidance on the Internet
+In this way, you need to install [docker-compose](https://docs.docker.com/compose/) as a prerequisite, please install it yourself according to the rich docker-compose installation guidance on the Internet
 
 ##### 1、 Download the Source Code Zip Package
 
 - Please download the latest version of the source code package and unzip it
+
 ```shell
 mkdir -p /opt/soft/dolphinscheduler;
 cd /opt/soft/dolphinscheduler;
 
-# download source code package
-wget https://mirrors.tuna.tsinghua.edu.cn/apache/incubator/dolphinscheduler/1.3.5/apache-dolphinscheduler-incubating-1.3.5-src.zip
+# download source code package by wget
+wget https://apache.website-solution.net/incubator/dolphinscheduler/1.3.5/apache-dolphinscheduler-incubating-1.3.5-src.zip
+
+# download source code package by curl
+curl -O https://apache.website-solution.net/incubator/dolphinscheduler/1.3.5/apache-dolphinscheduler-incubating-1.3.5-src.zip
 
 # unzip
 unzip apache-dolphinscheduler-incubating-1.3.5-src.zip
- 
-mv apache-dolphinscheduler-incubating-1.3.5-src-release  dolphinscheduler-src
+
+mv apache-dolphinscheduler-incubating-1.3.5-src-release dolphinscheduler-src
 ```
+
 ##### 2、 Install and Start the Service
 ```
-cd dolphinscheduler-src
-docker-compose -f ./docker/docker-swarm/docker-compose.yml up -d
+cd dolphinscheduler-src/docker/docker-swarm
+docker-compose up -d
 ```
 
 ##### 3、 Login
 Visit the front-end UI: http://{your host ip}:12345/dolphinscheduler
+
+The default username is `admin` and the default password is `dolphinscheduler123`
   <p align="center">
     <img src="/img/login_en.png" width="60%" />
   </p>
 Please refer to the `Quick Start` in the chapter 'User Manual' to explore how to use DolphinScheduler
 
 ### The Second way: Start in the Docker Mode
+In this way, you need to install [docker](https://docs.docker.com/engine/install/) as a prerequisite, please install it yourself according to the rich docker installation guidance on the Internet
 
 ##### 1. Basic Required Software (please install by yourself)
   * PostgreSQL (8.2.15+)
   * ZooKeeper (3.4.6+)
   * Docker
- 
+
 ##### 2. Please login to the PostgreSQL database and create a database named `dolphinscheduler`
 
-##### 3. Initialize the database, import `sql/dolphinscheduler-postgre.sql` to create tables and initial data 
+##### 3. Initialize the database, import `sql/dolphinscheduler-postgre.sql` to create tables and initial data
 
 ##### 4. Download the DolphinScheduler Image
-We have already uploaded user-oriented DolphinScheduler image to the Docker repository so that you can pull the image from the docker repository and self-build image not needed: 
+We have already uploaded user-oriented DolphinScheduler image to the Docker repository so that you can pull the image from the docker repository and self-build image not needed:
 ```
 docker pull apache/dolphinscheduler:latest
 ```
 
 ##### 5. Run a DolphinScheduler Instance
-Check follows: 
+Check follows:
 
 ```
 $ docker run -d --name dolphinscheduler \
@@ -61,9 +69,11 @@ $ docker run -d --name dolphinscheduler \
 -p 12345:12345 \
 apache/dolphinscheduler:latest all
 ```
-Note: {user} and {password} need to be replaced with your database user name and password, 192.168.x.x need to be replaced with your relate zookeeper or database host IP
+Note: {username} and {password} need to be replaced with your database username and password, 192.168.x.x need to be replaced with your relate zookeeper or database host IP
 
 ##### 6. Login
+The default username is `admin` and the default password is `dolphinscheduler123`
+
 Visit the front-end UI:  http://{your host ip}:12345/dolphinscheduler
   <p align="center">
     <img src="/img/login_en.png" width="60%" />
@@ -75,11 +85,11 @@ Please refer to the `Quick Start` in the chapter 'User Manual' to explore how to
 ### The following services are automatically started when the container starts:
 
 ```
-     MasterServer ----- master service
-     WorkerServer ----- worker service
-     LoggerServer ----- logger service
-     ApiApplicationServer ----- API service
-     AlertServer ----- alert service
+     MasterServer         ----- master service
+     WorkerServer         ----- worker service
+     LoggerServer         ----- logger service
+     ApiApplicationServer ----- api service
+     AlertServer          ----- alert service
 ```
 ### If you just want to run part of the services in the DolphinScheduler
 
@@ -101,7 +111,7 @@ $ docker run -d --name dolphinscheduler-master \
 apache/dolphinscheduler:latest master-server
 ```
 
-* Start a **worker server**, For example:
+* Start a **worker server** (including **logger server**), For example:
 
 ```
 $ docker run -d --name dolphinscheduler-worker \
@@ -133,8 +143,349 @@ $ docker run -d --name dolphinscheduler-alert \
 apache/dolphinscheduler:latest alert-server
 ```
 
-
 **Note**: You must specify the following environment variables: `DATABASE_HOST` `DATABASE_PORT` `DATABASE_DATABASE` `DATABASE_USERNAME` `DATABASE_PASSWORD` `ZOOKEEPER_QUORUM` when start part of the DolphinScheduler services.
 
+## Environment Variables
+
+The DolphinScheduler Docker container is configured through environment variables, and the default value will be used if an environment variable is not set.
+
+**`DATABASE_TYPE`**
+
+This environment variable sets the type for database. The default value is `postgresql`.
+
+**Note**: You must be specify it when start a standalone dolphinscheduler server. Like `master-server`, `worker-server`, `api-server`, `alert-server`.
+
+**`DATABASE_DRIVER`**
+
+This environment variable sets the type for database. The default value is `org.postgresql.Driver`.
+
+**Note**: You must be specify it when start a standalone dolphinscheduler server. Like `master-server`, `worker-server`, `api-server`, `alert-server`.
+
+**`DATABASE_HOST`**
+
+This environment variable sets the host for database. The default value is `127.0.0.1`.
+
+**Note**: You must be specify it when start a standalone dolphinscheduler server. Like `master-server`, `worker-server`, `api-server`, `alert-server`.
+
+**`DATABASE_PORT`**
+
+This environment variable sets the port for database. The default value is `5432`.
+
+**Note**: You must be specify it when start a standalone dolphinscheduler server. Like `master-server`, `worker-server`, `api-server`, `alert-server`.
+
+**`DATABASE_USERNAME`**
+
+This environment variable sets the username for database. The default value is `root`.
+
+**Note**: You must be specify it when start a standalone dolphinscheduler server. Like `master-server`, `worker-server`, `api-server`, `alert-server`.
+
+**`DATABASE_PASSWORD`**
+
+This environment variable sets the password for database. The default value is `root`.
+
+**Note**: You must be specify it when start a standalone dolphinscheduler server. Like `master-server`, `worker-server`, `api-server`, `alert-server`.
+
+**`DATABASE_DATABASE`**
+
+This environment variable sets the database for database. The default value is `dolphinscheduler`.
+
+**Note**: You must be specify it when start a standalone dolphinscheduler server. Like `master-server`, `worker-server`, `api-server`, `alert-server`.
+
+**`DATABASE_PARAMS`**
+
+This environment variable sets the database for database. The default value is `characterEncoding=utf8`.
+
+**Note**: You must be specify it when start a standalone dolphinscheduler server. Like `master-server`, `worker-server`, `api-server`, `alert-server`.
+
+**`DOLPHINSCHEDULER_ENV_PATH`**
+
+This environment variable sets the runtime environment for task. The default value is `/opt/dolphinscheduler/conf/env/dolphinscheduler_env.sh`.
+
+**`DOLPHINSCHEDULER_DATA_BASEDIR_PATH`**
+
+User data directory path, self configuration, please make sure the directory exists and have read write permissions. The default value is `/tmp/dolphinscheduler`
+
+**`RESOURCE_STORAGE_TYPE`**
+
+This environment variable sets resource storage type for dolphinscheduler like `HDFS`, `S3`, `NONE`. The default value is `HDFS`.
+
+**`RESOURCE_UPLOAD_PATH`**
+
+This environment variable sets resource store path on HDFS/S3 for resource storage. The default value is `/dolphinscheduler`.
+
+**`FS_DEFAULT_FS`**
+
+This environment variable sets fs.defaultFS for resource storage like `file:///`, `hdfs://mycluster:8020` or `s3a://dolphinscheduler`. The default value is `file:///`.
+
+**`FS_S3A_ENDPOINT`**
+
+This environment variable sets s3 endpoint for resource storage. The default value is `s3.xxx.amazonaws.com`.
+
+**`FS_S3A_ACCESS_KEY`**
+
+This environment variable sets s3 access key for resource storage. The default value is `xxxxxxx`.
+
+**`FS_S3A_SECRET_KEY`**
+
+This environment variable sets s3 secret key for resource storage. The default value is `xxxxxxx`.
+
+**`ZOOKEEPER_QUORUM`**
+
+This environment variable sets zookeeper quorum for `master-server` and `worker-serverr`. The default value is `127.0.0.1:2181`.
+
+**Note**: You must be specify it when start a standalone dolphinscheduler server. Like `master-server`, `worker-server`.
+
+**`ZOOKEEPER_ROOT`**
+
+This environment variable sets zookeeper root directory for dolphinscheduler. The default value is `/dolphinscheduler`.
+
+**`MASTER_EXEC_THREADS`**
+
+This environment variable sets exec thread num for `master-server`. The default value is `100`.
+
+**`MASTER_EXEC_TASK_NUM`**
+
+This environment variable sets exec task num for `master-server`. The default value is `20`.
+
+**`MASTER_HEARTBEAT_INTERVAL`**
+
+This environment variable sets heartbeat interval for `master-server`. The default value is `10`.
+
+**`MASTER_TASK_COMMIT_RETRYTIMES`**
+
+This environment variable sets task commit retry times for `master-server`. The default value is `5`.
+
+**`MASTER_TASK_COMMIT_INTERVAL`**
+
+This environment variable sets task commit interval for `master-server`. The default value is `1000`.
+
+**`MASTER_MAX_CPULOAD_AVG`**
+
+This environment variable sets max cpu load avg for `master-server`. The default value is `100`.
+
+**`MASTER_RESERVED_MEMORY`**
+
+This environment variable sets reserved memory for `master-server`. The default value is `0.1`.
+
+**`MASTER_LISTEN_PORT`**
+
+This environment variable sets port for `master-server`. The default value is `5678`.
+
+**`WORKER_EXEC_THREADS`**
+
+This environment variable sets exec thread num for `worker-server`. The default value is `100`.
+
+**`WORKER_HEARTBEAT_INTERVAL`**
+
+This environment variable sets heartbeat interval for `worker-server`. The default value is `10`.
+
+**`WORKER_MAX_CPULOAD_AVG`**
+
+This environment variable sets max cpu load avg for `worker-server`. The default value is `100`.
+
+**`WORKER_RESERVED_MEMORY`**
+
+This environment variable sets reserved memory for `worker-server`. The default value is `0.1`.
+
+**`WORKER_LISTEN_PORT`**
+
+This environment variable sets port for `worker-server`. The default value is `1234`.
+
+**`WORKER_GROUP`**
+
+This environment variable sets group for `worker-server`. The default value is `default`.
+
+**`XLS_FILE_PATH`**
+
+This environment variable sets xls file path for `alert-server`. The default value is `/tmp/xls`.
+
+**`MAIL_SERVER_HOST`**
+
+This environment variable sets mail server host for `alert-server`. The default value is empty.
+
+**`MAIL_SERVER_PORT`**
+
+This environment variable sets mail server port for `alert-server`. The default value is empty.
+
+**`MAIL_SENDER`**
+
+This environment variable sets mail sender for `alert-server`. The default value is empty.
+
+**`MAIL_USER=`**
+
+This environment variable sets mail user for `alert-server`. The default value is empty.
+
+**`MAIL_PASSWD`**
+
+This environment variable sets mail password for `alert-server`. The default value is empty.
+
+**`MAIL_SMTP_STARTTLS_ENABLE`**
+
+This environment variable sets SMTP tls for `alert-server`. The default value is `true`.
+
+**`MAIL_SMTP_SSL_ENABLE`**
+
+This environment variable sets SMTP ssl for `alert-server`. The default value is `false`.
+
+**`MAIL_SMTP_SSL_TRUST`**
+
+This environment variable sets SMTP ssl truest for `alert-server`. The default value is empty.
+
+**`ENTERPRISE_WECHAT_ENABLE`**
+
+This environment variable sets enterprise wechat enable for `alert-server`. The default value is `false`.
+
+**`ENTERPRISE_WECHAT_CORP_ID`**
+
+This environment variable sets enterprise wechat corp id for `alert-server`. The default value is empty.
+
+**`ENTERPRISE_WECHAT_SECRET`**
+
+This environment variable sets enterprise wechat secret for `alert-server`. The default value is empty.
+
+**`ENTERPRISE_WECHAT_AGENT_ID`**
+
+This environment variable sets enterprise wechat agent id for `alert-server`. The default value is empty.
+
+**`ENTERPRISE_WECHAT_USERS`**
+
+This environment variable sets enterprise wechat users for `alert-server`. The default value is empty.
+
+## FAQ
+
+### How to stop dolphinscheduler by docker-compose?
+
+Stop containers:
+
+```
+docker-compose stop
+```
+
+Stop containers and remove containers, networks and volumes:
+
+```
+docker-compose down -v
+```
+
+### How to deploy dolphinscheduler on Docker Swarm?
+
+Assuming that the Docker Swarm cluster has been created (If there is no Docker Swarm cluster, please refer to [create-swarm](https://docs.docker.com/engine/swarm/swarm-tutorial/create-swarm/))
+
+Start a stack named dolphinscheduler
+
+```
+docker stack deploy -c docker-stack.yml dolphinscheduler
+```
+
+Stop and remove the stack named dolphinscheduler
+
+```
+docker stack rm dolphinscheduler
+```
+
+### How to use MySQL as the DolphinScheduler's database instead of PostgreSQL?
+
+> Because of the commercial license, we cannot directly use the driver and client of MySQL.
+>
+> If you want to use MySQL, you can build a new image based on the `apache/dolphinscheduler` image as follows.
+
+1. Download the MySQL driver [mysql-connector-java-5.1.49.jar](https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar) (require `>=5.1.47`)
+
+2. Create a new `Dockerfile` to add MySQL driver and client:
+
+```
+FROM apache/dolphinscheduler:latest
+COPY mysql-connector-java-5.1.49.jar /opt/dolphinscheduler/lib
+RUN apk add --update --no-cache mysql-client
+```
+
+3. Build a new docker image including MySQL driver and client:
+
+```
+docker build -t apache/dolphinscheduler:mysql .
+```
+
+4. Modify all `image` fields to `apache/dolphinscheduler:mysql` in `docker-compose.yml`
+
+> If you want to deploy dolphinscheduler on Docker Swarm, you need modify `docker-stack.yml`
+
+5. Comment the `dolphinscheduler-postgresql` block in `docker-compose.yml`
+
+6. Add `dolphinscheduler-mysql` service in `docker-compose.yml` (**Optional**, you can directly use a external MySQL database)
+
+7. Modify all DATABASE environments in `docker-compose.yml`
+
+```
+DATABASE_TYPE: mysql
+DATABASE_DRIVER: com.mysql.jdbc.Driver
+DATABASE_HOST: dolphinscheduler-mysql
+DATABASE_PORT: 3306
+DATABASE_USERNAME: root
+DATABASE_PASSWORD: root
+DATABASE_DATABASE: dolphinscheduler
+DATABASE_PARAMS: useUnicode=true&characterEncoding=UTF-8
+```
+
+> If you have added `dolphinscheduler-mysql` service in `docker-compose.yml`, just set `DATABASE_HOST` to `dolphinscheduler-mysql`
+
+8. Run a dolphinscheduler (See **How to use this docker image**)
+
+### How to support MySQL datasource in `Datasource manage`?
+
+> Because of the commercial license, we cannot directly use the driver of MySQL.
+>
+> If you want to add MySQL datasource, you can build a new image based on the `apache/dolphinscheduler` image as follows.
+
+1. Download the MySQL driver [mysql-connector-java-5.1.49.jar](https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar) (require `>=5.1.47`)
+
+2. Create a new `Dockerfile` to add MySQL driver:
+
+```
+FROM apache/dolphinscheduler:latest
+COPY mysql-connector-java-5.1.49.jar /opt/dolphinscheduler/lib
+```
+
+3. Build a new docker image including MySQL driver:
+
+```
+docker build -t apache/dolphinscheduler:mysql-driver .
+```
+
+4. Modify all `image` fields to `apache/dolphinscheduler:mysql-driver` in `docker-compose.yml`
+
+> If you want to deploy dolphinscheduler on Docker Swarm, you need modify `docker-stack.yml`
+
+5. Run a dolphinscheduler (See **How to use this docker image**)
+
+6. Add a MySQL datasource in `Datasource manage`
+
+### How to support Oracle datasource in `Datasource manage`?
+
+> Because of the commercial license, we cannot directly use the driver of Oracle.
+>
+> If you want to add Oracle datasource, you can build a new image based on the `apache/dolphinscheduler` image as follows.
+
+1. Download the Oracle driver [ojdbc8.jar](https://repo1.maven.org/maven2/com/oracle/database/jdbc/ojdbc8/) (such as `ojdbc8-19.9.0.0.jar`)
+
+2. Create a new `Dockerfile` to add Oracle driver:
+
+```
+FROM apache/dolphinscheduler:latest
+COPY ojdbc8-19.9.0.0.jar /opt/dolphinscheduler/lib
+```
+
+3. Build a new docker image including Oracle driver:
+
+```
+docker build -t apache/dolphinscheduler:oracle-driver .
+```
+
+4. Modify all `image` fields to `apache/dolphinscheduler:oracle-driver` in `docker-compose.yml`
+
+> If you want to deploy dolphinscheduler on Docker Swarm, you need modify `docker-stack.yml`
+
+5. Run a dolphinscheduler (See **How to use this docker image**)
 
+6. Add a Oracle datasource in `Datasource manage`
 
+For more information please refer to the [incubator-dolphinscheduler](https://github.com/apache/incubator-dolphinscheduler.git) documentation.
diff --git a/docs/en-us/1.3.5/user_doc/kubernetes-deployment.md b/docs/en-us/1.3.5/user_doc/kubernetes-deployment.md
new file mode 100644
index 0000000..ddf1797
--- /dev/null
+++ b/docs/en-us/1.3.5/user_doc/kubernetes-deployment.md
@@ -0,0 +1,143 @@
+## QuickStart in Kubernetes
+
+## Prerequisites
+
+- [Helm](https://helm.sh/) 3.1.0+
+- [Kubernetes](https://kubernetes.io/) 1.12+
+- PV provisioner support in the underlying infrastructure
+
+## Installing the Chart
+
+To install the chart with the release name `dolphinscheduler`:
+
+```bash
+# download source code package by wget
+$ wget https://apache.website-solution.net/incubator/dolphinscheduler/1.3.5/apache-dolphinscheduler-incubating-1.3.5-src.zip
+# download source code package by curl
+$ curl -O https://apache.website-solution.net/incubator/dolphinscheduler/1.3.5/apache-dolphinscheduler-incubating-1.3.5-src.zip
+$ unzip apache-dolphinscheduler-incubating-1.3.5-src.zip
+$ mv apache-dolphinscheduler-incubating-1.3.5-src-release dolphinscheduler-src
+$ cd dolphinscheduler-src/docker/kubernetes/dolphinscheduler
+$ helm repo add bitnami https://charts.bitnami.com/bitnami
+$ helm dependency update .
+$ helm install dolphinscheduler .
+```
+
+To install the chart with a namespace named `test`:
+
+```bash
+$ helm install dolphinscheduler . -n test
+```
+
+> **Tip**: If a namespace named `test` is used, the option `-n test` needs to be added to the `helm` and `kubectl` command
+
+These commands deploy DolphinScheduler on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation.
+
+> **Tip**: List all releases using `helm list`
+
+## Access DolphinScheduler UI
+
+If `ingress.enabled` in `values.yaml` is set to `true`, you just access `http://${ingress.host}/dolphinscheduler` in browser.
+
+> **Tip**: If there is a problem with ingress access, please contact the Kubernetes administrator and refer to the [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/)
+
+Otherwise, you need to execute port-forward command like:
+
+```bash
+$ kubectl port-forward --address 0.0.0.0 svc/dolphinscheduler-api 12345:12345
+$ kubectl port-forward --address 0.0.0.0 -n test svc/dolphinscheduler-api 12345:12345 # with test namespace
+```
+
+> **Tip**: If the error of `unable to do port forwarding: socat not found` appears, you need to install `socat` at first
+
+And then access the web: http://192.168.xx.xx:12345/dolphinscheduler
+
+The default username is `admin` and the default password is `dolphinscheduler123`
+
+## Uninstalling the Chart
+
+To uninstall/delete the `dolphinscheduler` deployment:
+
+```bash
+$ helm uninstall dolphinscheduler
+```
+
+The command removes all the Kubernetes components but PVC's associated with the chart and deletes the release.
+
+To delete the PVC's associated with `dolphinscheduler`:
+
+```bash
+$ kubectl delete pvc -l app.kubernetes.io/instance=dolphinscheduler
+```
+
+> **Note**: Deleting the PVC's will delete all data as well. Please be cautious before doing it.
+
+## Configuration
+
+The Configuration file is `values.yaml`, and the [DolphinScheduler Kubernetes Configuration](https://github.com/apache/incubator-dolphinscheduler/blob/1.3.5-release/docker/kubernetes/dolphinscheduler/README.md) lists the configurable parameters of the DolphinScheduler chart and their default values.
+
+## FAQ
+
+### How to use MySQL as the DolphinScheduler's database instead of PostgreSQL?
+
+Not yet supported, the version 1.3.6 will support
+
+### How to support MySQL datasource in `Datasource manage`?
+
+> Because of the commercial license, we cannot directly use the driver of MySQL.
+>
+> If you want to add MySQL datasource, you can build a new image based on the `apache/dolphinscheduler` image as follows.
+
+1. Download the MySQL driver [mysql-connector-java-5.1.49.jar](https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar) (require `>=5.1.47`)
+
+2. Create a new `Dockerfile` to add MySQL driver:
+
+```
+FROM apache/dolphinscheduler:latest
+COPY mysql-connector-java-5.1.49.jar /opt/dolphinscheduler/lib
+```
+
+3. Build a new docker image including MySQL driver:
+
+```
+docker build -t apache/dolphinscheduler:mysql-driver .
+```
+
+4. Push the docker image `apache/dolphinscheduler:mysql-driver` to a docker registry
+
+5. Modify image `registry` and `repository`, and update `tag` to `mysql-driver` in `values.yaml`
+
+6. Run a DolphinScheduler release in Kubernetes (See **Installing the Chart**)
+
+7. Add a MySQL datasource in `Datasource manage`
+
+### How to support Oracle datasource in `Datasource manage`?
+
+> Because of the commercial license, we cannot directly use the driver of Oracle.
+>
+> If you want to add Oracle datasource, you can build a new image based on the `apache/dolphinscheduler` image as follows.
+
+1. Download the Oracle driver [ojdbc8.jar](https://repo1.maven.org/maven2/com/oracle/database/jdbc/ojdbc8/) (such as `ojdbc8-19.9.0.0.jar`)
+
+2. Create a new `Dockerfile` to add Oracle driver:
+
+```
+FROM apache/dolphinscheduler:latest
+COPY ojdbc8-19.9.0.0.jar /opt/dolphinscheduler/lib
+```
+
+3. Build a new docker image including Oracle driver:
+
+```
+docker build -t apache/dolphinscheduler:oracle-driver .
+```
+
+4. Push the docker image `apache/dolphinscheduler:oracle-driver` to a docker registry
+
+5. Modify image `registry` and `repository`, and update `tag` to `oracle-driver` in `values.yaml`
+
+6. Run a DolphinScheduler release in Kubernetes (See **Installing the Chart**)
+
+7. Add a Oracle datasource in `Datasource manage`
+
+For more information please refer to the [incubator-dolphinscheduler](https://github.com/apache/incubator-dolphinscheduler.git) documentation.
diff --git a/docs/zh-cn/1.3.5/user_doc/docker-deployment.md b/docs/zh-cn/1.3.5/user_doc/docker-deployment.md
index cd46c45..11e559f 100644
--- a/docs/zh-cn/1.3.5/user_doc/docker-deployment.md
+++ b/docs/zh-cn/1.3.5/user_doc/docker-deployment.md
@@ -1,8 +1,8 @@
-## 快速试用 DolphinScheduler
+## 快速试用 Docker 部署
 
 有 2 种方式可以快速试用 DolphinScheduler,分别介绍
 ### 一、以 docker-compose 的方式启动(推荐)
-这种方式需要先安装 docker-compose , docker-compose 的安装网上已经有非常多的资料,请自行安装即可
+这种方式需要先安装 [docker-compose](https://docs.docker.com/compose/) , docker-compose 的安装网上已经有非常多的资料,请自行安装即可
 
 ##### 1、下载源码 zip 包
 
@@ -13,37 +13,41 @@
 mkdir -p /opt/soft/dolphinscheduler;
 cd /opt/soft/dolphinscheduler;
 
-# 下载源码包
+# 通过wget下载源码包
 wget https://mirrors.tuna.tsinghua.edu.cn/apache/incubator/dolphinscheduler/1.3.5/apache-dolphinscheduler-incubating-1.3.5-src.zip
 
+# 通过curl下载源码包
+curl -O https://mirrors.tuna.tsinghua.edu.cn/apache/incubator/dolphinscheduler/1.3.5/apache-dolphinscheduler-incubating-1.3.5-src.zip
+
 # 解压缩
 unzip apache-dolphinscheduler-incubating-1.3.5-src.zip
- 
-mv apache-dolphinscheduler-incubating-1.3.5-src-release  dolphinscheduler-src
+
+mv apache-dolphinscheduler-incubating-1.3.5-src-release dolphinscheduler-src
 ```
 
 ##### 2、安装并启动服务
 ```
-cd dolphinscheduler-src
-docker-compose -f ./docker/docker-swarm/docker-compose.yml up -d
+cd dolphinscheduler-src/docker/docker-swarm
+docker-compose up -d
 ```
 
-##### 3、登录系统   
-访问前端界面: http://192.168.xx.xx:12345/dolphinscheduler 
+##### 3、登录系统
+访问前端页面: http://192.168.xx.xx:12345/dolphinscheduler
+
+默认的用户是`admin`,默认的密码是`dolphinscheduler123`
  <p align="center">
    <img src="/img/login.png" width="60%" />
  </p>
 然后参考用户手册章节的`快速上手`即可进行使用
 
-
-下面介绍第 2 种方式
 ### 二、以 docker 方式启动
-这种方式需要先安装 docker , docker 的安装网上已经有非常多的资料,请自行安装即可
+这种方式需要先安装 [docker](https://docs.docker.com/engine/install/), docker 的安装网上已经有非常多的资料,请自行安装即可
+
 ##### 1、基础软件安装(请自行安装)
  * PostgreSQL (8.2.15+)
  * ZooKeeper (3.4.6+)
  * Docker
- 
+
 ##### 2、请登录 PostgreSQL 数据库,创建名为 `dolphinscheduler` 数据库
 
 ##### 3、初始化数据库,导入 `sql/dolphinscheduler-postgre.sql` 进行创建表及基础数据导入
@@ -55,20 +59,22 @@ docker pull apache/dolphinscheduler:latest
 ```
 
 ##### 5、运行一个 DolphinScheduler 实例
-
-如下:(注: {user} 和 {password} 需要替换为具体的数据库用户名和密码)
+如下:
 
 ```
-$ docker run -dit --name dolphinscheduler \
--e ZOOKEEPER_QUORUM="l92.168.x.x:2181"
+$ docker run -d --name dolphinscheduler \
+-e ZOOKEEPER_QUORUM="192.168.x.x:2181" \
 -e DATABASE_HOST="192.168.x.x" -e DATABASE_PORT="5432" -e DATABASE_DATABASE="dolphinscheduler" \
--e DATABASE_USERNAME="{user}" -e DATABASE_PASSWORD="{password}" \
+-e DATABASE_USERNAME="test" -e DATABASE_PASSWORD="test" \
 -p 12345:12345 \
 apache/dolphinscheduler:latest all
 ```
+注:{username} 和 {password} 需要替换为具体的数据库用户名和密码,192.168.x.x 需要替换为 zookeeper 和 数据库的主机 IP
 
-##### 6、登录系统   
-访问前端界面: http://192.168.xx.xx:12345/dolphinscheduler 
+##### 6、登录系统
+默认的用户是`admin`,默认的密码是`dolphinscheduler123`
+
+访问前端页面: http://192.168.xx.xx:12345/dolphinscheduler
  <p align="center">
    <img src="/img/login.png" width="60%" />
  </p>
@@ -87,7 +93,8 @@ apache/dolphinscheduler:latest all
 ```
 ### 如果你只是想运行 dolphinscheduler 中的部分服务
 
-你能够通执行以下指令仅运行dolphinscheduler中的部分服务。
+你能够通执行以下指令仅运行dolphinscheduler中的部分服务
+
 * 创建一个 **本地卷** 用于资源存储,如下:
 
 ```
@@ -97,18 +104,18 @@ docker volume create dolphinscheduler-resource-local
 * 启动一个 **master server**, 如下:
 
 ```
-$ docker run -dit --name dolphinscheduler \
--e ZOOKEEPER_QUORUM="l92.168.x.x:2181" \
+$ docker run -d --name dolphinscheduler-master \
+-e ZOOKEEPER_QUORUM="192.168.x.x:2181" \
 -e DATABASE_HOST="192.168.x.x" -e DATABASE_PORT="5432" -e DATABASE_DATABASE="dolphinscheduler" \
 -e DATABASE_USERNAME="test" -e DATABASE_PASSWORD="test" \
 apache/dolphinscheduler:latest master-server
 ```
 
-* 启动一个 **worker server**, 如下:
+* 启动一个 **worker server** (包括 **logger server**), 如下:
 
 ```
-$ docker run -dit --name dolphinscheduler \
--e ZOOKEEPER_QUORUM="l92.168.x.x:2181" \
+$ docker run -d --name dolphinscheduler-worker \
+-e ZOOKEEPER_QUORUM="192.168.x.x:2181" \
 -e DATABASE_HOST="192.168.x.x" -e DATABASE_PORT="5432" -e DATABASE_DATABASE="dolphinscheduler" \
 -e DATABASE_USERNAME="test" -e DATABASE_PASSWORD="test" \
 -v dolphinscheduler-resource-local:/dolphinscheduler \
@@ -138,3 +145,347 @@ apache/dolphinscheduler:latest alert-server
 
 **注意**: 当你运行dolphinscheduler中的部分服务时,你必须指定这些环境变量 `DATABASE_HOST` `DATABASE_PORT` `DATABASE_DATABASE` `DATABASE_USERNAME` `DATABASE_PASSWORD` `ZOOKEEPER_QUORUM`。
 
+## 环境变量
+
+DolphinScheduler Docker 容器通过环境变量进行配置,缺省时将会使用默认值。
+
+**`DATABASE_TYPE`**
+
+配置`database`的`TYPE`, 默认值 `postgresql`。
+
+**注意**: 当运行`dolphinscheduler`中`master-server`、`worker-server`、`api-server`、`alert-server`这些服务时,必须指定这个环境变量,以便于你更好的搭建分布式服务。
+
+**`DATABASE_DRIVER`**
+
+配置`database`的`DRIVER`, 默认值 `org.postgresql.Driver`。
+
+**注意**: 当运行`dolphinscheduler`中`master-server`、`worker-server`、`api-server`、`alert-server`这些服务时,必须指定这个环境变量,以便于你更好的搭建分布式服务。
+
+**`DATABASE_HOST`**
+
+配置`database`的`HOST`, 默认值 `127.0.0.1`。
+
+**注意**: 当运行`dolphinscheduler`中`master-server`、`worker-server`、`api-server`、`alert-server`这些服务时,必须指定这个环境变量,以便于你更好的搭建分布式服务。
+
+**`DATABASE_PORT`**
+
+配置`database`的`PORT`, 默认值 `5432`。
+
+**注意**: 当运行`dolphinscheduler`中`master-server`、`worker-server`、`api-server`、`alert-server`这些服务时,必须指定这个环境变量,以便于你更好的搭建分布式服务。
+
+**`DATABASE_USERNAME`**
+
+配置`database`的`USERNAME`, 默认值 `root`。
+
+**注意**: 当运行`dolphinscheduler`中`master-server`、`worker-server`、`api-server`、`alert-server`这些服务时,必须指定这个环境变量,以便于你更好的搭建分布式服务。
+
+**`DATABASE_PASSWORD`**
+
+配置`database`的`PASSWORD`, 默认值 `root`。
+
+**注意**: 当运行`dolphinscheduler`中`master-server`、`worker-server`、`api-server`、`alert-server`这些服务时,必须指定这个环境变量,以便于你更好的搭建分布式服务。
+
+**`DATABASE_DATABASE`**
+
+配置`database`的`DATABASE`, 默认值 `dolphinscheduler`。
+
+**注意**: 当运行`dolphinscheduler`中`master-server`、`worker-server`、`api-server`、`alert-server`这些服务时,必须指定这个环境变量,以便于你更好的搭建分布式服务。
+
+**`DATABASE_PARAMS`**
+
+配置`database`的`PARAMS`, 默认值 `characterEncoding=utf8`。
+
+**注意**: 当运行`dolphinscheduler`中`master-server`、`worker-server`、`api-server`、`alert-server`这些服务时,必须指定这个环境变量,以便于你更好的搭建分布式服务。
+
+**`DOLPHINSCHEDULER_ENV_PATH`**
+
+任务执行时的环境变量配置文件, 默认值 `/opt/dolphinscheduler/conf/env/dolphinscheduler_env.sh`。
+
+**`DOLPHINSCHEDULER_DATA_BASEDIR_PATH`**
+
+用户数据目录, 用户自己配置, 请确保这个目录存在并且用户读写权限, 默认值 `/tmp/dolphinscheduler`。
+
+**`RESOURCE_STORAGE_TYPE`**
+
+配置`dolphinscheduler`的资源存储类型,可选项为 `HDFS`、`S3`、`NONE`,默认值 `HDFS`。
+
+**`RESOURCE_UPLOAD_PATH`**
+
+配置`HDFS/S3`上的资源存储路径,默认值 `/dolphinscheduler`。
+
+**`FS_DEFAULT_FS`**
+
+配置资源存储的文件系统协议,如 `file:///`, `hdfs://mycluster:8020` or `s3a://dolphinscheduler`,默认值 `file:///`。
+
+**`FS_S3A_ENDPOINT`**
+
+当`RESOURCE_STORAGE_TYPE=S3`时,需要配置`S3`的访问路径,默认值 `s3.xxx.amazonaws.com`。
+
+**`FS_S3A_ACCESS_KEY`**
+
+当`RESOURCE_STORAGE_TYPE=S3`时,需要配置`S3`的`s3 access key`,默认值 `xxxxxxx`。
+
+**`FS_S3A_SECRET_KEY`**
+
+当`RESOURCE_STORAGE_TYPE=S3`时,需要配置`S3`的`s3 secret key`,默认值 `xxxxxxx`。
+
+**`ZOOKEEPER_QUORUM`**
+
+配置`master-server`和`worker-serverr`的`Zookeeper`地址, 默认值 `127.0.0.1:2181`。
+
+**注意**: 当运行`dolphinscheduler`中`master-server`、`worker-server`这些服务时,必须指定这个环境变量,以便于你更好的搭建分布式服务。
+
+**`ZOOKEEPER_ROOT`**
+
+配置`dolphinscheduler`在`zookeeper`中数据存储的根目录,默认值 `/dolphinscheduler`。
+
+**`MASTER_EXEC_THREADS`**
+
+配置`master-server`中的执行线程数量,默认值 `100`。
+
+**`MASTER_EXEC_TASK_NUM`**
+
+配置`master-server`中的执行任务数量,默认值 `20`。
+
+**`MASTER_HEARTBEAT_INTERVAL`**
+
+配置`master-server`中的心跳交互时间,默认值 `10`。
+
+**`MASTER_TASK_COMMIT_RETRYTIMES`**
+
+配置`master-server`中的任务提交重试次数,默认值 `5`。
+
+**`MASTER_TASK_COMMIT_INTERVAL`**
+
+配置`master-server`中的任务提交交互时间,默认值 `1000`。
+
+**`MASTER_MAX_CPULOAD_AVG`**
+
+配置`master-server`中的CPU中的`load average`值,默认值 `100`。
+
+**`MASTER_RESERVED_MEMORY`**
+
+配置`master-server`的保留内存,默认值 `0.1`。
+
+**`MASTER_LISTEN_PORT`**
+
+配置`master-server`的端口,默认值 `5678`。
+
+**`WORKER_EXEC_THREADS`**
+
+配置`worker-server`中的执行线程数量,默认值 `100`。
+
+**`WORKER_HEARTBEAT_INTERVAL`**
+
+配置`worker-server`中的心跳交互时间,默认值 `10`。
+
+**`WORKER_MAX_CPULOAD_AVG`**
+
+配置`worker-server`中的CPU中的最大`load average`值,默认值 `100`。
+
+**`WORKER_RESERVED_MEMORY`**
+
+配置`worker-server`的保留内存,默认值 `0.1`。
+
+**`WORKER_LISTEN_PORT`**
+
+配置`worker-server`的端口,默认值 `1234`。
+
+**`WORKER_GROUP`**
+
+配置`worker-server`的分组,默认值 `default`。
+
+**`XLS_FILE_PATH`**
+
+配置`alert-server`的`XLS`文件的存储路径,默认值 `/tmp/xls`。
+
+**`MAIL_SERVER_HOST`**
+
+配置`alert-server`的邮件服务地址,默认值 `空`。
+
+**`MAIL_SERVER_PORT`**
+
+配置`alert-server`的邮件服务端口,默认值 `空`。
+
+**`MAIL_SENDER`**
+
+配置`alert-server`的邮件发送人,默认值 `空`。
+
+**`MAIL_USER=`**
+
+配置`alert-server`的邮件服务用户名,默认值 `空`。
+
+**`MAIL_PASSWD`**
+
+配置`alert-server`的邮件服务用户密码,默认值 `空`。
+
+**`MAIL_SMTP_STARTTLS_ENABLE`**
+
+配置`alert-server`的邮件服务是否启用TLS,默认值 `true`。
+
+**`MAIL_SMTP_SSL_ENABLE`**
+
+配置`alert-server`的邮件服务是否启用SSL,默认值 `false`。
+
+**`MAIL_SMTP_SSL_TRUST`**
+
+配置`alert-server`的邮件服务SSL的信任地址,默认值 `空`。
+
+**`ENTERPRISE_WECHAT_ENABLE`**
+
+配置`alert-server`的邮件服务是否启用企业微信,默认值 `false`。
+
+**`ENTERPRISE_WECHAT_CORP_ID`**
+
+配置`alert-server`的邮件服务企业微信`ID`,默认值 `空`。
+
+**`ENTERPRISE_WECHAT_SECRET`**
+
+配置`alert-server`的邮件服务企业微信`SECRET`,默认值 `空`。
+
+**`ENTERPRISE_WECHAT_AGENT_ID`**
+
+配置`alert-server`的邮件服务企业微信`AGENT_ID`,默认值 `空`。
+
+**`ENTERPRISE_WECHAT_USERS`**
+
+配置`alert-server`的邮件服务企业微信`USERS`,默认值 `空`。
+
+## FAQ
+
+### 如何通过 docker-compose 停止 dolphinscheduler?
+
+停止所有容器:
+
+```
+docker-compose stop
+```
+
+停止所有容器并移除所有容器,网络和存储卷:
+
+```
+docker-compose down -v
+```
+
+### 如何在 Docker Swarm 上部署 dolphinscheduler?
+
+假设 Docker Swarm 集群已经部署(如果还没有创建 Docker Swarm 集群,请参考 [create-swarm](https://docs.docker.com/engine/swarm/swarm-tutorial/create-swarm/))
+
+启动名为 dolphinscheduler 的 stack
+
+```
+docker stack deploy -c docker-stack.yml dolphinscheduler
+```
+
+启动并移除名为 dolphinscheduler 的 stack
+
+```
+docker stack rm dolphinscheduler
+```
+
+### 如何用 MySQL 替代 PostgreSQL 作为 DolphinScheduler 的数据库?
+
+> 由于商业许可证的原因,我们不能直接使用 MySQL 的驱动包和客户端.
+>
+> 如果你要使用 MySQL, 你可以基于官方镜像 `apache/dolphinscheduler` 进行构建.
+
+1. 下载 MySQL 驱动包 [mysql-connector-java-5.1.49.jar](https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar) (要求 `>=5.1.47`)
+
+2. 创建一个新的 `Dockerfile`,用于添加 MySQL 的驱动包和客户端:
+
+```
+FROM apache/dolphinscheduler:latest
+COPY mysql-connector-java-5.1.49.jar /opt/dolphinscheduler/lib
+RUN apk add --update --no-cache mysql-client
+```
+
+3. 构建一个包含 MySQL 的驱动包和客户端的新镜像:
+
+```
+docker build -t apache/dolphinscheduler:mysql .
+```
+
+4. 修改 `docker-compose.yml` 文件中的所有 image 字段为 `apache/dolphinscheduler:mysql`
+
+> 如果你想在 Docker Swarm 上部署 dolphinscheduler,你需要修改 `docker-stack.yml`
+
+5. 注释 `docker-compose.yml` 文件中的 `dolphinscheduler-postgresql` 块
+
+6. 在 `docker-compose.yml` 文件中添加 `dolphinscheduler-mysql` 服务(**可选**,你可以直接使用一个外部的 MySQL 数据库)
+
+7. 修改 `docker-compose.yml` 文件中的所有 DATABASE 环境变量
+
+```
+DATABASE_TYPE: mysql
+DATABASE_DRIVER: com.mysql.jdbc.Driver
+DATABASE_HOST: dolphinscheduler-mysql
+DATABASE_PORT: 3306
+DATABASE_USERNAME: root
+DATABASE_PASSWORD: root
+DATABASE_DATABASE: dolphinscheduler
+DATABASE_PARAMS: useUnicode=true&characterEncoding=UTF-8
+```
+
+> 如果你已经添加了 `dolphinscheduler-mysql` 服务,设置 `DATABASE_HOST` 为 `dolphinscheduler-mysql` 即可
+
+8. 运行 dolphinscheduler (详见**如何使用docker镜像**)
+
+### 如何在数据源中心支持 MySQL 数据源?
+
+> 由于商业许可证的原因,我们不能直接使用 MySQL 的驱动包.
+>
+> 如果你要添加 MySQL 数据源, 你可以基于官方镜像 `apache/dolphinscheduler` 进行构建.
+
+1. 下载 MySQL 驱动包 [mysql-connector-java-5.1.49.jar](https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar) (要求 `>=5.1.47`)
+
+2. 创建一个新的 `Dockerfile`,用于添加 MySQL 驱动包:
+
+```
+FROM apache/dolphinscheduler:latest
+COPY mysql-connector-java-5.1.49.jar /opt/dolphinscheduler/lib
+```
+
+3. 构建一个包含 MySQL 驱动包的新镜像:
+
+```
+docker build -t apache/dolphinscheduler:mysql-driver .
+```
+
+4. 将 `docker-compose.yml` 文件中的所有 image 字段 修改为 `apache/dolphinscheduler:mysql-driver`
+
+> 如果你想在 Docker Swarm 上部署 dolphinscheduler,你需要修改 `docker-stack.yml`
+
+5. 运行 dolphinscheduler (详见**如何使用docker镜像**)
+
+6. 在数据源中心添加一个 MySQL 数据源
+
+### 如何在数据源中心支持 Oracle 数据源?
+
+> 由于商业许可证的原因,我们不能直接使用 Oracle 的驱动包.
+>
+> 如果你要添加 Oracle 数据源, 你可以基于官方镜像 `apache/dolphinscheduler` 进行构建.
+
+1. 下载 Oracle 驱动包 [ojdbc8.jar](https://repo1.maven.org/maven2/com/oracle/database/jdbc/ojdbc8/) (such as `ojdbc8-19.9.0.0.jar`)
+
+2. 创建一个新的 `Dockerfile`,用于添加 Oracle 驱动包:
+
+```
+FROM apache/dolphinscheduler:latest
+COPY ojdbc8-19.9.0.0.jar /opt/dolphinscheduler/lib
+```
+
+3. 构建一个包含 Oracle 驱动包的新镜像:
+
+```
+docker build -t apache/dolphinscheduler:oracle-driver .
+```
+
+4. 将 `docker-compose.yml` 文件中的所有 image 字段 修改为 `apache/dolphinscheduler:oracle-driver`
+
+> 如果你想在 Docker Swarm 上部署 dolphinscheduler,你需要修改 `docker-stack.yml`
+
+5. 运行 dolphinscheduler (详见**如何使用docker镜像**)
+
+6. 在数据源中心添加一个 Oracle 数据源
+
+更多信息请查看 [incubator-dolphinscheduler](https://github.com/apache/incubator-dolphinscheduler.git) 文档.
diff --git a/docs/zh-cn/1.3.5/user_doc/kubernetes-deployment.md b/docs/zh-cn/1.3.5/user_doc/kubernetes-deployment.md
new file mode 100644
index 0000000..4ca26ff
--- /dev/null
+++ b/docs/zh-cn/1.3.5/user_doc/kubernetes-deployment.md
@@ -0,0 +1,143 @@
+## 快速试用 Kubernetes 部署
+
+## 先决条件(请自行安装)
+
+- [Helm](https://helm.sh/) 3.1.0+
+- [Kubernetes](https://kubernetes.io/) 1.12+
+- PV 供应(需要基础设施支持)
+
+## 安装 dolphinscheduler
+
+发布一个名为 `dolphinscheduler` 的版本(release),请执行以下操作:
+
+```bash
+# 通过wget下载源码包
+$ wget https://mirrors.tuna.tsinghua.edu.cn/apache/incubator/dolphinscheduler/1.3.5/apache-dolphinscheduler-incubating-1.3.5-src.zip
+# 通过curl下载源码包
+$ curl -O https://mirrors.tuna.tsinghua.edu.cn/apache/incubator/dolphinscheduler/1.3.5/apache-dolphinscheduler-incubating-1.3.5-src.zip
+$ unzip apache-dolphinscheduler-incubating-1.3.5-src.zip
+$ mv apache-dolphinscheduler-incubating-1.3.5-src-release dolphinscheduler-src
+$ cd dolphinscheduler-src/docker/kubernetes/dolphinscheduler
+$ helm repo add bitnami https://charts.bitnami.com/bitnami
+$ helm dependency update .
+$ helm install dolphinscheduler .
+```
+
+将名为 `dolphinscheduler` 的版本(release) 发布到 `test` 的命名空间中:
+
+```bash
+$ helm install dolphinscheduler . -n test
+```
+
+> **提示**: 如果名为 `test` 的命名空间被使用, 选项参数 `-n test` 需要添加到 `helm` 和 `kubectl` 命令中
+
+这些命令以默认配置在 Kubernetes 集群上部署 DolphinScheduler,[配置](#configuration)部分列出了可以在安装过程中配置的参数
+
+> **提示**: 列出所有已发布的版本,使用 `helm list`
+
+## 访问 DolphinScheduler 前端页面
+
+如果 `values.yaml` 文件中的 `ingress.enabled` 被设置为 `true`, 在浏览器中访问 `http://${ingress.host}/dolphinscheduler` 即可
+
+> **提示**: 如果 ingress 访问遇到问题,请联系 Kubernetes 管理员并查看 [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/)
+
+否则,你需要执行 port-forward 端口转发命令:
+
+```bash
+$ kubectl port-forward --address 0.0.0.0 svc/dolphinscheduler-api 12345:12345
+$ kubectl port-forward --address 0.0.0.0 -n test svc/dolphinscheduler-api 12345:12345 # 使用 test 命名空间
+```
+
+> **提示**: 如果出现 `unable to do port forwarding: socat not found` 错误, 需要先安装 `socat`
+
+然后访问前端页面: http://192.168.xx.xx:12345/dolphinscheduler
+
+默认的用户是`admin`,默认的密码是`dolphinscheduler123`
+
+## 卸载 dolphinscheduler
+
+卸载名为 `dolphinscheduler` 的版本(release),请执行:
+
+```bash
+$ helm uninstall dolphinscheduler
+```
+
+该命令将删除与 `dolphinscheduler` 相关的所有 Kubernetes 组件(但PVC除外),并删除版本(release)
+
+要删除与 `dolphinscheduler` 相关的PVC,请执行:
+
+```bash
+$ kubectl delete pvc -l app.kubernetes.io/instance=dolphinscheduler
+```
+
+> **注意**: 删除PVC也会删除所有数据,请谨慎操作!
+
+## 配置
+
+配置文件为 `values.yaml`,[DolphinScheduler Kubernetes 配置](https://github.com/apache/incubator-dolphinscheduler/blob/1.3.5-release/docker/kubernetes/dolphinscheduler/README.md) 列出了 DolphinScheduler 的可配置参数及其默认值
+
+## FAQ
+
+### 如何用 MySQL 替代 PostgreSQL 作为 DolphinScheduler 的数据库?
+
+尚不支持,1.3.6 版本将支持
+
+### 如何在数据源中心支持 MySQL 数据源?
+
+> 由于商业许可证的原因,我们不能直接使用 MySQL 的驱动包.
+>
+> 如果你要添加 MySQL 数据源, 你可以基于官方镜像 `apache/dolphinscheduler` 进行构建.
+
+1. 下载 MySQL 驱动包 [mysql-connector-java-5.1.49.jar](https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar) (要求 `>=5.1.47`)
+
+2. 创建一个新的 `Dockerfile`,用于添加 MySQL 驱动包:
+
+```
+FROM apache/dolphinscheduler:latest
+COPY mysql-connector-java-5.1.49.jar /opt/dolphinscheduler/lib
+```
+
+3. 构建一个包含 MySQL 驱动包的新镜像:
+
+```
+docker build -t apache/dolphinscheduler:mysql-driver .
+```
+
+4. 推送 docker 镜像 `apache/dolphinscheduler:mysql-driver` 到一个 docker registry 中
+
+5. 修改 `values.yaml` 文件中 image 的 `registry` 和 `repository` 字段, 并更新 `tag` 为 `mysql-driver`
+
+6. 部署 dolphinscheduler (详见**安装 dolphinscheduler**)
+
+7. 在数据源中心添加一个 MySQL 数据源
+
+### 如何在数据源中心支持 Oracle 数据源?
+
+> 由于商业许可证的原因,我们不能直接使用 Oracle 的驱动包.
+>
+> 如果你要添加 Oracle 数据源, 你可以基于官方镜像 `apache/dolphinscheduler` 进行构建.
+
+1. 下载 Oracle 驱动包 [ojdbc8.jar](https://repo1.maven.org/maven2/com/oracle/database/jdbc/ojdbc8/) (such as `ojdbc8-19.9.0.0.jar`)
+
+2. 创建一个新的 `Dockerfile`,用于添加 Oracle 驱动包:
+
+```
+FROM apache/dolphinscheduler:latest
+COPY ojdbc8-19.9.0.0.jar /opt/dolphinscheduler/lib
+```
+
+3. 构建一个包含 Oracle 驱动包的新镜像:
+
+```
+docker build -t apache/dolphinscheduler:oracle-driver .
+```
+
+4. 推送 docker 镜像 `apache/dolphinscheduler:oracle-driver` 到一个 docker registry 中
+
+5. 修改 `values.yaml` 文件中 image 的 `registry` 和 `repository` 字段, 并更新 `oracle-driver`
+
+6. 部署 dolphinscheduler (详见**安装 dolphinscheduler**)
+
+7. 在数据源中心添加一个 Oracle 数据源
+
+更多信息请查看 [incubator-dolphinscheduler](https://github.com/apache/incubator-dolphinscheduler.git) 文档.
diff --git a/site_config/docs1-3-5.js b/site_config/docs1-3-5.js
index d14a9e8..2d0f982 100644
--- a/site_config/docs1-3-5.js
+++ b/site_config/docs1-3-5.js
@@ -20,6 +20,10 @@ export default {
             title: 'Docker Deployment',
             link: '/en-us/docs/1.3.5/user_doc/docker-deployment.html',
           },
+          {
+            title: 'Kubernetes Deployment',
+            link: '/en-us/docs/1.3.5/user_doc/kubernetes-deployment.html',
+          },
         ],
       },
       {
@@ -89,6 +93,10 @@ export default {
             title: 'Docker部署(Docker)',
             link: '/zh-cn/docs/1.3.5/user_doc/docker-deployment.html',
           },
+          {
+            title: 'Kubernetes部署(Kubernetes)',
+            link: '/zh-cn/docs/1.3.5/user_doc/kubernetes-deployment.html',
+          },
         ],
       },
       {