Skip to main content

Posts

Showing posts with the label kubernetes

Scaling the Great Workflow System: n8n on Kubernetes

n8n is an extendable workflow automation tool that empowers teams to connect APIs, services, and data pipelines with ease. While it's a breeze to get started locally, deploying n8n on Kubernetes unlocks a new level of scalability, resilience, and automation — especially when using Helm to manage the lifecycle. In this guide, we walk through deploying n8n to a Kubernetes cluster using a custom Helm-based setup, backed by official OCI charts and automation scripts that make the experience fast and production-ready. Project Structure n8n/ ├── Chart.yaml # Helm chart metadata ├── values.yaml # Configuration for n8n (DB, persistence, scaling) ├── templates/ # Kubernetes resource templates (Deployment, Service, PVC, Ingress) │ ├── _helpers.tpl │ ├── deployment.yaml │ ├── ingress.yaml │ ├── pvc.yaml │ └── service.yaml ├── scripts/ # Shell scripts for operational tasks │ ├── deploy.sh │ ├── uninstall.sh │ └── clean...

Birds-eye view of Kubernetes objects

 Kuberenetes has given a 'Software view' for the 'hardware' world. That too all resources consumed via modern definitions using json/yaml and via API.  Kuberentes segments the compute resources into Worker nodes & Master Node(s) and contain persistent entities called 'Kubernetes Objects' including Containerised applications Cluster and Associated nodes Resources to these nodes The policies and tolerances on how the applications interact and behave Below is a good diagram of the various components Each component can be defined by software/code and scalable which makes kubernetes the de-facto building framework for modern micro-service applications.  In most of the scenarios the components can be tiered into  Host/Virtual machines Kuberentes Platform Containers Microservices It is hence very important to understand the difference between traditional 2 tier model and kuberentes 4 tier model for all your Operational, Security and Observability needs for a succes...

Deploying awx into kubernetes

  Deploying awx into kubernetes Intro AWX provides a web-based user interface, REST API, and task engine built on top of Ansible. This article will summarise steps of installing AWX into Kubernetes using Operator Pre-Reqs Familiarity with Kubernetes (k8s) Bit powerful node machine of 4vCPU & 8GB RAM AWX is exposed on port 9080, so enable firewall accordingly (As default port 80 will have collision mostly in a Kubernetes environment) Build Operator from code (Optional Step) Unfortunately at the time of writing, the official repository doesn't give a operator yaml directly, but suggests to build from code. But we use a pre-built operator yaml and hence below step of creating from source-code is optional apiVersion: v1 kind: PersistentVolumeClaim metadata: creationTimestamp: null labels: io.kompose.service: n8n-claim0 name: n8n-claim0 spec: accessModes: - ReadWriteOnce resources: requests: storage: 2Gi status: {} Package components The deployment i...

Kubernetes & n8n: Setup n8n using K8S (Part 2) with TLS/https

  Kubernetes & n8n: Setup n8n using K8S (Part 2) Summary We have briefly discussed on automating various tasks using n8n and installation of n8n within Kubernetes in Part1 . In this part, we mostly concentrate on how to enable TLS (for https) and terminate before it hits n8n Pre-Reqs Setting up of n8n in Kubernetes ; Read  Part1 Knowledge of TLS, certificates Summary Steps Ensure n8n is configured properly with by http Implement Kubernetes Ingress with https There are two options from here End to end TLS by redirecting proxy to n8n  TLS termination at proxy and private network to be non-secure We follow the second option as it is easier, thus creating Ingress and pointing to n8n service Steps Steps in  lab_server Ensure Certificate is created and implemented as a secret in Kubernetes preferably in same namespace kubectl -n n8n create secret tls tls-secret --key test.key --cert test.crt Use the same tls-secret in the Ingress config apiVersion: networking.k8s.io...

Setting up Kubernetes Cluster in your home lab

Setting up Kubernetes Cluster in your home lab Summary Kubernetes is the future of automating deployment, scaling, and management of containerised applications which makes development of projects easier and portable. Additionally setting up such an environment within your local lab environment makes it easy to deploy and test out softwares at unprecedented pace. You might have already setup Kubernetes in your laptop and must have used minikube to do so. But what if you want to setup it in your remote home lab? For instance i've got various DELL server ( lab_server ) running in my home lab and don't want my laptop to bear the pain of Kubernetes, but outsource the workloads to my  lab_server  while administering from laptop k3s is a lightweight alternative and k3sup will automate such an installation into your  lab_server  and pair your laptop with it Pre-Reqs Understanding of Kubernetes sudo permission on your home lab and connectivity from your la...

Kubernetes & n8n: Setup n8n using K8S (Part 1)

Deploying n8n workflow automation with Kubernetes  Intro Aim of this article is to Publish n8n workflow automation tool into a Kubernetes environment.  n8n is quite flexible and can be used for IOT devices for your hobby projects to act as a SOAR tool at enterprise level. NOTE A new version " Scaling n8n on Kuberetes " is written for HELM chart based installation Pre-Reqs Familiarity with Kubernetes (k8s) Package components The deployment is split into following n8n-pvc0.yaml   - PersistentVolumeClaim To mount directory for n8n database and configs n8n-pvc1.yaml   - PersistentVolumeClaim To mount directory for n8n workflows n8n-deployment.yaml   - Actual deployment definitions n8n-svc.yaml   - Service To expose n8n for UI access n8n-pvc0.yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: creationTimestamp: null labels: io.kompose.service: n8n-claim0 name: n8n-claim0 spec: accessModes: - ReadWriteOnce res...