
Kubernetes Opportunities, Challenges Escalated in 2019 - kwang0126
https://www.sdxcentral.com/articles/news/kubernetes-opportunities-challenges-escalated-in-2019/2019/12/
======
streetcat1
The article failed to mention operators, which is the most interesting part of
Kubernetes and where I see most of its future growth.

I hope to see the operator ecosystem grow to support more than just the
management of existing open-source tools.

~~~
BossingAround
Can someone explain operators to me? I've tried to get it working, I really
did. But:

\- The Kubernetes API was not very well documented (this could have been my
fault, I'm new to Golang, maybe I just didn't know how to read the docs well)

\- There were no substantial tutorials/walkthroughs. There was one large
tutorial by Red Hat, and that's about it. The tutorial itself wasn't very
good. It was more like "copy-paste this 300-line Go code and there you go".

\- There are no in-depth articles about the way it's supposed to work. For
example, if I want to upgrade a database using operators, how do I go about
it? This is particularly baffling since operators, I thought, were supposed to
be for complex, stateful apps, such as DBs.

\- It seems like way too much work compared to helm charts. If I want a
3-container app, that is FE <-> BE <-> DB, that'll be in hundreds of lines of
Go code.

I just don't seem the benefits. Again, all of the above may be my fault. But,
I'd love to get some great articles/courses on Kubernetes operators. At this
point, I would definitely not recommend operators to anyone.

~~~
streetcat1
Yes.

The basic operator idea comes from the SRE trenches. The idea is that any time
a human touches a system (besides a crisis) , then it is a bug in the system
design.

So an operator is a robot that performs the normal system duties. Currently,
those can be backup, auto-scaling, etc. The "instructions" to this robot are
declarative. I.e. the user specifies the desired state of the world (for
example, in a yaml file) , and the robot makes the actual state equal to the
desired state.

The best way to learn how to create operators is to look at existing operator
code.

My preference are knative ([https://knative.dev/](https://knative.dev/)) and
Agones ([https://agones.dev/site/](https://agones.dev/site/))

For a book I would recommend:

[https://learning.oreilly.com/library/view/programming-
kubern...](https://learning.oreilly.com/library/view/programming-
kubernetes/9781492047094/)

Later this month, I hope to release a new AutoML platform which has those
robots for all stages of the ML pipeline.

