vsupalov

Resources for Getting Started with Kubernetes

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).
  • 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 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.

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.

In Conclusion

I hope you found a few interesting resources for yourself, to help you move forward on your journey towards mastering Kubernetes.

If you know about a particular thing which is really worth recommending, drop me a mail or a tweet.

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.

Oh, and be sure to subscribe to the mailing list below if you’d like to learn more about getting into Kubernetes :)

Learn more about Kubernetes!

Do you want more actionable, useful and understandable resources about Kubernetes to help you learn quicker and save time? Sign up to my mailing list!