More and more people are joining the Kubernetes train. 🚂 Whether you need to learn Kubernetes as a developer, DevOps engineer, or cloud architect, you might be freaking out at the amount there is to learn. But fear not, help is at hand!
In this guide, I’ve put together a list of fantastic resources which will help you to learn Kubernetes online. There are lots of different ways to do it. You can read a comic, follow a tutorial, take a course, print out a cheatsheet, try an interactive lab, and much more. You’ll find all the best options here.
These are the resources which I’ve personally found to be useful, and I hope you find them useful too! If you think your followers might find this list useful, then be sure to give it a share with your network. Thanks!
Learning Kubernetes? Check out this ultimate list of resources!
What is Kubernetes?
Before we get started…. let’s take a quick look at what Kubernetes actually is.
Kubernetes is software that manages applications on a cluster of servers.
How does it work?
It standardises the way that users (like developers and system administrators) interact with servers and applications, through the Kubernetes API.
It monitors the health of applications and keeps them up and running, with its built-in features, like automatic restarts on failure and auto-scaling.
Kubernetes is sometimes called an orchestrator because, just like a conductor in an orchestra, it oversees a bunch of servers (the musicians) and manages them.
What is Kubernetes used for?
Kubernetes is used to manage a fleet (or a farm!) of servers, and provide a management layer on top, which users can use to deploy applications.
Once Kubernetes is set up, you can use its API to deploy apps, such as web servers and databases. Or, you can use it to deploy an application you’ve written yourself, such as a Node.js, Java or Go application.
This is a blog supported by you, the amazing reader! Some of the links on this page are affiliate links, and if you make a purchase then I earn a small commission, at no extra cost to you. This helps to fund my free tutorials (yassssss!)
Kubernetes need-to-knows for beginners
As you can see from the description above, Kubernetes is a bit of a beast! It does lots of things.
Here are a few things you need to know before you even think about picking up Kubernetes:
Start learning about containers as soon as you can
There’s a reason that Docker and Kubernetes always seem to appear in the same sentence! It’s because Kubernetes is designed mainly to run applications which are running in containers (you might know them as Docker containers!). You should get a basic understanding of containers first before you begin to tackle Kubernetes.
Decide whether you want to learn Kubernetes as an administrator, or a developer
Kubernetes is a large project, and it serves both developers and admins (devops engineers). So, do you need to learn Kubernetes because you’re going to be operating a cluster? Or do you only need to know the developer side of Kubernetes? Figure this out first, so that you can focus on the topics that matter to you.
Get access to a Kubernetes cluster, so you can get hands-on
You will progress faster if you try to deploy something on Kubernetes, because then you’ll have the opportunity to troubleshoot any issues. So either install Kubernetes on your laptop, run it in the cloud, or use the cluster at your work to try it out.
Develop your Linux skills
Kubernetes is primarily a Linux-based project (you’ll most likely use Kubernetes to run Linux containers) so take the opportunity to brush up on your Linux DevOps skills or learn about some common Linux commands.
Now you know what Kubernetes is for, and how it does it. It seems interesting, right? Let’s jump into the resources, and see how you can start learning Kubernetes.
Free Kubernetes courses
A really popular way of learning Kubernetes is to start with one of the many free tutorials and courses out there. These range from simple tutorials, through to full-blown video courses.
Here are some of the best free Kubernetes tutorials and courses to try. These are solid and I recommend them all the time…
1 The official ‘Learn Kubernetes Basics’ tutorial
If you’re learning Kubernetes from scratch, why not start from the top? The Kubernetes Basics tutorial is available on the Kubernetes project website. It’s pretty functional, and covers stuff for beginners.
In each module of the course, you will get an interactive Kubernetes environment in your web browser, which you can use to learn and play. You don’t have to install anything on your computer, you just need a web browser! Awesome.
The basic modules cover how to deploy an app to Kubernetes, how to access it, and scale it. Plus you’ll learn about Pods, how they communicate with each other through Services, and other core Kubernetes objects.
Do I need my own Kubernetes cluster for this tutorial?
To follow this tutorial, you just need a web browser. Behind the scenes, a virtual Kubernetes cluster is created for you. You don’t need to install anything.
For some more advanced tutorials on this page, you might need your own Kubernetes cluster. See the next sections below.
2 Free Kubernetes video courses from VMware
KubeAcademy is a set of video lessons from the instructors at VMware, and it will really get you started with Kubernetes.
The lessons are really high quality and there’s almost 40 hours of learning material for you to explore. 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.
Some courses include hands-on sections, where you can practice what you’ve learned, using a virtual environment, accessed inside your web browser.
You would normally pay a lot of money for training like this. But this is free! So it’s definitely worth checking out.
Can I install Kubernetes on my laptop?
If you want to install Kubernetes on your laptop, try one of the editions designed for running on a single computer, like Minikube, k3s or kind.
These distributions of Kubernetes require less memory and resources than running a full Kubernetes cluster.
3 Kubernetes on AWS - a step-by-step tutorial
EKS Workshop is a free, self-paced training course from AWS. If you love diving into a terminal, this is the tutorial for you.
This is a hands-on tutorial, where you’ll create a Kubernetes cluster in AWS (it’s called EKS, or Elastic Kubernetes Service).
In the tutorial, you will deploy some applications to Kubernetes, set up external access to them, and move onto advanced topics, such as Istio service mesh, Open Policy Agent (OPA), Helm, and lots of other cutting-edge cloud-native projects.
In this course, you create a Kubernetes cluster in AWS, which costs money. (EKS is not included in Amazon’s Free Tier.) So make sure someone else is paying the bill – preferably your boss! – or delete your cluster at the end of the day. I can’t stress this enough! If you leave your cluster on for even just a few days, you could end up spending much more than you expect. It’s far easier to manage your AWS Kubernetes clusters if you use the free
eksctl command-line tool.
How much does it cost to run Kubernetes on AWS?
This blog post from Convox estimates that it costs $6.41 per day to run a 3-node Kubernetes cluster. So if you leave a cluster running for 7 days, you’ll spend almost $45. 💸😟
4 Free OpenShift tutorials and labs from Red Hat
If you want to learn OpenShift (which is Red Hat’s distribution of Kubernetes), then try the OpenShift Interactive Learning Portal from Red Hat.
This website is geared mainly at developers. You can choose to complete various different “missions”, or just choose the OpenShift Playground, which gives you developer access to an OpenShift cluster for a short time, to do what you like.
You can also take a free course on Containers, Kubernetes and OpenShift.
Or, for more developer-specific learning paths, choose one of the Foundations of OpenShift lessons on the Red Hat Developer site.
What's the difference between Kubernetes and OpenShift?
OpenShift includes Kubernetes within its core, and it uses the same API as Kubernetes, and the same concepts, like Pods, Deployments and Services.
However, OpenShift adds some extra features which turn it into a more developer- and enterprise-friendly platform. For example, it has features which let you build container images inside the platform, enforce more strict security for containers, and more.
But if you learn OpenShift, you’ll also understand Kubernetes, and vice-versa.
Certifications are worth thinking about if you’re job-hunting, and you want something to add to your resume, or if you’d like to move upwards in your current job.
But it’s not just that - in most contexts, getting a certification is a useful way to gain structured knowledge about the thing you want to learn.
Taking a certification exam is a bit like taking a driving test – it makes sure that you know all of the required skills (not just the skills which you find easy, or enjoy doing!).
The two main certifications for Kubernetes are Certified Kubernetes Administrator (CKA) and Certified Kubernetes Application Developer (CKAD).
The CKA and CKAD exams are taken online, and cost $375 each. (This is really expensive if you’re paying for yourself – so it’s much better if you can convince your employer to pay for it!)
If you’re a Kubernetes administrator (e.g. you install and manage clusters) then book and pay for the Certified Kubernetes Administrator (CKA) exam. To prepare for it, check out Mumshad Mannambeth’s Certified Kubernetes Administrator (CKA) with Practice Tests course, which includes access to online exercises.
If you’re using Kubernetes as a developer (e.g. you want to create and deploy applications on Kubernetes), then book and pay for the Certified Kubernetes Application Developer (CKAD) exam. To prepare for the exam, Mumshad Mannambeth’s Kubernetes Certified Application Developer (CKAD) with Tests course on Udemy will cover all the topics you need to know.
If your employer is paying, take a look at the Kubernetes for Developers + CKAD Exam bundle from Linux Foundation. It’s more expensive but you will get training from the same people who create the curriculum and it includes 2 mock exam attempts.
How difficult is Kubernetes certification?
Students report that the exam isn’t hard, if you already have some Kubernetes experience. However if you have no experience with Kubernetes at all, you should probably take a course first, to learn about all of the topics in the exam syllabus.
Check out this review of the CKA exam for a frank and honest opinion of the exam itself.
It is worth getting Kubernetes certification?
It’s not usually a requirement that you need to have a certification, but it could help you to stand out in front of recruiters, when they’re indundated with resumes.
If there is a strong field of comparably-qualified candidates applying for the same role, it could be that one difference which sets you apart from others, and gets you onto the employer’s shortlist!
Paid online courses
With these courses, you’ll get a good understanding of Kubernetes.
What to look for in a Kubernetes course
If you’re thinking of investing in a course then here’s the things I think you should look for:
Seek a course that covers the certification curriculum (if you want to get certified). If you’re going to be studying anyway, you might as well get certified. It proves you know your stuff and is a nice thing to add to your resume. The two main Kubernetes certifications are Certified Kubernetes Administrator (CKA) and Certified Kubernetes Application Developer (CKAD).
Updated for the latest Kubernetes version. The Kubernetes project releases new versions about 4 times per year. Check that your course is up-to-date, because some of the Kubernetes APIs can change subtly between versions.
Access to a lab or virtual training environment. Since Kubernetes is server-side software, it needs to be deployed somewhere, which costs money. If you can find a course with lab time built-in, then you’ll be able to dive in immediately without all the typical yak-shaving.
Since Kubernetes is particularly hot 🔥 there are tons of options for online courses. But here are the ones which stand out:
Kubernetes for the Absolute Beginners (Udemy) Beginner Recommended - This extremely popular course (over 100,000 students have taken it!) covers the main topics you need to know about Kubernetes. It runs to just over 5 hours, which is a good length for you to dip your toes in the water without getting bored. The course also includes limited access to KodeKloud, the instructor’s own training platform, so that you can complete some exercises in your browser, without even needing to install Kubernetes (although the course doesn’t include access to every feature of KodeKloud). This is a good beginner’s course – at a very good price point.
Certified Kubernetes Administrator (CKA) with Practice Tests (Udemy) Intermediate This course is by the same instructor as above (Mumshad Mannambeth) and it’s for you if you’re going to be building, troubleshooting and securing a Kubernetes cluster, and adding things like storage and networking services. It also includes practice questions and exams to help you to prepare for the Certified Kubernetes Administrator exam (although the exam itself isn’t included - you need to book that separately!). It includes 18 hours of video and just like the course above, you get access to some interactive labs on KodeKloud (although not all). Good if you’re keen to learn the admin side of K8s and maybe get certified.
Kubernetes Fundamentals (Linux Foundation) Intermediate - This course from the Linux Foundation aligns with the Certified Kubernetes Administrator (CKA) curriculum. So if you’re thinking of going for the CKA cert, then check out this training course. However, it unfortunately doesn’t include access to an online Lab environment – you will need to provide your own (but it could be good practice for you to set up a Kubernetes cluster.)
Best Kubernetes books
If you’re looking for a book to advance your Kubernetes learning, some of your best bets are from O’Reilly. Here are our top picks below:
Kubernetes Up & Running
By Brendan Burns, Joe Beda & Kelsey Hightower
This is a deeply technical Kubernetes book which goes from creating a cluster, through explaining commands and concepts, and then some real-world examples.
This technical book is probably the gold standard of Kubernetes books. It’s written by Brendan Burns and Joe Beda, both co-creators of Kubernetes, and Kelsey Hightower, the developer advocate for Kubernetes at Google.
The great thing about this book is that it not only explains concepts very well, but it also includes a section on deploying real-world applications. So if you prefer to learn by example, use the scenarios in this book to help you understand better.
Kubernetes Patterns: Reusable Elements for Designing Cloud-Native Applications
By Bilgin Ibryam & Roland Huss
This book, published by O’Reilly and also 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.
Clusters & Playgrounds
Kubernetes can be hard to install. But fortunately, there are some places where you can try a Kubernetes cluster for free!
These are the online Kubernetes clusters and “playgrounds”.
Usually, you don’t get administrator access – this means that you can’t do some more complex tasks, but it should be good enough for you to deploy apps and run small projects, for a small amount of time.
So here are some online Kubernetes playgrounds I recommend:
Katacoda Kubernetes Playground
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 is 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!!
Go to the playground
Play with Kubernetes
Another interactive Kubernetes environment, brought to you by Docker. You need to sign in with Docker or GitHub for this one.
Play with Kubernetes
Comics and videos
Comics and “explainer” videos are an awesome 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.
1 Learn the ‘what’ and ‘why’ of Kubernetes in a comic
Smooth Sailing: A Kubernetes Comic tells the story of Jason, an IT engineer/ship captain who has problems juggling his applications, and looks for a solution. (Just don’t ask why a ship’s captain is also running enterprise IT applications)
Fortunately, Kubernetes comes to the rescue, in the form of Athena, the goddess of wisdom. She appears to Jason, to show him the way of wisdom, craft and containerised applications.
I love this one so much! It’s tongue-in-cheek and very funny, explaining the core concepts of Kubernetes in a way that can be understood by anyone.
2 A Kubernetes bedtime story for kids
The Children’s Illustrated Guide to Kubernetes is an adorable illustrated story that tells the story of Phippy, a PHP application, who just wants to be with his friends.
If you have kids, I’m not really sure how much they’ll keep asking for this as a bedtime story. But they’ll certainly learn something about Kubernetes, pods, labels, replicas and volumes. And there will still be some time for milk and cookies before bed. 🥛🍪
You can also watch it as a video, written and performed by Matt Butcher:
What happened next to Phippy?
People got pretty excited about Phippy. As someone said in the video comments on YouTube:
Excited to see the 2nd part about killing containers, and Phippy’s conclusion this is a terror ship.
(This is a funny reference to the fact that in Kubernetes, 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:
3 Learn the 101 of Kubernetes, with a 3 minute explainer video from VMware
A lot of videos from software vendors are drier than a piece of week-old dry toast, because they have to appeal to a huge cross-section of people, from beginner developers to CTO types (the folks with the money).
But I think this Kubernetes intro video from VMware is the right mix of facts and explanation. (And of course whizzy graphics.) It’s a very brief introduction to containers and Kubernetes, which is so short, even your boss will be able to watch it without falling asleep.
This video packs in a lot into three minutes. It’s well worth watching, or sharing with your less technical coworkers! Everyone has 3 minutes to spare…. don’t they??
Cheatsheets are a great way to learn new tech if you’re quite hands-on. You might prefer to learn by seeing how to use a command, with lots of repeated examples.
For Kubernetes, you should look for cheatsheets for
kubectl is the main command-line tool that you use to interact with a Kubernetes cluster.
And you might also want to find cheatsheets on how to craft different Kubernetes resources, such as Pods and Deployments.
Here are some cheatsheets for Kubernetes which you can learn from:
1 Kubernetes by Example
Kubernetes by Example, from Red Hat, shows you how to use Kubernetes in a “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 commands, explore some sample YAML, and then 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.
2 infraBuilder Kubernetes Cheatsheet
The infraBuilder Kubernetes Cheatsheet is a quick reference for the
kubectl command line tool. It’s nicely designed, 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!
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.
1 12-factor apps are ideal for Kubernetes
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.
2 Learn from failure stories
Are you the type of person who likes to learn from others’ failures? Kubernetes Failures curates all the public post-mortem and Kubernetes failure stories, from some pretty big names, like Skyscanner, Spotify and Free Now, the taxi app.
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.
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.
Want to Suggest a resource?
I always keep this page updated with new resources as I find them. So if you’ve got a suggestion for a new resource I should add here, get in touch! You’ll find a contact form link in the footer below.