DQE Seal

Department of Questionable Engineering

DQE • doqe.org
HomeInventions › Kubernetes Kettle

Kubernetes Kettle

Hot water delivery containerized across three pods. Autoscales to zero. Cold-water mode during startup.

Patent Pending — DQE-KK-2024-007
← All Inventions

The Kubernetes Kettle solves the operational complexity of boiling water by distributing the workload across a three-pod cluster managed by a dedicated Kubernetes node. Each pod handles a distinct phase of the water heating lifecycle, enabling independent scaling, rollback, and — crucially — a Helm chart.

To request hot water, users submit a HotWaterRequest Custom Resource Definition to the cluster. The controller reconciles the desired state (boiling) with the current state (not boiling) and dispatches work accordingly. If the cluster is idle, pods have autoscaled to zero and there is a 45–90 second cold-start delay before any thermal activity begins. This is expected behavior and is documented in the runbook.

Pod Architecture

  • Pod 1 — water-intake-validator: Accepts water from the tap. Validates volume against the WaterVolumePolicy admission webhook. Rejects requests exceeding 2L without an override annotation. Logs every milliliter.
  • Pod 2 — temperature-computation-engine: Computes the target temperature based on request parameters (tea, coffee, instant noodles). Exposes a /metrics endpoint. Requires 512Mi memory due to the temperature lookup table.
  • Pod 3 — thermal-application-service: Applies heat. Communicates target temperature from Pod 2 via gRPC. Reports current temperature to Prometheus every 500ms. Triggers a PagerDuty alert if temperature deviates by more than 1°C from target for over 30 seconds.

Autoscaling Behavior

  • HPA triggers scale-up at 70% CPU utilization on Pod 3
  • KEDA scales all pods to zero after 10 minutes of inactivity
  • Scale-from-zero cold start: 45–90 seconds (water will be cold during this period)
  • Max replicas: 5 per pod (designed for hypothetical enterprise kettle farms)
  • Pod Disruption Budget: minimum 1 Pod 3 replica during cluster upgrades; hot water disruption is a known maintenance window risk

Deployment

  • Deployed via Helm chart dqe/kubernetes-kettle v1.3.2
  • GitOps managed via ArgoCD; changes to boiling point require a pull request
  • Rolling updates supported; a new boiling algorithm can be deployed with zero planned downtime (unplanned downtime during rollout is noted in the changelog)
  • Secrets (WiFi password for remote kettle monitoring) stored in Vault; rotated quarterly

Comparison to Legacy Kettle

  • Legacy kettle: flip switch, wait 2 minutes, done
  • Kubernetes Kettle: submit CRD, wait for pod scheduling, wait for cold start (if scaled to zero), wait for temperature computation, wait for heat application, receive water; 3–6 minutes typical
  • Improvement: Full GitOps lifecycle, distributed observability, Helm-managed configuration, and a very impressive architecture diagram