You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shenyu.apache.org by xi...@apache.org on 2022/10/08 02:39:40 UTC
[shenyu-website] branch main updated: [DOC] add helm deployment doc (#781)
This is an automated email from the ASF dual-hosted git repository.
xiaoyu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/shenyu-website.git
The following commit(s) were added to refs/heads/main by this push:
new db17bb904f [DOC] add helm deployment doc (#781)
db17bb904f is described below
commit db17bb904fa2476d69e4bd7a5d1bd01cb76e40e5
Author: Bird <af...@gmail.com>
AuthorDate: Sat Oct 8 10:39:34 2022 +0800
[DOC] add helm deployment doc (#781)
---
docs/deployment/deployment-helm.md | 178 +++++++++++++++++++++
.../current/deployment/deployment-cluster.md | 2 +-
.../current/deployment/deployment-custom.md | 2 +-
.../deployment/deployment-docker-compose.md | 2 +-
.../current/deployment/deployment-docker.md | 2 +-
.../current/deployment/deployment-helm.md | 177 +++++++++++++++++++-
.../current/deployment/deployment-local.md | 2 +-
.../current/deployment/deployment-package.md | 2 +-
.../current/deployment/deployment-quick.md | 2 +-
.../version-2.4.3/deployment/deployment-cluster.md | 2 +-
.../version-2.4.3/deployment/deployment-custom.md | 2 +-
.../deployment/deployment-docker-compose.md | 2 +-
.../version-2.4.3/deployment/deployment-docker.md | 2 +-
.../version-2.4.3/deployment/deployment-helm.md | 2 +-
.../version-2.4.3/deployment/deployment-local.md | 2 +-
.../version-2.4.3/deployment/deployment-package.md | 2 +-
.../version-2.4.3/deployment/deployment-quick.md | 2 +-
.../version-2.5.0/deployment/deployment-cluster.md | 2 +-
.../version-2.5.0/deployment/deployment-custom.md | 2 +-
.../deployment/deployment-docker-compose.md | 2 +-
.../version-2.5.0/deployment/deployment-docker.md | 2 +-
.../version-2.5.0/deployment/deployment-helm.md | 177 +++++++++++++++++++-
.../version-2.5.0/deployment/deployment-local.md | 2 +-
.../version-2.5.0/deployment/deployment-package.md | 2 +-
.../version-2.5.0/deployment/deployment-quick.md | 2 +-
.../version-2.5.0/deployment/deployment-helm.md | 178 +++++++++++++++++++++
26 files changed, 730 insertions(+), 24 deletions(-)
diff --git a/docs/deployment/deployment-helm.md b/docs/deployment/deployment-helm.md
index 38c7126d0b..ec17f9ce47 100644
--- a/docs/deployment/deployment-helm.md
+++ b/docs/deployment/deployment-helm.md
@@ -8,3 +8,181 @@ description: Helm Deployment
This article introduces the use of `helm` to deploy the `Apache ShenYu` gateway.
> Before you read this document, you need to complete some preparations before deploying Shenyu according to the [Deployment Prerequisites document](./deployment-before.md).
+
+## Add Helm repository
+
+```shell
+helm repo add shenyu https://apache.github.io/shenyu-helm-chart
+helm repo update
+```
+
+## Install
+
+### Deployment prerequisites
+
+Before reading this document, you need to read [Deployment prerequisites](https://shenyu.apache.org/docs/deployment/deployment-before/) to complete the environment preparation before deploying ShenYu.
+
+### Instructions
+
+* **Install the application**: By default, both admin and bootstrap are installed.
+* **Service Exposure**: Use NodePort to expose the service, the default port is `31095` for admin and `31195` for bootstrap.
+* **Database**: Currently supports h2, MySQL, PostgreSQL as database. Default is h2.
+
+### h2 as database
+
+Running the following command will install admin and bootstrap under shenyu namespace and create namespace.
+
+```shell
+helm install shenyu shenyu/shenyu -n=shenyu --create-namespace
+```
+
+### MySQL as database
+
+Modify and copy the following command and execute.
+
+```shell
+helm install shenyu shenyu/shenyu -n=shenyu --create-namespace \
+ --set dataSource.active=mysql \
+ --set dataSource.mysql.ip=127.0.0.1 \
+ --set dataSource.mysql.port=3306 \
+ --set dataSource.mysql.username=root \
+ --set dataSource.mysql.password=123456
+```
+
+## PostgreSQL as database(Version of ShenYu > 2.5.0)
+
+Modify the following command and copy it to execute.
+
+```shell
+helm install shenyu shenyu/shenyu -n=shenyu --create-namespace \
+ --set dataSource.active=pg \
+ --set dataSource.pg.ip=127.0.0.1 \
+ --set dataSource.pg.port=5432 \
+ --set dataSource.pg.username=postgres \
+ --set dataSource.pg.password=123456
+```
+
+## Q&A
+
+### 1. you need to modify a lot of configuration information, such as modify the application.yaml, how to install
+
+1. download the complete values.yaml
+* Latest chart version: `helm show values shenyu/shenyu > values.yaml`
+* Specific chart version, e.g. `0.2.0`: `helm show values shenyu/shenyu --version=0.2.0 > values.yaml`
+2. modify the values.yaml file
+3. Change the corresponding configuration and execute the `helm install` command with the format `-f values.yaml`.
+ For example: `helm install shenyu shenyu/shenyu -n=shenyu --create-namespace -f values.yaml`
+
+### 2. How to install only admin or bootstrap
+
+* Install only admin: add `-set bootstrap.enabled=false` to the end of the helm install command
+* Install only bootstrap: add `--set admin.enabled=false` to the end of the helm install command
+
+### 3. How to install old version ShenYu
+
+```shell
+helm search repo shenyu -l
+```
+
+You will get output similar to
+
+```shell
+NAME CHART VERSION APP VERSION DESCRIPTION
+shenyu/shenyu 0.2.0 2.5.0 Helm Chart for deploying Apache ShenYu in Kubernetes
+...
+...
+```
+
+where `APP_VERSION` is the version of ShenYu and `CHART_VERSION` is the version of Helm Chart.
+
+Select the corresponding Chart version according to the version of ShenYu you want to install, and add the `-version=CHART_VERSION` parameter at the end of the command. For example
+
+```shell
+helm install shenyu shenyu/shenyu -n=shenyu --version=0.2.0 --create-namespace
+```
+
+### How to configure JVM options and modify Kubernetes resource quotas(Version of ShenYu > 2.5.0)
+
+* Configure JVM parameters via `admin.jvmOpts` and `bootstrap.jvmOpts`
+* Configure Kubernetes resource quotas via `admin.resources` and `bootstrap.resources`.
+
+e.g.
+
+```shell
+helm install shenyu shenyu/shenyu -n=shenyu --create-namespace \
+ --set admin.javaOpts="-Xms256m -Xmx512m" \
+ --set admin.resources.requests.memory=512Mi \
+ --set admin.resources.limits.memory=1Gi \
+ --set admin.resources.requests.cpu=500m \
+ --set admin.resources.limits.cpu=1 \
+```
+
+## Values configuration instructions
+
+### Global Configuration
+
+| configuration item | type | default | description |
+|--------------------|--------|-----------|----------------------------------------------------------------------------------------------------|
+| replicas | int | `1` | Number of replicas |
+| version | string | `"2.5.0"` | shenyu version, it is not recommended to modify, please install the corresponding version directly |
+
+### shenyu-admin configuration
+
+| configuration item | type | default | description |
+|--------------------|--------|-------------------------------------------------------------------------------------------------------------|--------------------|
+| admin.nodePort | int | `31095` | NodePort port |
+| admin.javaOpts | string | [see here](https://github.com/apache/shenyu/blob/master/shenyu-dist/shenyu-admin-dist/docker/entrypoint.sh) | JVM parameters |
+| admin.resources | dict | omit | K8s resource quota |
+
+### shenyu-bootstrap configuration
+
+| configuration item | type | default | description |
+|---------------------|--------|-----------------------------------------------------------------------------------------------------------------|--------------------|
+| bootstrap.nodePort | int | `31195` | NodePort Port |
+| bootstrap.javaOpts | string | [see here](https://github.com/apache/shenyu/blob/master/shenyu-dist/shenyu-bootstrap-dist/docker/entrypoint.sh) | JVM parameters |
+| bootstrap.resources | dict | `{}` | K8s resource quota |
+
+### Database configuration
+
+#### General database configuration
+
+| configuration-item | type | default | description |
+|------------------------|--------|---------|-------------------------------------------------|
+| dataSource.active | string | `"h2"` | Database to use, supports `h2`, `mysql`, `pg` |
+| dataSource.initEnabled | bool | `true` | Initialize the database, only `h2` is available |
+
+#### h2
+
+| configuration item | type | default | description |
+|------------------------|--------|---------|-------------|
+| dataSource.h2.username | string | `"sa"` | username |
+| dataSource.h2.password | string | `"sa"` | password |
+
+#### MySQL
+
+| Configuration Item | Type | Default | Description |
+|-----------------------------------|--------|------------------------------|-------------------------------------------------------------------------------------------------------|
+| dataSource.mysql.ip | string | `""` | IP |
+| dataSource.mysql.port | int | `3306` | port |
+| dataSource.mysql.username | string | `"root"` | Username |
+| dataSource.mysql.password | string | `""` | Password |
+| dataSource.mysql.driverClass | string | `"com.mysql.cj.jdbc.Driver"` | mysql driver class name |
+| dataSource.mysql.connectorVersion | string | `"8.0.23"` | connector version([maven connector list](https://repo1.maven.org/maven2/mysql/mysql-connector-java/)) |
+
+### PostgreSQL
+
+| configuration-item | type | default | description |
+|--------------------------------|--------|---------------------------|-------------------------------------------------------------------------------------------------------|
+| dataSource.pg.ip | string | `""` | IP |
+| dataSource.pg.port | int | `5432` | port |
+| dataSource.pg.username | string | `"postgres"` | username |
+| dataSource.pg.password | string | `"postgres"` | password |
+| dataSource.pg.driverClass | string | `"org.postgresql.Driver"` | PostgreSQL driver class name |
+| dataSource.pg.connectorVersion | string | `"42.2.18"` | connector version ([maven connector list](https://repo1.maven.org/maven2/org/postgresql/postgresql/)) |
+
+### application.yml configuration
+
+| configuration-item | type | default | description |
+|-----------------------------|--------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------|
+| applicationConfig.bootstrap | string | slightly | bootstrap configuration, [bootstrap configuration description](https://shenyu.apache.org/zh/docs/user-guide/property-config/gateway-property-config) |
+| applicationConfig.admin | string | omit | admin configuration, [admin configuration description](https://shenyu.apache.org/zh/docs/user-guide/property-config/admin-property-config) |
diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-cluster.md b/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-cluster.md
index 691a2bd77a..aaee8d330b 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-cluster.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-cluster.md
@@ -5,7 +5,7 @@ keywords: ["网关集群", "集群部署"]
description: 集群部署
---
-> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署`shenyu`前的环境准备工作.
+> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署 `shenyu` 前的环境准备工作。
本文是介绍在集群环境中快速部署`ShenYu`网关。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-custom.md b/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-custom.md
index ed08347932..ccaee450b0 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-custom.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-custom.md
@@ -6,7 +6,7 @@ description: 自定义部署
本文介绍如何基于 `Apache ShenYu` 搭建属于你自己的网关。
-> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署`shenyu`前的环境准备工作.
+> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署 `shenyu` 前的环境准备工作。
### 启动Apache ShenYu Admin
diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-docker-compose.md b/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-docker-compose.md
index 96287dcee2..c42a71faad 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-docker-compose.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-docker-compose.md
@@ -7,7 +7,7 @@ description: Docker-compose Deployment
本文介绍使用 `docker-compose` 来部署 `Apache ShenYu` 网关。
-> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署`shenyu`前的环境准备工作.
+> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署 `shenyu` 前的环境准备工作。
### 下载 shell 脚本
diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-docker.md b/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-docker.md
index 1947e06656..7c06588bb6 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-docker.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-docker.md
@@ -7,7 +7,7 @@ description: docker部署
本文介绍使用 `docker` 来部署 `Apache ShenYu` 网关。
-> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署`shenyu`前的环境准备工作.
+> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署 `shenyu` 前的环境准备工作。
### 启动Apache ShenYu Admin
diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-helm.md b/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-helm.md
index 53418a9ab9..f7d3c95b72 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-helm.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-helm.md
@@ -7,4 +7,179 @@ description: Helm部署
本文介绍使用 `helm` 来部署 `Apache ShenYu` 网关。
-> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署`shenyu`前的环境准备工作.
+> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署 `shenyu` 前的环境准备工作。
+
+## 添加 Helm 仓库
+
+```shell
+helm repo add shenyu https://apache.github.io/shenyu-helm-chart
+helm repo update
+```
+
+## 安装
+
+### 说明
+
+* **安装应用**:默认同时安装 admin 与 bootstrap。
+* **服务暴露**:使用 NodePort 暴露服务,admin 默认端口为 `31095`, bootstrap 为 `31195`。
+* **数据库**:目前支持 h2, MySQL, PostgreSQL 作为数据库。默认使用 h2。
+
+### h2 作为数据库
+
+运行以下命令,会在 shenyu namespace 下安装 admin 与 bootstrap ,并创建命名空间。
+
+```shell
+helm install shenyu shenyu/shenyu -n=shenyu --create-namespace
+```
+
+### MySQL 作为数据库
+
+修改以下命令并复制,执行:
+
+```shell
+helm install shenyu shenyu/shenyu -n=shenyu --create-namespace \
+ --set dataSource.active=mysql \
+ --set dataSource.mysql.ip=127.0.0.1 \
+ --set dataSource.mysql.port=3306 \
+ --set dataSource.mysql.username=root \
+ --set dataSource.mysql.password=123456
+```
+
+## PostgreSQL 作为数据库(ShenYu 版本 > 2.5.0)
+
+修改以下命令并复制,执行:
+
+```shell
+helm install shenyu shenyu/shenyu -n=shenyu --create-namespace \
+ --set dataSource.active=pg \
+ --set dataSource.pg.ip=127.0.0.1 \
+ --set dataSource.pg.port=5432 \
+ --set dataSource.pg.username=postgres \
+ --set dataSource.pg.password=123456
+```
+
+## Q&A
+
+### 1. 需要大量修改配置信息,如修改 application.yaml ,如何安装
+
+1. 下载完整 values.yaml
+* 最新 chart 版本:`helm show values shenyu/shenyu > values.yaml`
+* 特定 chart 版本, 如 `0.2.0`: `helm show values shenyu/shenyu --version=0.2.0 > values.yaml`
+2. 修改 values.yaml 文件
+3. 更改相应配置,使用 `-f values.yaml` 的格式执行 `helm install` 命令。
+ 如:`helm install shenyu shenyu/shenyu -n=shenyu --create-namespace -f values.yaml`
+
+### 2. 如何只安装 admin 或 bootstrap
+
+* 只安装 admin: 在 helm 安装命令末尾加上 `--set bootstrap.enabled=false`
+* 只安装 bootstrap: 在 helm 安装命令末尾加上 `--set admin.enabled=false`
+
+### 3. 如何安装旧版本 ShenYu
+
+```shell
+helm search repo shenyu -l
+```
+
+你会得到类似的输出:
+
+```shell
+NAME CHART VERSION APP VERSION DESCRIPTION
+shenyu/shenyu 0.2.0 2.5.0 Helm Chart for deploying Apache ShenYu in Kubernetes
+...
+...
+```
+
+其中 `APP_VERSION` 是 ShenYu 的版本,`CHART_VERSION` 是 Helm Chart 的版本。
+
+根据要安装的 ShenYu 版本来选择对应的 Chart 版本,在命令末尾加上 `--version=CHART_VERSION` 参数即可。例如:
+
+```shell
+helm install shenyu shenyu/shenyu -n=shenyu --version=0.2.0 --create-namespace
+```
+
+### 如何配置 JVM 参数以及修改 Kubernetes 资源配额(ShenYu 版本 > 2.5.0)
+
+* 通过 `admin.javaOpts` 和 `bootstrap.javaOpts` 来配置 JVM 参数
+* 通过 `admin.resources` 和 `bootstrap.resources` 来配置 Kubernetes 资源配额。
+
+例:
+
+```shell
+helm install shenyu shenyu/shenyu -n=shenyu --create-namespace \
+ --set admin.javaOpts="-Xms256m -Xmx512m" \
+ --set admin.resources.requests.memory=512Mi \
+ --set admin.resources.limits.memory=1Gi \
+ --set admin.resources.requests.cpu=500m \
+ --set admin.resources.limits.cpu=1 \
+```
+
+## Values 配置说明
+
+### 全局配置
+
+| 配置项 | 类型 | 默认值 | 描述 |
+|----------|--------|-----------|---------------------------------------|
+| replicas | int | `1` | 副本数量 |
+| version | string | `"2.5.0"` | shenyu 版本,不建议修改,请直接安装对应版本 |
+
+### shenyu-admin 配置
+
+| 配置项 | 类型 | 默认值 | 描述 |
+|-----------------|--------|------------------------------------------------------------------------------------------------------------|--------------|
+| admin.nodePort | int | `31095` | NodePort 端口 |
+| admin.javaOpts | string | [详见这里](https://github.com/apache/shenyu/blob/master/shenyu-dist/shenyu-admin-dist/docker/entrypoint.sh) | JVM 参数 |
+| admin.resources | dict | `{}` | K8s 资源配额 |
+
+### shenyu-bootstrap 配置
+
+| 配置项 | 类型 | 默认值 | 描述 |
+|---------------------|--------|----------------------------------------------------------------------------------------------------------------|--------------|
+| bootstrap.nodePort | int | `31195` | NodePort 端口 |
+| bootstrap.javaOpts | string | [详见这里](https://github.com/apache/shenyu/blob/master/shenyu-dist/shenyu-bootstrap-dist/docker/entrypoint.sh) | JVM 参数 |
+| bootstrap.resources | dict | `{}` | K8s 资源配额 |
+
+### 数据库配置
+
+#### 数据库总配置
+
+| 配置项 | 类型 | 默认值 | 描述 |
+|------------------------|--------|--------|-------------------------------------|
+| dataSource.active | string | `"h2"` | 使用的数据库,支持 `h2`, `mysql`, `pg` |
+| dataSource.initEnabled | bool | `true` | 初始化数据库,仅 `h2` 有效 |
+
+#### h2
+
+| 配置项 | 类型 | 默认值 | 描述 |
+|------------------------|--------|--------|-------|
+| dataSource.h2.username | string | `"sa"` | 用户名 |
+| dataSource.h2.password | string | `"sa"` | 密码 |
+
+#### MySQL
+
+| 配置项 | 类型 | 默认值 | 描述 |
+|-----------------------------------|--------|------------------------------|---------------------------------------------------------------------------------------------------|
+| dataSource.mysql.ip | string | `""` | IP |
+| dataSource.mysql.port | int | `3306` | 端口 |
+| dataSource.mysql.username | string | `"root"` | 用户名 |
+| dataSource.mysql.password | string | `""` | 密码 |
+| dataSource.mysql.driverClass | string | `"com.mysql.cj.jdbc.Driver"` | mysql driver class 名字 |
+| dataSource.mysql.connectorVersion | string | `"8.0.23"` | connector 版本([maven connector 列表](https://repo1.maven.org/maven2/mysql/mysql-connector-java/)) |
+
+### PostgreSQL
+
+| 配置项 | 类型 | 默认值 | 描述 |
+|--------------------------------|--------|---------------------------|--------------------------------------------------------------------------------------------------|
+| dataSource.pg.ip | string | `""` | IP |
+| dataSource.pg.port | int | `5432` | 端口 |
+| dataSource.pg.username | string | `"postgres"` | 用户名 |
+| dataSource.pg.password | string | `""` | 密码 |
+| dataSource.pg.driverClass | string | `"org.postgresql.Driver"` | PostgreSQL driver class 名字 |
+| dataSource.pg.connectorVersion | string | `"42.2.18"` | connector 版本([maven connector 列表](https://repo1.maven.org/maven2/org/postgresql/postgresql/)) |
+
+### application.yml 配置
+
+| 配置项 | 类型 | 默认值 | 描述 |
+|-----------------------------|--------|-------|--------------------------------------------------------------------------------------------------------------------------|
+| applicationConfig.bootstrap | string | 略 | bootstrap 配置,[bootstrap 配置说明](https://shenyu.apache.org/zh/docs/user-guide/property-config/gateway-property-config) |
+| applicationConfig.admin | string | 略 | admin 配置,[admin 配置说明](https://shenyu.apache.org/zh/docs/user-guide/property-config/admin-property-config) |
+
diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-local.md b/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-local.md
index a8c8ea526c..86b880a40d 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-local.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-local.md
@@ -7,7 +7,7 @@ description: 本地部署
本文介绍本地环境启动 `Apache ShenYu` 网关。
-> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署`shenyu`前的环境准备工作.
+> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署 `shenyu` 前的环境准备工作。
### 环境准备
diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-package.md b/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-package.md
index f74d5bf5a3..22953f815a 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-package.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-package.md
@@ -7,7 +7,7 @@ description: 二进制包部署
本文介绍使用二进制包部署 `Apache ShenYu` 网关。
-> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署`shenyu`前的环境准备工作.
+> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署 `shenyu` 前的环境准备工作。
### 启动 Apache ShenYu Admin
diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-quick.md b/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-quick.md
index a24e729482..61edeb2bf6 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-quick.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/current/deployment/deployment-quick.md
@@ -7,7 +7,7 @@ description: 单机快速部署
本文介绍单机环境快速启动 `Apache ShenYu` 网关。
-> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署`shenyu`前的环境准备工作.
+> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署 `shenyu` 前的环境准备工作。
### 环境准备
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-cluster.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-cluster.md
index b0ec75580d..38f0847c17 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-cluster.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-cluster.md
@@ -5,7 +5,7 @@ keywords: ["网关集群", "集群部署"]
description: 集群部署
---
-> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署`shenyu`前的环境准备工作.
+> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署 `shenyu` 前的环境准备工作。
本文是介绍在集群环境中快速部署`ShenYu`网关。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-custom.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-custom.md
index ed08347932..ccaee450b0 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-custom.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-custom.md
@@ -6,7 +6,7 @@ description: 自定义部署
本文介绍如何基于 `Apache ShenYu` 搭建属于你自己的网关。
-> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署`shenyu`前的环境准备工作.
+> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署 `shenyu` 前的环境准备工作。
### 启动Apache ShenYu Admin
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-docker-compose.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-docker-compose.md
index 57be598e78..83d287e8cf 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-docker-compose.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-docker-compose.md
@@ -7,7 +7,7 @@ description: Docker-compose Deployment
本文介绍使用 `docker-compose` 来部署 `Apache ShenYu` 网关。
-> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署`shenyu`前的环境准备工作.
+> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署 `shenyu` 前的环境准备工作。
### 下载 shell 脚本
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-docker.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-docker.md
index 9be4ab20a9..04cbe54d18 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-docker.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-docker.md
@@ -7,7 +7,7 @@ description: docker部署
本文介绍使用 `docker` 来部署 `Apache ShenYu` 网关。
-> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署`shenyu`前的环境准备工作.
+> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署 `shenyu` 前的环境准备工作。
### 启动Apache ShenYu Admin
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-helm.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-helm.md
index 53418a9ab9..fe681914b5 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-helm.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-helm.md
@@ -7,4 +7,4 @@ description: Helm部署
本文介绍使用 `helm` 来部署 `Apache ShenYu` 网关。
-> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署`shenyu`前的环境准备工作.
+> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署 `shenyu` 前的环境准备工作。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-local.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-local.md
index f95975f419..4b3a572701 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-local.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-local.md
@@ -7,7 +7,7 @@ description: 本地部署
本文介绍本地环境启动 `Apache ShenYu` 网关。
-> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署`shenyu`前的环境准备工作.
+> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署 `shenyu` 前的环境准备工作。
### 环境准备
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-package.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-package.md
index 10306215f8..1dfe831438 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-package.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-package.md
@@ -7,7 +7,7 @@ description: 二进制包部署
本文介绍使用二进制包部署 `Apache ShenYu` 网关。
-> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署`shenyu`前的环境准备工作.
+> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署 `shenyu` 前的环境准备工作。
### 启动 Apache ShenYu Admin
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-quick.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-quick.md
index d6e011ead6..2e9e908002 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-quick.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.4.3/deployment/deployment-quick.md
@@ -7,7 +7,7 @@ description: 单机快速部署
本文介绍单机环境快速启动 `Apache ShenYu` 网关。
-> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署`shenyu`前的环境准备工作.
+> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署 `shenyu` 前的环境准备工作。
### 环境准备
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-cluster.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-cluster.md
index 8bc5e7c79c..3d9cdc16d8 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-cluster.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-cluster.md
@@ -5,7 +5,7 @@ keywords: ["网关集群", "集群部署"]
description: 集群部署
---
-> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署`shenyu`前的环境准备工作.
+> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署 `shenyu` 前的环境准备工作。
本文是介绍在集群环境中快速部署`ShenYu`网关。
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-custom.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-custom.md
index ed08347932..ccaee450b0 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-custom.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-custom.md
@@ -6,7 +6,7 @@ description: 自定义部署
本文介绍如何基于 `Apache ShenYu` 搭建属于你自己的网关。
-> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署`shenyu`前的环境准备工作.
+> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署 `shenyu` 前的环境准备工作。
### 启动Apache ShenYu Admin
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-docker-compose.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-docker-compose.md
index 96287dcee2..c42a71faad 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-docker-compose.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-docker-compose.md
@@ -7,7 +7,7 @@ description: Docker-compose Deployment
本文介绍使用 `docker-compose` 来部署 `Apache ShenYu` 网关。
-> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署`shenyu`前的环境准备工作.
+> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署 `shenyu` 前的环境准备工作。
### 下载 shell 脚本
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-docker.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-docker.md
index df72ad1b0a..1b8d5bce95 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-docker.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-docker.md
@@ -7,7 +7,7 @@ description: docker部署
本文介绍使用 `docker` 来部署 `Apache ShenYu` 网关。
-> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署`shenyu`前的环境准备工作.
+> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署 `shenyu` 前的环境准备工作。
### 启动Apache ShenYu Admin
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-helm.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-helm.md
index 53418a9ab9..f7d3c95b72 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-helm.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-helm.md
@@ -7,4 +7,179 @@ description: Helm部署
本文介绍使用 `helm` 来部署 `Apache ShenYu` 网关。
-> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署`shenyu`前的环境准备工作.
+> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署 `shenyu` 前的环境准备工作。
+
+## 添加 Helm 仓库
+
+```shell
+helm repo add shenyu https://apache.github.io/shenyu-helm-chart
+helm repo update
+```
+
+## 安装
+
+### 说明
+
+* **安装应用**:默认同时安装 admin 与 bootstrap。
+* **服务暴露**:使用 NodePort 暴露服务,admin 默认端口为 `31095`, bootstrap 为 `31195`。
+* **数据库**:目前支持 h2, MySQL, PostgreSQL 作为数据库。默认使用 h2。
+
+### h2 作为数据库
+
+运行以下命令,会在 shenyu namespace 下安装 admin 与 bootstrap ,并创建命名空间。
+
+```shell
+helm install shenyu shenyu/shenyu -n=shenyu --create-namespace
+```
+
+### MySQL 作为数据库
+
+修改以下命令并复制,执行:
+
+```shell
+helm install shenyu shenyu/shenyu -n=shenyu --create-namespace \
+ --set dataSource.active=mysql \
+ --set dataSource.mysql.ip=127.0.0.1 \
+ --set dataSource.mysql.port=3306 \
+ --set dataSource.mysql.username=root \
+ --set dataSource.mysql.password=123456
+```
+
+## PostgreSQL 作为数据库(ShenYu 版本 > 2.5.0)
+
+修改以下命令并复制,执行:
+
+```shell
+helm install shenyu shenyu/shenyu -n=shenyu --create-namespace \
+ --set dataSource.active=pg \
+ --set dataSource.pg.ip=127.0.0.1 \
+ --set dataSource.pg.port=5432 \
+ --set dataSource.pg.username=postgres \
+ --set dataSource.pg.password=123456
+```
+
+## Q&A
+
+### 1. 需要大量修改配置信息,如修改 application.yaml ,如何安装
+
+1. 下载完整 values.yaml
+* 最新 chart 版本:`helm show values shenyu/shenyu > values.yaml`
+* 特定 chart 版本, 如 `0.2.0`: `helm show values shenyu/shenyu --version=0.2.0 > values.yaml`
+2. 修改 values.yaml 文件
+3. 更改相应配置,使用 `-f values.yaml` 的格式执行 `helm install` 命令。
+ 如:`helm install shenyu shenyu/shenyu -n=shenyu --create-namespace -f values.yaml`
+
+### 2. 如何只安装 admin 或 bootstrap
+
+* 只安装 admin: 在 helm 安装命令末尾加上 `--set bootstrap.enabled=false`
+* 只安装 bootstrap: 在 helm 安装命令末尾加上 `--set admin.enabled=false`
+
+### 3. 如何安装旧版本 ShenYu
+
+```shell
+helm search repo shenyu -l
+```
+
+你会得到类似的输出:
+
+```shell
+NAME CHART VERSION APP VERSION DESCRIPTION
+shenyu/shenyu 0.2.0 2.5.0 Helm Chart for deploying Apache ShenYu in Kubernetes
+...
+...
+```
+
+其中 `APP_VERSION` 是 ShenYu 的版本,`CHART_VERSION` 是 Helm Chart 的版本。
+
+根据要安装的 ShenYu 版本来选择对应的 Chart 版本,在命令末尾加上 `--version=CHART_VERSION` 参数即可。例如:
+
+```shell
+helm install shenyu shenyu/shenyu -n=shenyu --version=0.2.0 --create-namespace
+```
+
+### 如何配置 JVM 参数以及修改 Kubernetes 资源配额(ShenYu 版本 > 2.5.0)
+
+* 通过 `admin.javaOpts` 和 `bootstrap.javaOpts` 来配置 JVM 参数
+* 通过 `admin.resources` 和 `bootstrap.resources` 来配置 Kubernetes 资源配额。
+
+例:
+
+```shell
+helm install shenyu shenyu/shenyu -n=shenyu --create-namespace \
+ --set admin.javaOpts="-Xms256m -Xmx512m" \
+ --set admin.resources.requests.memory=512Mi \
+ --set admin.resources.limits.memory=1Gi \
+ --set admin.resources.requests.cpu=500m \
+ --set admin.resources.limits.cpu=1 \
+```
+
+## Values 配置说明
+
+### 全局配置
+
+| 配置项 | 类型 | 默认值 | 描述 |
+|----------|--------|-----------|---------------------------------------|
+| replicas | int | `1` | 副本数量 |
+| version | string | `"2.5.0"` | shenyu 版本,不建议修改,请直接安装对应版本 |
+
+### shenyu-admin 配置
+
+| 配置项 | 类型 | 默认值 | 描述 |
+|-----------------|--------|------------------------------------------------------------------------------------------------------------|--------------|
+| admin.nodePort | int | `31095` | NodePort 端口 |
+| admin.javaOpts | string | [详见这里](https://github.com/apache/shenyu/blob/master/shenyu-dist/shenyu-admin-dist/docker/entrypoint.sh) | JVM 参数 |
+| admin.resources | dict | `{}` | K8s 资源配额 |
+
+### shenyu-bootstrap 配置
+
+| 配置项 | 类型 | 默认值 | 描述 |
+|---------------------|--------|----------------------------------------------------------------------------------------------------------------|--------------|
+| bootstrap.nodePort | int | `31195` | NodePort 端口 |
+| bootstrap.javaOpts | string | [详见这里](https://github.com/apache/shenyu/blob/master/shenyu-dist/shenyu-bootstrap-dist/docker/entrypoint.sh) | JVM 参数 |
+| bootstrap.resources | dict | `{}` | K8s 资源配额 |
+
+### 数据库配置
+
+#### 数据库总配置
+
+| 配置项 | 类型 | 默认值 | 描述 |
+|------------------------|--------|--------|-------------------------------------|
+| dataSource.active | string | `"h2"` | 使用的数据库,支持 `h2`, `mysql`, `pg` |
+| dataSource.initEnabled | bool | `true` | 初始化数据库,仅 `h2` 有效 |
+
+#### h2
+
+| 配置项 | 类型 | 默认值 | 描述 |
+|------------------------|--------|--------|-------|
+| dataSource.h2.username | string | `"sa"` | 用户名 |
+| dataSource.h2.password | string | `"sa"` | 密码 |
+
+#### MySQL
+
+| 配置项 | 类型 | 默认值 | 描述 |
+|-----------------------------------|--------|------------------------------|---------------------------------------------------------------------------------------------------|
+| dataSource.mysql.ip | string | `""` | IP |
+| dataSource.mysql.port | int | `3306` | 端口 |
+| dataSource.mysql.username | string | `"root"` | 用户名 |
+| dataSource.mysql.password | string | `""` | 密码 |
+| dataSource.mysql.driverClass | string | `"com.mysql.cj.jdbc.Driver"` | mysql driver class 名字 |
+| dataSource.mysql.connectorVersion | string | `"8.0.23"` | connector 版本([maven connector 列表](https://repo1.maven.org/maven2/mysql/mysql-connector-java/)) |
+
+### PostgreSQL
+
+| 配置项 | 类型 | 默认值 | 描述 |
+|--------------------------------|--------|---------------------------|--------------------------------------------------------------------------------------------------|
+| dataSource.pg.ip | string | `""` | IP |
+| dataSource.pg.port | int | `5432` | 端口 |
+| dataSource.pg.username | string | `"postgres"` | 用户名 |
+| dataSource.pg.password | string | `""` | 密码 |
+| dataSource.pg.driverClass | string | `"org.postgresql.Driver"` | PostgreSQL driver class 名字 |
+| dataSource.pg.connectorVersion | string | `"42.2.18"` | connector 版本([maven connector 列表](https://repo1.maven.org/maven2/org/postgresql/postgresql/)) |
+
+### application.yml 配置
+
+| 配置项 | 类型 | 默认值 | 描述 |
+|-----------------------------|--------|-------|--------------------------------------------------------------------------------------------------------------------------|
+| applicationConfig.bootstrap | string | 略 | bootstrap 配置,[bootstrap 配置说明](https://shenyu.apache.org/zh/docs/user-guide/property-config/gateway-property-config) |
+| applicationConfig.admin | string | 略 | admin 配置,[admin 配置说明](https://shenyu.apache.org/zh/docs/user-guide/property-config/admin-property-config) |
+
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-local.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-local.md
index 02177d5543..eb5b7d1569 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-local.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-local.md
@@ -7,7 +7,7 @@ description: 本地部署
本文介绍本地环境启动 `Apache ShenYu` 网关。
-> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署`shenyu`前的环境准备工作.
+> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署 `shenyu` 前的环境准备工作。
### 环境准备
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-package.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-package.md
index 388ba7065d..d44c049fe8 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-package.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-package.md
@@ -7,7 +7,7 @@ description: 二进制包部署
本文介绍使用二进制包部署 `Apache ShenYu` 网关。
-> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署`shenyu`前的环境准备工作.
+> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署 `shenyu` 前的环境准备工作。
### 启动 Apache ShenYu Admin
diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-quick.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-quick.md
index a24e729482..61edeb2bf6 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-quick.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.5.0/deployment/deployment-quick.md
@@ -7,7 +7,7 @@ description: 单机快速部署
本文介绍单机环境快速启动 `Apache ShenYu` 网关。
-> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署`shenyu`前的环境准备工作.
+> 在阅读本文档前,你需要先阅读[部署先决条件](./deployment-before.md)文档来完成部署 `shenyu` 前的环境准备工作。
### 环境准备
diff --git a/versioned_docs/version-2.5.0/deployment/deployment-helm.md b/versioned_docs/version-2.5.0/deployment/deployment-helm.md
index 38c7126d0b..ec17f9ce47 100644
--- a/versioned_docs/version-2.5.0/deployment/deployment-helm.md
+++ b/versioned_docs/version-2.5.0/deployment/deployment-helm.md
@@ -8,3 +8,181 @@ description: Helm Deployment
This article introduces the use of `helm` to deploy the `Apache ShenYu` gateway.
> Before you read this document, you need to complete some preparations before deploying Shenyu according to the [Deployment Prerequisites document](./deployment-before.md).
+
+## Add Helm repository
+
+```shell
+helm repo add shenyu https://apache.github.io/shenyu-helm-chart
+helm repo update
+```
+
+## Install
+
+### Deployment prerequisites
+
+Before reading this document, you need to read [Deployment prerequisites](https://shenyu.apache.org/docs/deployment/deployment-before/) to complete the environment preparation before deploying ShenYu.
+
+### Instructions
+
+* **Install the application**: By default, both admin and bootstrap are installed.
+* **Service Exposure**: Use NodePort to expose the service, the default port is `31095` for admin and `31195` for bootstrap.
+* **Database**: Currently supports h2, MySQL, PostgreSQL as database. Default is h2.
+
+### h2 as database
+
+Running the following command will install admin and bootstrap under shenyu namespace and create namespace.
+
+```shell
+helm install shenyu shenyu/shenyu -n=shenyu --create-namespace
+```
+
+### MySQL as database
+
+Modify and copy the following command and execute.
+
+```shell
+helm install shenyu shenyu/shenyu -n=shenyu --create-namespace \
+ --set dataSource.active=mysql \
+ --set dataSource.mysql.ip=127.0.0.1 \
+ --set dataSource.mysql.port=3306 \
+ --set dataSource.mysql.username=root \
+ --set dataSource.mysql.password=123456
+```
+
+## PostgreSQL as database(Version of ShenYu > 2.5.0)
+
+Modify the following command and copy it to execute.
+
+```shell
+helm install shenyu shenyu/shenyu -n=shenyu --create-namespace \
+ --set dataSource.active=pg \
+ --set dataSource.pg.ip=127.0.0.1 \
+ --set dataSource.pg.port=5432 \
+ --set dataSource.pg.username=postgres \
+ --set dataSource.pg.password=123456
+```
+
+## Q&A
+
+### 1. you need to modify a lot of configuration information, such as modify the application.yaml, how to install
+
+1. download the complete values.yaml
+* Latest chart version: `helm show values shenyu/shenyu > values.yaml`
+* Specific chart version, e.g. `0.2.0`: `helm show values shenyu/shenyu --version=0.2.0 > values.yaml`
+2. modify the values.yaml file
+3. Change the corresponding configuration and execute the `helm install` command with the format `-f values.yaml`.
+ For example: `helm install shenyu shenyu/shenyu -n=shenyu --create-namespace -f values.yaml`
+
+### 2. How to install only admin or bootstrap
+
+* Install only admin: add `-set bootstrap.enabled=false` to the end of the helm install command
+* Install only bootstrap: add `--set admin.enabled=false` to the end of the helm install command
+
+### 3. How to install old version ShenYu
+
+```shell
+helm search repo shenyu -l
+```
+
+You will get output similar to
+
+```shell
+NAME CHART VERSION APP VERSION DESCRIPTION
+shenyu/shenyu 0.2.0 2.5.0 Helm Chart for deploying Apache ShenYu in Kubernetes
+...
+...
+```
+
+where `APP_VERSION` is the version of ShenYu and `CHART_VERSION` is the version of Helm Chart.
+
+Select the corresponding Chart version according to the version of ShenYu you want to install, and add the `-version=CHART_VERSION` parameter at the end of the command. For example
+
+```shell
+helm install shenyu shenyu/shenyu -n=shenyu --version=0.2.0 --create-namespace
+```
+
+### How to configure JVM options and modify Kubernetes resource quotas(Version of ShenYu > 2.5.0)
+
+* Configure JVM parameters via `admin.jvmOpts` and `bootstrap.jvmOpts`
+* Configure Kubernetes resource quotas via `admin.resources` and `bootstrap.resources`.
+
+e.g.
+
+```shell
+helm install shenyu shenyu/shenyu -n=shenyu --create-namespace \
+ --set admin.javaOpts="-Xms256m -Xmx512m" \
+ --set admin.resources.requests.memory=512Mi \
+ --set admin.resources.limits.memory=1Gi \
+ --set admin.resources.requests.cpu=500m \
+ --set admin.resources.limits.cpu=1 \
+```
+
+## Values configuration instructions
+
+### Global Configuration
+
+| configuration item | type | default | description |
+|--------------------|--------|-----------|----------------------------------------------------------------------------------------------------|
+| replicas | int | `1` | Number of replicas |
+| version | string | `"2.5.0"` | shenyu version, it is not recommended to modify, please install the corresponding version directly |
+
+### shenyu-admin configuration
+
+| configuration item | type | default | description |
+|--------------------|--------|-------------------------------------------------------------------------------------------------------------|--------------------|
+| admin.nodePort | int | `31095` | NodePort port |
+| admin.javaOpts | string | [see here](https://github.com/apache/shenyu/blob/master/shenyu-dist/shenyu-admin-dist/docker/entrypoint.sh) | JVM parameters |
+| admin.resources | dict | omit | K8s resource quota |
+
+### shenyu-bootstrap configuration
+
+| configuration item | type | default | description |
+|---------------------|--------|-----------------------------------------------------------------------------------------------------------------|--------------------|
+| bootstrap.nodePort | int | `31195` | NodePort Port |
+| bootstrap.javaOpts | string | [see here](https://github.com/apache/shenyu/blob/master/shenyu-dist/shenyu-bootstrap-dist/docker/entrypoint.sh) | JVM parameters |
+| bootstrap.resources | dict | `{}` | K8s resource quota |
+
+### Database configuration
+
+#### General database configuration
+
+| configuration-item | type | default | description |
+|------------------------|--------|---------|-------------------------------------------------|
+| dataSource.active | string | `"h2"` | Database to use, supports `h2`, `mysql`, `pg` |
+| dataSource.initEnabled | bool | `true` | Initialize the database, only `h2` is available |
+
+#### h2
+
+| configuration item | type | default | description |
+|------------------------|--------|---------|-------------|
+| dataSource.h2.username | string | `"sa"` | username |
+| dataSource.h2.password | string | `"sa"` | password |
+
+#### MySQL
+
+| Configuration Item | Type | Default | Description |
+|-----------------------------------|--------|------------------------------|-------------------------------------------------------------------------------------------------------|
+| dataSource.mysql.ip | string | `""` | IP |
+| dataSource.mysql.port | int | `3306` | port |
+| dataSource.mysql.username | string | `"root"` | Username |
+| dataSource.mysql.password | string | `""` | Password |
+| dataSource.mysql.driverClass | string | `"com.mysql.cj.jdbc.Driver"` | mysql driver class name |
+| dataSource.mysql.connectorVersion | string | `"8.0.23"` | connector version([maven connector list](https://repo1.maven.org/maven2/mysql/mysql-connector-java/)) |
+
+### PostgreSQL
+
+| configuration-item | type | default | description |
+|--------------------------------|--------|---------------------------|-------------------------------------------------------------------------------------------------------|
+| dataSource.pg.ip | string | `""` | IP |
+| dataSource.pg.port | int | `5432` | port |
+| dataSource.pg.username | string | `"postgres"` | username |
+| dataSource.pg.password | string | `"postgres"` | password |
+| dataSource.pg.driverClass | string | `"org.postgresql.Driver"` | PostgreSQL driver class name |
+| dataSource.pg.connectorVersion | string | `"42.2.18"` | connector version ([maven connector list](https://repo1.maven.org/maven2/org/postgresql/postgresql/)) |
+
+### application.yml configuration
+
+| configuration-item | type | default | description |
+|-----------------------------|--------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------|
+| applicationConfig.bootstrap | string | slightly | bootstrap configuration, [bootstrap configuration description](https://shenyu.apache.org/zh/docs/user-guide/property-config/gateway-property-config) |
+| applicationConfig.admin | string | omit | admin configuration, [admin configuration description](https://shenyu.apache.org/zh/docs/user-guide/property-config/admin-property-config) |