Best practices for deploying n8n in a Kubernetes cluster using Terraform on GCP

Best practices for deploying n8n in a Kubernetes cluster using Terraform on GCP

Hi everyone,

I’m working on deploying n8n in a Google Cloud Platform (GCP) environment, using Terraform to provision and manage infrastructure, and running n8n within a Kubernetes cluster (GKE).

I’m looking for best practices or recommended architecture patterns for this setup. Specifically:

  • How should I structure the Terraform modules to handle GKE, networking, and n8n configuration?
  • What’s the recommended way to handle persistent storage (e.g., for workflows and execution data)?
  • Any tips for scaling, security, and upgrades when running n8n in Kubernetes?
  • Should I use Helm charts, or is there a better deployment approach?
  • Any example configurations or GitHub repositories that demonstrate good practices?

My goal is to have a robust, maintainable, and production-ready setup that can scale with demand.

Any guidance or examples from your experience would be greatly appreciated.

Thanks in advance!
— Michel

hello @Michel_Klingler

Why do you need Kubernetes? It’s a very complex solution for such a small n8n

We have n8n on an AWS EC2 instance as a Docker container. It flawlessly works with about 10-15k executions per day. For a more complex scenario, we may use multiple instances.

And it’s very cheap and easy to use via Terraform in comparison to other containerized options

Just for maintenance and ease of deployment, we where looking for a more robust solution.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.