How to begin with... Kubernetes!
Chetan Sharma
Technical Lead @ Infoedge India Ltd. | DevOps/SRE Enthusiast | Kubernetes, Docker, Containerd, Jenkins, CI/CD, AWS, Bash, Puppet
Since I've started working on Kubernetes I have been very much enthusiastic whenever it came about working with Kubernetes and I bet most of you feel the same way. I've learned setting up the clusters different ways starting with Kubespray (ansible based automated approach) which happened to be easier way for me. Refer this -> shorturl.at/dPSU7
Knowledge around K8s developed based on what I had got to work upon but I felt that knowledge was very much limited like:
- Thought every K8s component only run in containers (controller/scheduler/etcd/cni etc). (I feel stupid now!)
- Whenever any component broke or any functionality was misbehaving; It was difficult to debug the things. We were like killing their pods & restarting the things.
- If still issue didn't get solved, we had to run the Kubespray role in some of the edge cases to make it fixed.
- How the things communicate or attached to each other was way above my thinking!
The way I started gave me this idea of K8s until I myself did the setup *The Hard Way* authored by *Kelsey Hightower* along with Youtube video by #Justmeandopensource -> https://www.youtube.com/watch?v=2bVK-e-GuYI
I did this on physical/VM/Vagrant/GCP to get the understanding of it. Every time I used to do, things were smooth until I get on *Networking* part which was a horror part for me. No matter what I tried pod networking never worked the expected way. May be I was wrong every time because of some unnecessary articles I followed; It's not like they are wrong but I had mixed the things which helped ;-) me breaking the things... :-| hahaha...
Kubernetes - The Hard Way by Kelsey Hightower cleared a lot of things for me, making me understand how exactly Kubernetes things are connected to each other & how exactly they work. This way you know if anything is broken how to debug & fix instead of solely searching Google for the help. I'm not saying this will make you a K8s admin in a few day but surely that will change the way you think Kubernetes is & you'll be able to fix the things because you know what part is broken.
In my opinion, that doesn't matter how you are setting up the Kubernetes you should be having the basic understanding to fix the things while broken and that just doesn't come easily. There're dozens of way doing the thing (absolutely automated) and it's all up to you which you choose but you need to understand how that is making the things possible for you. In my case, Kubespray made the things easier for me in beginning but I used to be totally awestruck while things used to break. Although K8s is very stable thing but to reach that level it requires a lot of effort if you're not using managed service (EKS/GKE etc.) but things usually used to break in my past mainly because of the bad infra :-( I hope they improve that.
I advise everyone who is keen & beginning to learn Kubernetes to start their journey with Kelsey's way, at least a few times. Once you're familiar, you can automate with what you know or like & explore the ocean full of K8s knowledge. Just follow this & don't mix up the things with other articles else you may end up in situations like I had; but that does come up with more adventure as you dig up a lot to make the things work; hence gaining more knowledge.