Simplest Way to Learn Kubernetes is With its API
Almost every dev agrees that Kubernetes is quite complicated. Mainly for those who are learning and those who are just entering the world of distributed applications and containers.
Although there are excellent books on the subject, the content is still complex and requires people to think a little outside of what we are used to seeing in a traditional deployment environment. In part, this comes because we need to configure a lot of extensions and Kubernetes is ridiculously extensible, so we think Kubernetes is one big system, but it’s actually made up of lots of little APIs that manipulate files.
The Big Idea
The big idea behind Kubernetes is that everything is a small file, just as unix has shown us before, this is an excellent idea for when working with extensible configurations.
When we create a Deployment, a Pod, a Service, what we are doing is, in fact, adding an item to a database (etcd) which, in turn, is monitored by a series of control loops that we call controllers and it is these controllers that, in fact, do the work of synchronizing the desired and existing states of this cluster.
The coolest thing about all this is that Kubernetes has a very good API for us to obtain these resources.
