Deploy on GCP Using Helm Charts
Part 1: Setting Up a Kubernetes Cluster on GCP
Step 1: Set Up GCP Account and Enable Kubernetes Engine API
Sign In to Google Cloud Console:
Navigate to the Google Cloud Console, and click on Go to my console.
Create a Project:
Open your project picker:

Click New Project:

Provide a project name, and click Create:

Enable Kubernetes Engine API:
Navigate to APIs & Services > Library or search for it:

Search for Kubernetes Engine API and click Enable:

Step 2: Install Required Tools
Google Cloud CLI (
gcloud
)
The Google Cloud Command-Line Interface (CLI) is a cross-platform tool that allows you to manage GCP resources. To install gcloud
, please refer to the official Google Cloud SDK installation guide.
kubectl
kubectl
is the command-line tool for interacting with Kubernetes clusters. To install kubectl
, please refer to the Kubernetes documentation.
Helm
Helm is a package manager for Kubernetes applications. To install Helm, please refer to the official Helm documentation.
Step 3: Create a Kubernetes Cluster
Create the Cluster:
Run the following command to create a Kubernetes cluster:
gcloud container clusters create <CLUSTER_NAME> \
--zone <ZONE> \
--num-nodes <NUMBER_OF_NODES> \
--machine-type e2-standard-4
Replace:
<CLUSTER_NAME>
: A unique name for your cluster.<ZONE>
: The GCP zone (e.g.,us-central1-a
).<NUMBER_OF_NODES>
: Number of nodes in your cluster.e2-standard-4
: Machine type with 4 CPUs and 16GB RAM per node.
Example:
gcloud container clusters create hypers-cluster \
--zone us-central1-a \
--num-nodes 1 \
--machine-type e2-standard-4
Verify the Cluster:
Fetch cluster credentials to allow
kubectl
to interact with it:gcloud container clusters get-credentials <CLUSTER_NAME> --zone <ZONE>
Confirm the nodes are ready:
kubectl get nodes
Part 2: Deploy Hyperswitch on Kubernetes Using Helm
Step 1: Add and Update the Hyperswitch Helm Repository
Add the Hyperswitch Helm repository:
helm repo add hyperswitch https://juspay.github.io/hyperswitch-helm
Update Helm repository to fetch the latest charts:
helm repo update
Step 2: Prepare the Kubernetes Cluster
Label Kubernetes Nodes: Ensure nodes meet the minimum requirements: 4 CPUs and 6GB memory.
Label your nodes:
kubectl label nodes <your-node-name> node-type=generic-compute
List nodes to confirm labels:
kubectl get nodes --show-labels
Create a Namespace:
Create a dedicated namespace for Hyperswitch:
kubectl create namespace hyperswitch
Step 3: Install Hyperswitch
Deploy Hyperswitch using Helm. Replace
<release-name>
with your desired release name and<namespace>
with the namespace you created:
helm install hypers-v1 hyperswitch/hyperswitch-stack -n hyperswitch
Verify the Deployment:
Check the status of all deployed pods:
kubectl get pods -n hyperswitch
Ensure all pods are in the
Running
state.
That's it! Hyperswitch should be up and running on your GCP account 🎉 🎉
Expose Hyperswitch Services Locally
Use the following command for port-forwarding to access the services. Replace <namespace>
with your namespace:
kubectl port-forward service/hyperswitch-server 8080:80 -n hyperswitch > /dev/null 2>&1 & \
kubectl port-forward service/hyperswitch-control-center 9000:80 -n hyperswitch > /dev/null 2>&1 & \
kubectl port-forward service/hyperswitch-web 9050:9050 -n hyperswitch > /dev/null 2>&1 & \
kubectl port-forward service/hypers-v1-grafana 3000:80 -n hyperswitch > /dev/null 2>&1 & \
kubectl port-forward service/hypers-v1-vector 3103:3103 -n hyperswitch > /dev/null 2>&1 & \
kubectl port-forward service/mailhog 8025:8025 -n hyperswitch > /dev/null 2>&1 &
Access the services at:
App server: http://localhost:8080
Control center: http://localhost:9000
Hyperswitch Web: http://localhost:9050/HyperLoader.js
Grafana: http://localhost:3000
Vector: http://localhost:3103
Mailhog: http://localhost:8025
The quickest way to explore Hyperswitch is via the Control Center. You can create an account or sign in with your email:

A magic link will be sent to Mailhog. Click on the link in white:

Afterwards, you’ll be taken straight to the Control Center. If you're just taking things for a spin, feel free to skip authentication and start exploring right away.
Test a payment
Use can now use the Hyperswitch Control Center and make a payment with dummy card.
Refer our postman collection to try out REST APIs.
Troubleshooting
View Pod Logs: To check logs for a specific pod in Google Kubernetes Engine (GKE):
kubectl logs <pod-name> -n hyperswitch
View Events: To list events in the namespace sorted by creation time:
kubectl get events -n hyperswitch --sort-by='.metadata.creationTimestamp'
Deploy Hyperswitch Helm Chart on GKE: If deploying for the first time or reinstalling, run:
helm uninstall hypers-v1 -n hyperswitch
helm install hypers-v1 hyperswitch/hyperswitch-stack -n hyperswitch
Customization & Configuration
To customize Hyperswitch, clone the Helm chart repository and modify values.yaml
:
git clone https://github.com/juspay/hyperswitch-helm.git
Update the values.yaml
file inside hyperswitch-stack/
and apply changes with:
helm upgrade --install hypers-v1 hyperswitch/hyperswitch-stack -n hyperswitch
Uninstall Hyperswitch & Delete GKE Cluster
To uninstall Hyperswitch:
helm uninstall hypers-v1 -n hyperswitch
To delete the GKE cluster completely:
gcloud container clusters delete <cluster-name> --region <region> --project <project-id> --quiet
Explore Further
Once you are done with the test payment, you can explore more about these:
Last updated
Was this helpful?