Deploy on GCP Using Helm Charts
Note: This tutorial deploys the full Hyperswitch stack, launching multiple services that may exceed compute limits on smaller clusters.
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:

If you are using an existing project, note the project ID for later use.
Enable Kubernetes Engine API:
Navigate to APIs & Services > Library or search for it:

- Search for Kubernetes Engine API and click Enable:

You'll need to provide billing information in order to proceed further. Follow the necessary steps and ensure the Kubernetes Engine API is enabled.
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.
Ensure you only have 1 version of kubectl installed to avoid enviornmental conflict.
- 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
Choose a --zone that's near you
Verify the Cluster:
Fetch cluster credentials to allow
kubectlto 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
Runningstate.
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:
| How to set up routing rules | smart-router.md |
| How to integrate Hyperswitch with your app | integration-guide.md |
| List of supported payment processors and payment methods | https://hyperswitch.io/pm-list |
| AI Powered observability to reduce cost | ai-powered-cost-observability |