Deploy Redis on K8s
Helm-based.
Overview
Running Redis on Kubernetes is the practice of running a stateful service in a platform that defaults to stateless. StatefulSet for stable identity, PersistentVolume for real persistence, replication for HA, and deliberate resource requests for stable performance. The Bitnami chart captures most of the patterns; the discipline is configuring it for the workload, not reinventing it.
- Helm-based deployment. Bitnami Redis chart as the default starting point. Battle-tested defaults; production-ready.
- StatefulSet. Stable network identity per replica. Matches Redis’s data model better than Deployment ever could.
- PersistentVolume per instance. Each Redis instance has its own PV. Persistence that survives pod rescheduling.
- Replication plus resource requests. Master-replica or Sentinel for HA; CPU and memory requests prevent eviction under cluster pressure.
The approach
Three habits make Redis-on-Kubernetes stable in production: Helm chart first, deliberate resource requests, and Prometheus monitoring from day one.
- Bitnami Redis chart. Battle-tested defaults. Resist the urge to fork unless the team has a specific reason.
- Resource requests matched to
maxmemory. Memory request matches Redismaxmemorywith headroom. Avoids OOMKill under load. - AntiAffinity for replicas. Spread replicas across nodes. Single-node failures stop being incidents.
- Persistent storage plus Prometheus. Storage class with appropriate IOPS for the workload; Redis exporter feeds Prometheus.
Why this compounds
Each deployment teaches the team a little more about running stateful services on Kubernetes. The team’s internal Helm values templates capture the conventions; new Redis deployments inherit the patterns instead of recreating them through outage postmortems.
- Reproducible deploys. Helm-driven Redis is consistent across clusters. Drift shrinks.
- Resilience improves. Multi-replica with AntiAffinity. Single-node failures stop becoming customer-impact events.
- Reusable templates. Internal Helm values templates capture team defaults. New deployments are minutes, not hours.
- Year-one investment, year-two habit. First deployment is investment. By the third, the template is settled.