Re:Kubernetes is our generation's Multics
by ferdowsi on Wednesday July 21, 2021 @04:16PM
(#27911565)
Why can you not have downtime-free deploys? You tell your applications to drain connections and gracefully exit on SIGTERM. https://pkg.go.dev/net/http#Server.Shutdown
If your server is incapable of gracefully exiting, that's not a K8s problem.
Re:Kubernetes is our generation's Multics
by afrodc_ on Wednesday July 21, 2021 @04:20PM
(#27911614)
> Why can you not have downtime-free deploys? You tell your applications to drain connections and gracefully exit on SIGTERM. https://pkg.go.dev/net/http#Server.Shutdown
> If your server is incapable of gracefully exiting, that's not a K8s problem.
Also whatever load balancer/service mesh you have can be configured for 503 rerouting within DC as necessary too.
Re:Kubernetes is our generation's Multics
by bajsejohannes on Thursday July 22, 2021 @05:42AM
(#27917061)
> You tell your applications to drain connections and gracefully exit on SIGTERM.
The problem is that k8s will send requests to your application after SIGTERM. So you have to wait some amount of time before shutting down to allow for that.
This was at least the case last time I used k8s, and it seemed like it was due to the distributed architecture, so something that was more than a mere bugfix away.
Re:Kubernetes is our generation's Multics
by rhacker on Wednesday July 21, 2021 @04:55PM
(#27912048)
K8s has like, probably the most complete support for readiness/no downtime deploys in the whole damn industry so it's surprising to hear that...
https://cloud.google.com/blog/products/containers-kubernetes...
The problem to me is that Kubernetes is not solving a specific problem, but a whole slew of problems. And some of them it's solving really poorly. For example, you can't really have downtime-free deploys in kubernetes (set a longish timer from SIGTERM to increase the chance that there's no downtime).
Instead I'd rather solve each problem in a good way. It's not that hard. I'm not implementing it from scratch, but with good tools that exists outside of kubernetes and actually solve a specific problem.