Migrate to Community Edition Helm Chart v2
To migrate to the Community Edition running on Helm chart v2 (helm.appsmith.com), follow the instructions in the guide below. Helm chart v2 includes the Horizontal Pod Auto Scaling (HPA) feature, which allows the Appsmith pods to scale automatically based on the current workload.
Backup data
Take a backup using the appsmithctl backup
command, follow the steps below:
-
Run the following command in the old pods to create a data backup:
kubectl exec -it appsmith-0 -n <NAMESPACE> appsmithctl backup
-
Copy the backup to the local disk. The actual backup file's name should be available in the output of the previous step.
kubectl cp <NAMESPACE>/<POD_NAME>:/appsmith-stacks/data/backup/<APPSMITH_BACKUP_GENERATED_NAME>.tar.gz <APPSMITH_BACKUP_GENERATED_NAME>.tar.gz
Uninstall old Helm chart
Run the below command to uninstall the existing helm chart:
helm uninstall appsmith -n <namespace>
Install v2 Helm chart
It's recommended to install the new Appsmith helm chart in the same namespace. However, you may choose to create a new namespace also.
-
Run the below command to install Appsmith in a new namespace:
helm install appsmith/appsmith --generate-name --version 2.0.0 -n <NAMESPACE_NAME> --create-namespace
The command generates the output as shown below:
NAME: appsmith-1669367715
LAST DEPLOYED: Fri Nov 25 14:45:17 2022
NAMESPACE: <NAMESPACE_NAME>
STATUS: deployed
REVISION: 1
TEST SUITE: None -
In the earlier version of Appsmith, MongoDB, and Redis instances were all running within the same container. However, with the v2 Helm chart, you now have the option to run these in separate containers. If you wish to do so, you can modify the values for Redis and MongoDB parameters in the
values.yaml
file as shown below:-
Run the below command to see the parameter configuration in
values.yaml
file.helm show values appsmith/appsmith --version 2.0.0 > values.yaml
-
Locate the below parameters for MongoDB and Redis in
values.yaml
file and modify them as shown below:## Redis parameters
redis:
enabled: true
auth:
enabled: false
replica:
replicaCount: 1
mongodb:
enabled: true
service:
nameOverride: appsmith-mongodb
auth:
rootUser: root
rootPassword : <ROOT_PASSWORD>
replicaCount: 2
architecture: "replicaset"
replicaSetName: <REPLICA_SET_NAME>
-
-
Run the below command to install Appsmith:
Ensure that the APPSMITH_CUSTOM_DOMAIN
environment variable is not set in the docker.env
file when deploying Appsmith on Kubernetes. To configure the TLS on Kubernetes, see the Configuring TLS section.
helm install appsmith/appsmith --generate-name --version 2.0.0
Once Appsmith pods are up and running, proceed with copying and restoring the backup.
Copy backup
Run the below command to move the Appsmith backup from a local drive or s3 into the pod /appsmith-stacks/data/backup/
.
kubectl cp <PATH_TO_BACKUP_TAR> <NAMESPACE>/appsmith-<POD_NAME>:/appsmith-stacks/data/backup/
Restore backup
Now, that you have copied the backup into the pod, proceed to restore the backup by running the below command:
kubectl exec -it appsmith-0 -n <namespace> appsmithctl restore
Congratulations, you have successfully migrated to the Appsmith Community Edition Helm chart v2 installation.
Expose Appsmith
You may choose to expose Appsmith service to internet. For more information, see Expose K8s to internet?
Troubleshooting
If you face issues, contact the support team using the chat widget at the bottom right of this page.