METABYTE
Back to articles

Kubernetes Says Goodbye to SPDY: WebSockets Take Over Streaming

K8s is finally ditching SPDY for WebSockets. No panic, old clusters won't break — yet.

14 mai 20262 min read
Kubernetes Says Goodbye to SPDY: WebSockets Take Over Streaming

Ever wondered why kubectl logs --follow sometimes behaves like your grandma's Wi-Fi? The culprit might be SPDY — yes, that protocol Google cooked up back in 2009 and has been quietly living inside Kubernetes ever since.

The K8s team decided it's time to move on and started migrating from SPDY to WebSockets for streaming (exec, port-forward, logs). Think of it as swapping a vintage dial-up modem for fiber optics — minus the screeching noises and with fewer bugs.

What this means for developers

  • More stability: WebSockets is a modern standard that handles reconnections better.
  • Less headache: SPDY was tied to HTTP/2, while WebSockets work over plain HTTP/1.1 and HTTP/2. Fewer dependencies mean fewer things to break on upgrades.
  • Backward compatibility: If you're running an older cluster, nothing will break — the migration is gradual with dual-protocol support.

But as always, the devil is in the details. Some proxies and load balancers still don't play nice with WebSockets. So if your kubectl exec suddenly stops working, check if your beloved nginx isn't stripping WebSocket headers.

METABYTE studio comment: We've already updated our CI/CD pipelines and are now waiting for WebSockets to fix kubectl logs --tail=-1 — just kidding. But if your cluster gets moody, we know how to tighten the bolts.

NEXT STEP

Liked the approach?

We apply the same principles to client projects: AI, automation, products that don't die after launch.