Getting Started with Kubernetes
"Fly my Pretties fly! ... continue the research"
When I recently started to work with Docker and Kubernetes, this Simpson's Episode came to my mind,
Is very similar to me in the very beginning trying to deploy kubernetes.
I have spent my entire career as a Sysadmin and never wrote serious code,
you know as a Sysadmin we need to write some bash/ansible/perl scripts to help our-selfs and automate stuff, but things are changing now.
I have tried different ways to use it and test it out,
I had a OpenStack cluster ready so started playing with Magnum project, it was not that hard and it really works, also tested how to do it with Murano and this deserve a larger post, unfortunately didn't documented my findings, but both are good options to run kubernetes on Openstack.
The problem with this projects is that I don't have the compute resources on my personal laptop to have an Openstack deployment and then kubernetes, so I started dig in a bit further on the way to have a kubernetes cluster up and running.
Found this guide from Kelsey Hightower, "kubernetes the hardway" this helped me a lot to understand more what is all about all the
kubernetes components, the guide is based on GCE (Google Compute Engine), I did the installation on a different cloud provider, it's challenging but worked well for me.
Eventually I had to delete my instances running on the public cloud by obvious reasons, and I found another gnarly way to run kubernetes very easy, using
Vagrant and CoreOS, I have 16GB of RAM so it works great, so far running on a 4 nodes deployment, taking half of my compute power,
but still great, it already comes with heapster, kubedns, kube-dashboard, so this is a great way to learn how to manage a kubernetes cluster.
Also there is the option released on kubernetes 1.4 is kubeadm
I haven't tested it out yet, but I've heard is a good option to start on this kubernetes world.
So you have kubernetes up and running.. now what?
And we are back again with "Mr. Burns fly my pretties" mood, so just continue the research..
Is a good idea to have a look at this video from Brendan Burns one of the kubernetes creators/founders, he is a former Google employee, now Microsoft owns his soul, he is a brilliant guy and I personal consider this is one of the best kubernetes technical explanations on internet.
I think is easier to understand the technical concepts having already a kubernetes deploy up and running and play around a bit,
that is why looks like I'm starting backwards, but believe me is better to start in that way.
I'd like to quote/highlight some of his comments that are really valuable on this talk, among others.
"kubernetes is about decouple, decouple infrastructure"
"kubernetes is really about trying to provide a cluster a decoupling between you and the hardware ops and the kernel ops below you and the app ops you providing on top.
This also means is that your app containers view the world essentially as this sea of compute, and kubernetes means it takes any machine that you have available to use
they're entirely homogeneous every single machine you create in your fleet looks and feel exactly the same and they are indistinguishable so if one of them dies it
doesn't really matter all your application sees is there slightly less compute power available in the pool, is a really powerful abstraction it means I don't have to
worry about whats's going on in the OS, I don't have to ask someone to go and install a particular version of an OS, or a particular version of a library , and I do not have
to worry that somebody else is asking for an upgrade to a library that I also depend on, this decoupling of the application from the lower level compute on which it runs really
enables both the app developers and the people who run the machines, to live easier happier more decouple lives."
"kubernetes is really intended to be an online system a control system that is responsible not just for creating the world but actually maintaining and healing the world,
so again, if something goes wrong on the middle of the night, kubernetes can come along and actually fix and you never even get paged, that is a really powerful thing for developers
and sysadmins as well."
Have fun playing with kubernetes, I have documented some of my progress but is going to be a separate post....
keep an eye here more to come.