Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
English
This article provides a tutorial on deploying, running and scaling Joget on Google Kubernetes Engine (GKE). GKE is a managed Kubernetes service offered by Google Cloud.
Info
If you are not familiar with Kubernetes, refer to Joget on Kubernetes for a quick introduction.

...

Access the Google Kubernetes Engine console. In the Clusters page, click on the Create cluster button.

Image RemovedImage Added

You will be presented with several configuration pages. Adjust the cluster configuration as desired, or just use the default values.

...

Warning
Do take note of the Zone used as this will be used for storage configuration later.

Image RemovedImage Added

In the Node Pools page, you can configure the number of nodes and scaling options.

Image RemovedImage Added

Under the Nodes page, you can choose the machine configuration to specify the machine type, CPU and disk options.

Image RemovedImage Added

Click on the CREATE button at the bottom to start creating the cluster.

When the cluster has been created, you will see a tick next to the cluster name, and a Connect button will become available.

Image RemovedImage Added


2. Deploy MariaDB Database

...

In the Marketplace, search for MariaDB, click on the MariaDB entry and click on the Configure button.

Image RemovedImage Added

Image RemovedImage Added

Change the configuration as required, or just use the default values, and click on Deploy. Wait for a few minutes while the MariaDB instance is starting.

Image RemovedImage Added

Image RemovedImage Added

Once the status is OK, click on the name and view the details. Under Details, look for MariaDB root password and click on preview secret data. 

Warning
Copy the database root password and service name for the database setup later.

Image RemovedImage Added


3. Deploy Google Cloud Filestore Persistent Volume

...

Access the Google Cloud Filestore console. The first time you access it, you will need to click on the Enable button.

Image RemovedImage Added

In the Instances page, click on the Create Instance button.

Image RemovedImage Added

Key in an Instance IDFile share name and Region/Zone, then click on the Create button.

Name

Value

Instance ID

joget-storage

File Share Name

volume1

Warning
IMPORTANT: You must create the Filestore instance in the same zone as your Kubernetes cluster for it to be accessible to the cluster.

Image RemovedImage Added

Once the instance has been initialized, take note of the IP address and File share name to be used later.

Image RemovedImage Added


4. Deploy Joget DX

...

In the GKE Clusters page, click on the Connect button for your cluster, then Run in Cloud Shell.

Image RemovedImage Added

Image RemovedImage Added

Once you have access to the Cloud Shell command line, use your favourite editor (e.g. vi or nano) to save your YAML into a file.

...

Code Block
languagebash
kubectl apply -f joget-dx7-tomcat9-gke.yaml


Image RemovedImage Added

Wait for a few minutes while the required Kubernetes objects (Deployment, PersistentVolume, PersistentVolumeClaim, Deployment, Service and ClusterRoleBinding) are created for the Joget deployment.

You can view the deployment in the Workloads page in the GKE console.

Image RemovedImage Added

Image RemovedImage Added

In the Services & Ingress page, you can see an External load balancer service with a corresponding Endpoint URL.

Click on that Endpoint URL to access Joget.

Image RemovedImage Added


5. Setup Database

...

Key in the previously created MariaDB service name in the Database Host, and the root password in the Database Password fields. Click on Save.

Image RemovedImage Added

Once the setup is complete, click on Done and you will be brought to the Joget App Center.

Image RemovedImage Added


6. Scale Deployment

...

Key in the required number of replicas (pods) that you require and click on the Scale button.

Image RemovedImage Added

The desired number of pods will initialize and startup. These instances will have session replication configured, so load can be balanced between them and transparent failover will happen in the event of failure.

Image RemovedImage Added


Sample Deployment YAML

...