ToolJet/docs/versioned_docs/version-1.x.x/setup/kubernetes-gke.md
2024-04-29 17:12:28 +05:30

3.2 KiB

id title
kubernetes-gke Kubernetes (GKE)

Deploying ToolJet on Kubernetes (GKE)

:::info You should setup a PostgreSQL database manually to be used by ToolJet. We recommend using Cloud SQL since this guide is for deploying using GKE. :::

If you have any questions feel free to join our Slack Community or send us an email at hello@tooljet.com.

Follow the steps below to deploy ToolJet on a GKE Kubernetes cluster.

  1. Create an SSL certificate.
curl -LO https://raw.githubusercontent.com/ToolJet/ToolJet/main/deploy/kubernetes/GKE/certificate.yaml

Change the domain name to the domain/subdomain that you wish to use for ToolJet installation.

  1. Reserve a static IP address using gcloud cli
gcloud compute addresses create tj-static-ip --global
  1. Create k8s deployment
curl -LO https://raw.githubusercontent.com/ToolJet/ToolJet/main/deploy/kubernetes/GKE/deployment.yaml

Make sure to edit the environment variables in the deployment.yaml. You can check out the available options here.

:::info If there are self signed HTTPS endpoints that Tooljet needs to connect to, please make sure that NODE_EXTRA_CA_CERTS environment variable is set to the absolute path containing the certificates. You can make use of kubernetes secrets to mount the certificate file onto the containers. :::

  1. Create k8s service
curl -LO https://raw.githubusercontent.com/ToolJet/ToolJet/main/deploy/kubernetes/GKE/service.yaml
  1. Create k8s ingress
curl -LO https://raw.githubusercontent.com/ToolJet/ToolJet/main/deploy/kubernetes/GKE/ingress.yaml

Change the domain name to the domain/subdomain that you wish to use for ToolJet installation.

  1. Apply YAML configs
kubectl apply -f certificate.yaml, deployment.yaml, service.yaml, ingress.yaml

:::info It might take a few minutes to provision the managed certificates. Managed certificates documentation. :::

You will be able to access your ToolJet installation once the pods, service and the ingress is running.

If you want to seed the database with a sample user, please SSH into a pod and run:

npm run db:seed:prod --prefix server

This seeds the database with a default user with the following credentials:

emai: dev@tooljet.io

password: password

Upgrading to the Latest Version

The latest version includes architectural changes and, hence, comes with new migrations.

If this is a new installation of the application, you may start directly with the latest version. This guide is not required for new installations.

Prerequisites for Upgrading to the Latest Version:

  • It is crucial to perform a comprehensive backup of your database before starting the upgrade process to prevent data loss.

  • Ensure that your current version is v2.23.0-ee2.10.2 before upgrading.

  • Users on versions earlier than v2.23.0-ee2.10.2 must first upgrade to this version before proceeding to the latest version.

For specific issues or questions, refer to our Slack.