Scaling Zammad in K8s

Title: [Helm Chart 15.6.0 or newer] Can we scale zammad-scheduler + zammad-websocket, does zammad-railsserver support auto-scaling, and can zammad-nginx autoscale?

Infos:

  • Used Zammad version: 6.5.1
  • Used Zammad installation type: Helm Chart - 15.6.0
  • Operating system: Kubernetes - v1.31.4
  • Browser + version: Google Chrome - Version 145.0.7632.160 (Official Build) (arm64)

Expected behavior:

  • Confirm whether the Helm deployment supports horizontal scaling / autoscaling (HPA) for these components:
    • zammad-scheduler: can/should it run with replicas > 1, or must it be a singleton to avoid duplicate jobs?
    • zammad-websocket: can it be scaled to multiple replicas behind a Service/Ingress, and are sticky sessions / special LB settings required?
    • zammad-railsserver: can it run with multiple replicas and be managed by HPA, and are there constraints (sessions, cache/Redis, DB connections, shared storage) to be aware of?
    • zammad-nginx: can it be run with multiple replicas and autoscaled via HPA safely (stateless), and are there any recommended resource/connection settings when scaling?

Actual behavior:

  • We haven’t changed replicas yet because we’re not sure what is supported.
  • Our goal is to handle higher traffic and want to know the correct scaling approach for these components in Kubernetes.

Steps to reproduce the behavior:

  • Deploy Zammad via Helm Chart 15.6.0 on Kubernetes.
  • Consider increasing replicas / enabling HPA for:
    • zammad-scheduler
    • zammad-websocket
    • zammad-railsserver
    • zammad-nginx
  • Before applying changes in production, we want guidance on what is safe/supported and any required configuration.