Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Apart from that, the runtime module has also been overhauled completely since this blog post. In particular, the new `Controller`[0] adds a bunch of stuff over `Informer` to make it usable in production (merging duplicate queued events, parallel execution, delayed retries, fixed a bunch of internal race conditions, etc). We really need to make a 2020 edition of this blog post, but we do at least have an updated example controller.[1]
(Not to dunk on TechnoSophos, none of that existed back when the blog post was written.)
Disclaimer: Co-maintainer of kube-rs
[0]: https://docs.rs/kube-runtime/0.47.0/kube_runtime/controller/...
[1]: https://github.com/clux/kube-rs/blob/8611e5cdd23d4ff487fdcea...
As the maintainer of the Rust bindings that the library used in the article (kube) is backed by, I can confirm that Kubernetes' openapi spec requires a lot of Kubernetes-specific handling to generate a good client than generic openapi generators do not provide.
See https://github.com/Arnavion/k8s-openapi/blob/master/README.m... for a full description.
I also confirm that I keep it up-to-date with Kubernetes releases and have been doing so for the ~3 years that it's been around. Not just the minor ones every few months, but even the point ones; these days the latter usually only involves updating the test cases instead of code changes and they're done within a few hours of the upstream release.
Libraries, documentation, tooling--all fixable and all being worked on. Without mega-corp support, of course, so it will take more time. But even today it's absolutely usable for many scenarios.
Multicore--Node, Ruby, Python etc. all seem to be doing fine without it. Nevertheless, it's coming with OCaml 5--this year.
Windows--support has gotten better over the last few years but still being worked on.
Hostility--don't know what to tell you about that one--it's not my everyday experience. Sounds like a one-off.
Syntax and style guidelines--they are the way they are for a reason (no pun intended), and after a while when you understand the reason for each quirk, it just falls into place.
Table stakes features--many other languages out there, but IMHO the really table stakes features are being able to actually model your domain properly in a language. Which IMHO very few languages outside of OCaml get right. E.g. here's someone trying to propose abstract data types for Go without much luck: https://github.com/golang/go/issues/43123
Related posts
- How to create a react app with Go support using WebAssembly in under 60 seconds
- learn about The OpenSource End-to-End DevOps tool - Devtron, Heroku for Kubernetes. Livestream on 8th July 3:00 PM UTC
- Understanding Kubernetes Architecture
- Zero to Kubernetes in 5 Mins
- Building a Playful File Locker with GoFr