This year I’ve seen lots of people taking their first steps to using containers in the real world, and many have joined the Kubernetes train, to start running containers at huge scale. If you’re one of them, you might be overwhelmed by the amount of stuff there is to learn!
You might also be wondering how to find the best resources and tutorials for learning Kubernetes, especially as they tend to be scattered all over the web.
Since Kubernetes is a community project, and is an increasing number of distributions or variations of it, there are many places you can go to learn more about Kubernetes.
In this guide, I’ve brought together what I think are the best links for learning Kubernetes. These are fun comics, tutorials, cheatsheets, playgrounds and books that I’ve been sharing with the teams I’ve been working with as a consultant and trainer, and I think you will find them useful.
So please bookmark this page - and if you like it, I would love for you to share it! It helps more people discover it.
So, on with the resources…
Learn in colour: comics and animations
I’m putting this section at the start, because it’s the best way of getting an appreciation of Kubernetes from a higher level.
If you’re less technical, or you just want some fun and engaging resources to help you understand Kubernetes, then check these out.
Website/Infographic - Beginner - Non-technical - Free
I just love this! This comic from Google tells the story of Jason, an IT engineer/ship captain who has problems juggling his applications, and looks for a solution.
Fortunately, Kubernetes comes to the rescue, in the form of Athena, the goddess of wisdom. She appears in Jason’s life to show him the way of wisdom, craft and containerised applications.
It’s tongue-in-cheek and very funny, explaining the core concepts of Kubernetes in a way that could be understood by anyone.
Website/Infographic - Beginner - Non-technical - Free
If you’re looking for a bedtime story to tell your kids, this is it. This adorable illustrated story tells the tale of Phippy, a PHP application who just wants to be with his friends.
Along the way you’ll learn about Kubernetes, pods, labels, replicas and volumes. And you’ll still have time for milk and cookies before bed.
Phippy: What happened next?
The excitement about a potential follow-up to Phippy’s story is real. As someone originally said in the video comments:
Excited to see the 2nd part about killing containers, and Phippy’s conclusion this is a terror ship.
(If you’re learning about Kubernetes, you’ll soon find out that a Pod can be “killed”!)
Well fortunately, in 2019, Microsoft Azure created a follow-up story! So here is what happened when Phippy went to the zoo:
Video - Beginner - Non-technical - Free
A lot of videos from software vendors are so dry, because they have to appeal to a huge cross-section of people. Like brown bread.
But I think this one from VMware is the right mix of facts and explanation. And whizzy graphics. It’s a very brief introduction to containers and Kubernetes, that’s so short, even your boss can watch it without falling asleep.
This video packs in a lot into three minutes. You might be tempted to press stop after 20 seconds, but persist! It talks about physical shipping containers, and how software containers are similar. It then talks about what Kubernetes does and why it exists. Plus lots of swanky animations.
Well worth watching, or sharing with your less technical coworkers! Everyone has 3 minutes to spare.
Step-by-step: Tutorials and courses
A very popular way of learning Kubernetes is to pick one of the many tutorials and online courses available.
These vary from simple web pages to full-blown video courses.
Here are some of the best Kubernetes tutorials and courses which I’ve been recommending to people:
Website/Documentation - All levels - Free
If you’re learning Kubernetes from scratch, why not start from the top? This is the official getting started guide, on the official Kubernetes project website. It’s functional and covers the basics.
If you click through into each module, you’ll get an interactive Kubernetes environment in your web browser to learn in. It uses Katacoda technology, and you don’t have to install anything on your computer.
The basic modules cover deploying an app, exposing it publicly and scaling. Plus you’ll learn about Pods, how they communicate with each other through Services, Pods and other core Kubernetes objects.
Video - All levels - Free (registration required for Pro courses)
This set of video lessons from VMware’s instructors will really get you started, although you do need to find your own Kubernetes cluster to work with.
The lessons are really high quality and add up to 19 hours of learning at the time of writing.
My favourite course is The Kubernetes Machine where you learn all about the inner workings of Kubernetes, including the data store (etcd), the Kube API and the scheduler.
You would normally pay a lot of money for high quality video training like this. But this is free. So it’s definitely worth checking out.
Self-paced - All levels - Free (AWS account required; pay for what you use)
EKS Workshop is a free, self-paced training course from AWS. And it is incredibly thorough!
In this workshop, you’ll go from starting a Kubernetes cluster, to deploying applications, setting up external access to your apps, and moving onto advanced topics like Istio service mesh, Open Policy Agent (OPA), Helm and lots of other cool cloud-native projects.
The downside of this workshop is that you need an AWS account, and you must pay for what you use. (EKS is not included in Amazon’s Free Tier.) It can work out quite expensive if you’re paying your own way. If you leave your cluster on for a few days, you could end up spending more than you think.
So my recommendation is: start small and work on the first few sections, and destroy the cluster at the end of each day. (You can do this easily using Amazon’s
Ebook (PDF) - Intermediate - Free (registration required)
A deeply technical Kubernetes book which goes from creating a cluster, through explaining commands and concepts, and then some real-world examples.
This is the first of two O’Reilly books in this article which are currently being given away free by software vendors. (Scroll down to find the second one, from Red Hat)
This technical book is the gold standard of Kubernetes books. It’s written by Brendan Burns and Joe Beda, both co-creators of Kubernetes, and Kelsey Hightower, well-known developer advocate.
The great thing about this book is that it not only explains concepts very well, but it also includes a section on deploying some real-world applications. So if you prefer to learn by example, you can use these scenarios to help you understand better.
Cheatsheets and command references
Cheatsheets are my favourite way to learn, because I’m very hands-on. I prefer to learn by seeing how to use a command.
In the case of Kubernetes, you’ll probably be looking for cheatsheets for
kubectl. It is the main tool that you use to interact with a Kubernetes cluster.
And you might also want to find cheatsheets on how to craft Kubernetes resources, such as Pods or Deployments.
Here are some cheatsheets for Kubernetes that you can learn with:
Website - Beginner - Free
This website, by the Red Hat team, shows you how to use Kubernetes in the “look what this command does” kind of way.
For each of the different resources controlled by Kubernetes – such as Pods, Deployments and Services – you can see some example commands, explore some example YAML and see what happens when the commands are executed.
If you’re more of a engineer and someone who prefers to hack or tinker with a system, then you will find this website useful.
Cheatsheet (PDF) - Beginner/Intermediate - Free
French cloud consultancy infraBuilder publishes this really useful cheatsheet for the
kubectl command line tool. It’s nicely laid out and prints on a single page, so you can hang it up in your office.
I use this Kubernetes cheatsheet because it helps me remember which arguments go in the right order, when I’m using
kubectl. Plus it introduced me to some new
kubectl commands that I didn’t know before. Good job!
Go hands-on: interactive playgrounds
Kubernetes can be hard to install.
But fortunately, there are some places where you can try a Kubernetes cluster for free!
You usually don’t get administrator access – so no deleting your own cluster, sadly – but you will get some alloted time on a cluster.
You can use this time to deploy simple apps, and understand how to use k8s.
So here are some online Kubernetes playgrounds I recommend:
Interactive - All levels - Free (some scenarios require registration)
Katacoda is a web-based virtual coding environment. You can type commands into a terminal in a web page and do stuff, just as if you were on a real server.
For learning Kubernetes, there are a range of scenarios (as they’re called) to show you how to do common tasks in Kubernetes.
No registration required for some of the scenarios, and you get a cluster for 60 minutes. Highly recommended.
Interactive - Free (sign in with a Docker or GitHub account)
Another interactive Kubernetes environment, brought to you by Docker. You need to sign in with Docker or GitHub for this one.
Interactive - Self-paced - All levels - Free (some scenarios require registration)
If you want to learn OpenShift, which is a distribution of Kubernetes, then try this interactive web-based terminal from Red Hat.
You can choose to follow various different missions, or just choose the OpenShift Playgrounds, which gives you developer access to an OpenShift cluster for 60 minutes, to do what you like.
Or, for a more developer-specific learning path, choose one of the Foundations of OpenShift scenarios on Red Hat’s Developers site.
Using Kubernetes well: Architecture and best practices
You’ve taken the beginners’ tutorials and you’re ready to start putting your applications onto Kubernetes?
Then check out these resources, which I think summarise all of the great knowledge we have around how to design and architect your applications for a container platform like K8s.
Website - Intermediate - Free
The Twelve-Factor App methodology is a set of principles for building SaaS applications, which are commonly also applied to modern, API-first, cloud-native apps.
Kelsey Hightower wrote an interesting blog in 2015 about applying these principles to Docker containers:
Docker and 12 factor apps are a killer combo and offer a peek into the future of application design and deployment.
The idea of The 12-Factor App is to make sure your applications are portable, and this is crucial when deploying to a cloud platform, whether Kubernetes or any other.
It encourages many good practices for architecting your apps for a cloud platform like Kubernetes, such as externalising your application configuration and moving state outside your application.
Ebook (PDF) - Intermediate/Advanced - Free (registration required)
This book, published by O’Reilly but currently being distributed free by Red Hat, is written by two authors who know Kubernetes very well. In the book, they introduce the main patterns that you will use with Kubernetes, plus lots of practical examples.
Why are patterns important? Because it’s tempting to stick with old-style approaches to application design, like brittle VMs and manual configuration. But when you move to a cloud-native platform like Kubernetes, you need to think differently.
Topics include: how to create cloud-native applications, how to manage containers, how to apply configuration and more.
Website/Curated links - Intermediate/Advanced - Free
Are you the type of person who likes to learn from others’ failures? Constant success stories can get a bit repetitive and it’s nice to see that failure is not only a common occurrence, but many companies are happy to share their failure with others.
This website curates all the public post-mortem and Kubernetes failure stories, from some pretty big names, like Skyscanner, Spotify and Free Now, the taxi app.
From Kubernetes failure stories involving cloud outages and production outages to accidentally deleting entire clusters, this list of links provides a lot of good reads for Kubernetes administrators. If you’re managing a Kubernetes cluster, you should check this out.
Over to you
There you have it! Lots of resources to help you learn Kubernetes, ranging from comics to cheatsheets, and tutorials to hands-on exercises.
If you found this list useful, please share with your social network or your colleagues, every little helps! Thanks.