Deployment and Maintenance / Helm Deployment
This document mainly introduces how to deploy DataFlux Func via Helm. Helm currently only supports the GSE version, and older versions can be directly upgraded to the GSE version.
1. System and Environment Requirements
Before installing DataFlux Func, please make sure that the environment meets the following conditions.
1.1 System Requirements
The cluster running DataFlux Func must meet the following requirements:
- Kubernetes > 1.14
- Helm >= 3.8
- Network bandwidth >= 10Mbps
- Memory capacity >= 4GB
- CPU cores >= 2
- When using an external MySQL, the MySQL version must be 5.7 or higher, enable the
innodb_large_prefix
parameter, and the database encoding must beutf8mb4
- When using an external Redis, the Redis version must be 5.0 or higher, with at least 1 GB of available memory, non-cluster version
DataFlux Func storage should preferably use shared storage; hostPath has drawbacks
2. Command-line Deployment
2.1 Get Cluster Storage Class
Execute the command:
Bash | |
---|---|
1 |
|
Output as follows:
Text Only | |
---|---|
1 2 |
|
2.2 Check Helm Version
Execute the command:
Bash | |
---|---|
1 |
|
2.3 Perform Installation
Bash | |
---|---|
1 2 3 |
|
{Release Name} is the Helm alias, {Namespace} will be created if it does not exist, {Storage Class} is the storage class name from step one, {Host Name} is the ingress domain name, installation successful allows access
Helm deployment by default installs MySQL and Redis. You can also use external MySQL and Redis. Detailed deployment methods are found in the README document within the charts package
2.4 Verify Installation
Execute the command:
Bash | |
---|---|
1 |
|
STATUS as deployed indicates success
You can also access the specified {Host Name} via a browser.
2.5 Initialize System
Access the set ingress domain via a browser, you can initialize with default configurations, customize your settings, or save and initialize the database with defaults.
3. Func Upgrade
3.1 Get values configuration
Execute the command:
Bash | |
---|---|
1 2 |
|
3.2 Get Current Func Version
Execute the command:
Bash | |
---|---|
1 |
|
3.3 Upgrade Func
Execute the command:
Bash | |
---|---|
1 2 3 |
|
3.4 Verify Upgrade Results
Execute the command:
Bash | |
---|---|
1 |
|
4. Other Issues
4.1 Browser Returns 502
If Helm status shows deployed
, troubleshoot according to the following steps:
Check If Ingress Was Created Successfully
Check ingress information:
Bash | |
---|---|
1 |
|
Check Pod Status
Generally caused by pvc
creation failure, solve based on actual situation
Check pod status:
Bash | |
---|---|
1 |
|
Output as follows:
Text Only | |
---|---|
1 2 3 4 5 6 7 8 9 |
|
Check PVC status:
Bash | |
---|---|
1 |
|
Output as follows:
Text Only | |
---|---|
1 2 3 |
|
4.2 Error «cannot re-use a name that is still in use»
If you encounter the error «cannot re-use a name that is still in use» during deployment, it means that there is already a {Release Name}
in the current namespace.
You can either delete the old {Release Name}
before installation or change the {Release Name}
.
4.3 Error «Connection to Connector Timed Out»
If you find the error «Connection to Connector Timed Out» when creating a connector, please restart all pods related to func.
Below are func-related deployments:
- func-server
- func-worker-0
- func-worker-1-6
- func-worker-7
- func-worker-8-9
- func-worker-beat
The func of func-server is {Release Name}, which changes with {Release Name}