Skip to content
DevOps

Running Laravel in Production on Kubernetes with RKE2

Our production setup: RKE2 clusters, Helm charts, CloudNativePG for PostgreSQL, and a full observability stack with Prometheus, Grafana, Loki, and Tempo.

Date April 9, 2026
Author Admin
Read Time 1 min read
Category DevOps

Our Kubernetes Journey

We run all production workloads on RKE2 (Rancher's Kubernetes distribution). Here's how we set up a production-grade environment for Laravel applications.

The Stack

  • Cluster: RKE2 with automated node provisioning
  • Database: CloudNativePG (PostgreSQL operator) with automated backups
  • Cache: Valkey (Redis fork) for sessions and cache
  • Secrets: OpenBao for secret management, injected at pod startup
  • Monitoring: Prometheus + Grafana for metrics, Loki for logs, Tempo for traces
  • Ingress: nginx ingress controller with cert-manager for TLS

Helm Charts for Laravel

Each Laravel service has a Helm chart that defines deployments for the web server, queue workers, scheduler, and migrations job. Environment-specific values files handle staging vs production configuration.

CI/CD Pipeline

Our Forgejo Actions pipeline runs tests, builds Docker images, pushes to the registry, and triggers Helm upgrades — all in under 5 minutes for a typical service.