If you responded to at least one of these questions affirmatively, this article is for you. If there is something else troubling you with Kubernetes that I didn't mention, well, stick until the end, maybe you will be able to find something that will be useful and will invoke further research.
Let's start from the beginning - what Kubernetes is?
If you have come across the Kubernetes official documentation (which I find quite useful, to be honest), they define Kubernetes like this:
Kubernetes is a portable, extensible, open source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It has a large, rapidly growing ecosystem. Kubernetes services, support, and tools are widely available.
I find this explanation good and quite encompassing. Especially if you have experience with Kubernetes and have worked with it. But, if you haven't had time to check it out, or you are starting to get into the Kubernetes overwhelming world, this definition doesn't tell you a lot.
Now, I will not go into details and dissect this explanation from the documentation, rather, I will provide you with different sources where you can find the answers yourself.
Different Perspectives
As it happens with the world around us, we see everything from a different perspective. The same is true for Kubernetes - being it a small world on its own, we may approach it from different perspectives.
Those perspectives may vary from a person to person, so I've decided to list the most common ones. We will then use these different perspectives to list some sources where you can find the answers you are looking for.
- A Software Developer who is interested in developing and running your application on Kubernetes, but they don't know where to start.
- An Operations Engineer (or DevOps Engineer as some might say) interested in setting up the Kubernetes cluster, but are not sure what option to choose, what structure it will have, and so on.
- A Product Owner who heard about it and wants to know more about it.
Books
List of books related to Kubernetes is vast, and for sure can be overwhelming. In the following paragraphs, I will recommend books to help you get started with the vast and really interesting world of Kubernetes.
First up is the book I read when I first started with the subject. It was, and, in my opinion, still is, one of the best I've read on Kubernetes so far. This book is more for people who would like some hands-on exercises and wish to immerse themselves in the ecosystem by typing commands and by doing some exercises.
Who should read it? Everyone, no matter the perspective should at least read Part 1 - Overview, and Part 2 - Core Concepts. If you are DevOps engineer, however, it will be helpful to read the whole book.
This book is excellent as well, and one of the authors is Kelsey Hightower - the one who authored the popular tutorial Kubernetes the Hard way. Both the book and his tutorial are, however, more suitable for DevOps and Ops engineers. Others can find something useful in them as well, but the material is leaning more toward the infrastructure side of the coin.
On the other hand, if you are interested in developing applications for Kubernetes, this book would be the most suitable for you. It is a developer-focused approach to Kubernetes and its components, covering everything from the initial setup of the development environment, through various Kubernetes resource lifecycles, to the troubleshooting steps.
Last, but not least, is another one leaning more toward the Dev side of the coin as well. If you are interested in developing Cloud Native applications - this book is for you. It explains foundational, behavioral, structural, configuration, and advanced patterns, and how to apply the in the development of Cloud Native applications.
Courses and Videos
If books are not your thing really, and you feel confident when learning from videos, don't worry - there is a lot of them out there as well.
First up is the great video from Nana Janashia Tech World with Nana and it explains everything you need to know to get started. It is 3 and a half hours long and it covers all the basics of Kubernetes components and resources. It is more oriented towards the DevOps and Ops side of the coin, however, developers can get a good grasp from it as well.
If you don't have, or don't want to, spend too much time learning about Kubernetes, this video, again from Nana, will explain all you need to know about Kubernetes in an hour or so. It is good if you are a total beginner, and just want to find out the basics.
This course is suitable for both developers and DevOps and ops people. It is leaning more toward the developer side of the coin, but it is a good course to follow, especially if you want to get certification in the process.
Another course from the same author - Mumshad Mannambeth, is a great one if you are more leaning toward the Ops and DevOps side of things. Especially if you are interested in getting certified as a Kubernetes administrator, this course is definitely for you. I completed this course before passing the CKA exam, and cannot recommend it more.
Other Useful Material
With this last section, I want to share other stuff and material I found useful when started learning about the Kubernetes ecosystem.
https://azure.microsoft.com/en-us/resources/kubernetes-learning-path/
This is one of my favorites. Even though it's more oriented toward Azure Kubernetes service, it is a great first step, for all of you, no matter the perspective! If you just want to know the basics, days one to five will be enough. If you want to know more, go ahead and check out the whole learning path. Have in mind, however, that at some point you will get a bit more info about AKS - a managed Kubernetes service from Azure. And the service itself is good, however, its maybe not suitable for your use case.
Even though it may be somewhat counterintuitive I'm mentioning it at the end, I find Kubernetes official documentation high on my material recommendation. It has everything you need to know about Kubernetes, and it is a great point of reference for everything relating to Kubernetes. Or at least it can be if you know where to look.
Last on the list is the official blog from Kubernetes, where you can find a plethora of interesting articles related to Kubernetes. There the Kubernetes maintainers and developers explain decisions they made in the Kubernetes design and implementation, releases, changelogs, etc.
Summary
Kubernetes ecosystem sure can be overwhelming, and the material explaining it, as well. The most important thing is to keep an open mind, start small, and build on top of that. Everything else will come with time. There is no need to hurry and worry that you don't know anything. Nobody does at the beginning.
Let me know in the comments below what you think about the article. Would you add something to the list? Do you have some feedback about the material I recommended?
And subscribe to the list to get more Kubernetes-related articles in your mailbox.