Hacker News new | past | comments | ask | show | jobs | submit login

    ...
    requiredDuringSchedulingIgnoredDuringExecution:
        ...
This instantly remembered me of this: https://thedailywtf.com/articles/the-longest-method

Kubernetes sometimes shows its Java roots.




> its Java roots

Citation needed.

AFAIR Borg is implemented in C++ and k8s has been implemented in Go from day 0.

Am I missing some crucial steps in k8s's history?


Apparently the first version was based on a Java prototype, but it's unclear to me how much that's visible:

https://kubernetes.io/blog/2018/06/06/4-years-of-k8s/

> Concretely, Kubernetes started as some prototypes from Brendan Burns combined with ongoing work from me and Craig McLuckie to better align the internal Google experience with the Google Cloud experience. Brendan, Craig, and I really wanted people to use this, so we made the case to build out this prototype as an open source project that would bring the best ideas from Borg out into the open.

> After we got the nod, it was time to actually build the system. We took Brendan’s prototype (in Java), rewrote it in Go, and built just enough to get the core ideas across


I remember a comment from someone on the go team (bradfitz maybe) saying that the initial plan for Kubernetes was to be implemented in java, but go was chosen because it already had a lot of momentum in the container world.


To be fair, I don't see how this could be shorter in any other language without losing readability.


You don't have to. Kubernetes should just say "required" here, and the documentation should say "Warning: this is only checked during scheduling."

printf isn't named printIntoBufferWhichMayNotFlushUntilLinefeed, and people are fine with it.


I believe there may have been a plan to allow checks during runtime at some point; although this feature is no longer necessary since https://github.com/kubernetes-sigs/descheduler#removeduplica... can do it.


They could have used: soft, hard and strict with the documentation explaining the differences.


That Java link in the article goes to a completely not-Java Chinese site btw


And the Spring link is a 404




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: