ToolJet/docs/versioned_docs/version-2.0.0-beta/setup/kubernetes-gke.md
2022-12-09 15:49:55 +05:30

2.3 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. :::

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