ToolJet/docs/versioned_docs/version-1.x.x/setup/kubernetes-gke.md
Karan Rathod 82b14338eb
[docs]:add contact us info for all setup pages (#7195)
* add contact us info for all setup pages

* fix text alignment issue on tooljet-subpath setup pages

* remove contact us text from the readme file
2023-08-03 13:09:07 +05:30

2.4 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