There’s lots of resources out there about “getting” and learning Kubernetes. Unfortunately, not all of them are really concise, to-the-point and worth your time.
As with Docker, the Kubernetes field is very popular and moving incredibly fast. There’s a lot of noise, outdated material, company bias and poorly informed advice.
Here’s a hand-picked selection of great resources for different aspects of getting started with Kubernetes!
Getting “Why?”
Knowing what issues Kubernetes was made to solve, and when you should use it is the first step. Without it, you won’t be able to judge where to place it in your toolbox and it will negatively influence your learning progress.
If you’re at the stage of asking yourself “what’s this Kubernetes and what exactly is it for?”, you should start here:
- The beginning of the official Kubernetes documentation presents a good overview.
- You can learn a lot from what others are using Kubernetes for - check out the beginning of this in-depth article by Julia Evans on operating Kubernetes reliably at Stripe.
- This blog post by Julia Evans lists “reasons why Kubernetes is cool”, which can help to get a better picture through practical examples and a technical perspective.
Understanding Containers
Containers are at the core of Kubernetes. You should make sure to really understand what Docker images and containers are. It will help you a lot, to have a clear mental model of what building blocks Kubernetes is relying on under the hood.
This is a huge topic by itself, but getting the basics is pretty darn important.
- The Kubernetes docs provide a brief explanation of what exactly containers bring to the table, what is made easier to do and who benefits.
- If you’re interested in getting the basics of Docker, check out my article, covering the most fundamental things to know.
- If you want more technical details, this blog post by Scott McCarty for Red Hat is really good.
If you prefer structured courses, don’t mind video and want to learn Docker in-depth, I would look into the following three options. (Unlike all other resources on this list, I can’t recommend them from personal experience. They look good to me and I have heard good things about each. I am not affiliated with any of those :)
Kubernetes Crash Course
Alright, so how do you get a basic understanding of what Kubernetes actually does, when you don’t want to ignore the internals completely, but don’t feel like diving in just yet?
- There’s an illustrated guide! It’s precious. Here’s the article version, but you can also view a video here. (It’s also a tiny bit outdated. For example: ReplicationControllers are “the old way” of doing things, and Deployments + ReplicaSets are preferred).
- This comic from the Google Cloud folks goes into many interesting details - from high-level problems to inner workings of Kubernetes.
- If you don’t like adorable illustrations, check out the beginning of this talk is a pretty good overview of everything you need to know.
Examples and Tinkering Around
Do you like to learn by doing? If you want to see the most frequent ways to interact with Kubernetes, but don’t feel like you need to learn about setting up a cluster from scratch, these are for you.
They are more technical, focus on practical Kubernetes usage and don’t go too deep.
- Kubernetes by Example is pretty neat.
- There’s an interactive cluster tutorial in the official docs, which is part of the basics tutorial.
- Katacoda’s free Kubernetes course is cool as well.
- This one is mentioned in the next section, but you should consider Kubernetes in Action by Marko Lukša, even if you are not interested in advanced Kubernetes understanding. It’s one of the best practical resources out there. Just stick to the first parts of the book.
Kubernetes In-Depth
So, you know how things work when abstracting away technical details. But how do they really work? It’s time to go deeper.
- This blog post by Julia Evans provides very understandable explanations on the simple beauty of the internal working of k8s.
- One of the best resources to really get the internal setup of Kubernetes, is the legendary deep-dive by Kelsey Hightower - “Kubernetes the Hard Way”, where you are walked through the process of bringing up a k8s cluster from scratch without having to rely on scripts. It’s badass.
- The single best book out there on Kubernetes, is Kubernetes in Action by Marko Lukša. It’s very technical in a good way, and structured from a very practical perspective. I can’t recommend it enough.
- The official docs are pretty darn good, even though they might be a bit hard to navigate for some topics. Start with the section on concepts and move towards tasks. Selective reading is recommended here.
Official
Are you thinking about getting an official certification one of these days? The Linux Foundation is the way to go.
- There’s a free course giving an Introduction to Kubernetes.
- The Kubernetes Fundamentals course is quite good, and will bring you pretty far towards the certification scope. Be sure to actually do the exercises :)
Cutting Edge
Here’s a bonus: what if you want to know what’s happening in the Kubernetes landscape right now? What are people up to, and what’s the hottest new developments?
- You can view recorded talks from KubeCon (and other conferences) online (KubeCon Berlin 2017, KubeCon Austin 2017). If you can, get a ticket to one of those events. It’s really good to learn directly from peers.
- If there’s a Kubernetes-related Meetup next to you, you probably want to go there and mingle for the same reason.
- The Kubernetes Slack channel is a good place to hang out. Check out the Kubernetes Community page for more links.
- KubeWeekly is a regular newsletter on Kubernetes. It contains lots and lots of links about the most recent developments in the field. If you prefer a more selectively curated approach, check out kubelist.
Contributing
If you want to know more about what’s happening on the development-side of Kubernetes, take a look at the contributor’s guide. It’s a great way to learn more about what’s happening behind the Kubernetes scenes and a the way to start if your plan is to contribute to the project.
In Conclusion
I hope you found a few interesting resources for yourself, to help you move forward on your journey towards mastering Kubernetes.
The most important thing is to move forward steadily, and do hands-on work as soon as possible. Just viewing a list, and creating a bookmark in your browser won’t help you understand Kubernetes. Here’s a better next step to take: Pick one of the resources above, have a question in mind you want to answer and schedule half an hour on it today.