still thinking about this one
@nixCraft I can’t wait to maintain someone’s implementation of Kubernetes written in Bash.

@anderseknert we wrote k8s in bash in 2015. We made mistakes. It caused problems. It was rocket surgery.

Moving to k8s very much helped make things manageable because there are docs and examples and help available. It is still really hard but there is now a realistic chance others can pitch in and build things in our environment.

@myforest yeah, I have worked in a team where we implemented container orchestration before k8s too, although mostly in Python, and obviously not covering all of what k8s does. We were quite relieved to leave that behind. Standardizing on *something*, even if something complex, is almost always a big win.
@anderseknert @myforest I always struggle to decide on which standard to adhere to because some of them end up as a vendor lock in.
@myforest @anderseknert What were your k8s pain points? Honestly curious.

@bassplayer

In my bash script version I was doing multi-region which these days we'd call multi-cluster.

It deployed to Dallas, checked it was OK, then London, checked it was OK and then Sydney.

Except I got a boolean wrong in the check. One day it walked around the planet breaking each data center and moving on to the next one.

If my script was part of something big and well-used (such as k8s) then someone else would have spotted it before me.

@bassplayer I stayed off k8s for a while because it was immature and the team were just getting used to Docker.

It was quite a jump to move to k8s, but the team figured it out along the way and things were great.

@anderseknert @nixCraft It seems to take as much bash to manage the K8S installation as it does to do the actual task.
Most distributed applications are smaller than the weight K8S brings on.
@Flux @nixCraft yes, and most non-distributed applications are smaller than the OS they run on.
@anderseknert @nixCraft which is frankly depressing. Because most people include the entire pile of user land in the measure of the OS. And almost nobody strips their kernels or user land down to the minimum. So we keep burning more power than we need to, if only keeping RAM refreshed. The all-in energy cost of large software, even its unused parts, hurts.