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.
helm repo add shenyu https://apache.github.io/shenyu-helm-chart helm repo update
Before reading this document, you need to read Deployment prerequisites to complete the environment preparation before deploying ShenYu.
31095
for admin and 31195
for bootstrap.Running the following command will install admin and bootstrap under shenyu namespace and create namespace.
helm install shenyu shenyu/shenyu -n=shenyu --create-namespace
Modify and copy the following command and execute.
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
Modify the following command and copy it to execute.
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
helm show values shenyu/shenyu > values.yaml
0.2.0
: helm show values shenyu/shenyu --version=0.2.0 > values.yaml
helm install
command with the format -f values.yaml
. For example: helm install shenyu shenyu/shenyu -n=shenyu --create-namespace -f values.yaml
-set bootstrap.enabled=false
to the end of the helm install command--set admin.enabled=false
to the end of the helm install commandhelm search repo shenyu -l
You will get output similar to
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
helm install shenyu shenyu/shenyu -n=shenyu --version=0.2.0 --create-namespace
admin.jvmOpts
and bootstrap.jvmOpts
admin.resources
and bootstrap.resources
.e.g.
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 \
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 |
configuration item | type | default | description |
---|---|---|---|
admin.nodePort | int | 31095 | NodePort port |
admin.javaOpts | string | see here | JVM parameters |
admin.resources | dict | omit | K8s resource quota |
configuration item | type | default | description |
---|---|---|---|
bootstrap.nodePort | int | 31195 | NodePort Port |
bootstrap.javaOpts | string | see here | JVM parameters |
bootstrap.resources | dict | {} | K8s resource quota |
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 |
configuration item | type | default | description |
---|---|---|---|
dataSource.h2.username | string | "sa" | username |
dataSource.h2.password | string | "sa" | password |
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) |
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) |
configuration-item | type | default | description |
---|---|---|---|
applicationConfig.bootstrap | string | slightly | bootstrap configuration, bootstrap configuration description |
applicationConfig.admin | string | omit | admin configuration, admin configuration description |