The Best Places to Learn & Try Kubernetes Online

More and more people are joining the Kubernetes train. Whether you need to learn Kubernetes a developer, or a DevOps engineer, or cloud architect, you might be overwhelmed by the amount there is to learn. But fear not, help is at hand.

In this guide, you’ll find lots of fantastic resources to help you learn Kubernetes online. Read a comic, follow a tutorial, take a course, download a cheatsheet, or try an interactive lab. It’s all in here.

These are the resources I’ve personally found useful. I hope you find them useful too!

What is Kubernetes?

Kubernetes is open-source software that is used to manage servers, and run applications on those servers.

It achieves this by doing these three things:

  • It standardises the way that applications are deployed onto the servers, and how they interact with each other, by using containers (Docker containers) and networking.

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

Quick tips for learning Kubernetes

Before you dive into these resources, check out these need-to-knows.

  • Focus on learning Kubernetes as an administrator, or a developer

    Kubernetes is a large project. So do you need to learn Kubernetes because you’re going to be operating a cluster? Or do you only need to understand the developer side of Kubernetes? Figure that out, so that you can focus on the topics that matter, first.

  • Get access to a Kubernetes cluster, so you can get hands-on

    You will progress the quickest when you build something, and have the opportunity to troubleshoot any issues. For example, try deploying a container from Docker Hub.

  • Work on your Linux skills

    Kubernetes is primarily a Linux-based project (you’re most likely going to be running Linux containers) so take the opportunity to brush up on your Linux DevOps skills.

Now you know what Kubernetes is for, and how it does it. It’s pretty cool, right? Let’s jump into the resources, and see how you can start learning Kubernetes.

This ultimate list of resources will help you to learn Kubernetes.

Top free Kubernetes courses

A very popular way of learning Kubernetes is to pick one of the many tutorials and online courses available. These can 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:

1 Follow the official Kubernetes Basics tutorial

Screenshot from the Kubernetes Learn Basics web page

If you’re learning Kubernetes from scratch, why not start from the top? The Kubernetes Basics tutorial is on the Kubernetes project website. It’s pretty functional, and covers stuff for beginners.

When you click through into each module, you’ll get an interactive Kubernetes environment in your web browser, which you can use to learn and play. It uses Katacoda technology, so you don’t have to install anything on your computer. You just need a web browser.

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, Pods and other core Kubernetes objects.

Do I need my own Kubernetes cluster?

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 question below.

2 Free Kubernetes training from VMware

Screenshot from VMware KubeAcademy website

KubeAcademy is a set of video lessons from VMware’s instructors will really get you started, but you do need your own Kubernetes cluster to follow along.

The lessons are really high quality and, at the time of writing, there is 30 hours of learning material. 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 video 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 Create a Kubernetes cluster with AWS

Screenshot from the AWS EKS Workshop

EKS Workshop is a free, self-paced training course from AWS. And it is very thorough indeed. If you love diving into the Terminal, this is the tutorial for you.

This is a hands-on workshop, where you create a Kubernetes cluster (called EKS or Elastic Kubernetes Service). You’ll then deploy some applications, set up external access to your apps, 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, preferably your boss, or shut down your cluster at the end of the day. If you leave your cluster on for even just a few days, you could end up spending much more than you expect.

To keep your costs down with this workshop, my recommendation is to destroy the cluster at the end of each day. It’s easier to do this if you use the eksctl tool to create and manage your cluster.

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 interactive lessons

Screenshot from the Red Hat OpenShift Learning Portal homepage

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 Playgrounds, which give you developer access to an OpenShift cluster for 60 minutes, to do what you like.

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 contains Kubernetes within its core, and uses the same API, and the same concepts, like Pods, Deployments and Services.

However, OpenShift adds extra features to turn it into a more developer- and enterprise-friendly platform.

For example, it has features that allow you to build container images inside the platform, enforce more strict security for containers, and so on.

Get certified to prove your skills

CKA and CKAD certifications for Kubernetes

If you want to make your Kubernetes skills official, then you could study for one of the certifications from the Linux Foundation.

The Certified Kubernetes Administrator (CKA) and Certified Kubernetes Application Developer (CKAD) exams are the two most well-known certifications to aim for.

To get the certifications, you need to pass a 2-hour exam, which consists of around 15-20 performance-based tasks, with questions based on the CKA/CKAD syllabus.

  • Certified Kubernetes Administrator (CKA)Linux Foundation.

    This is ideal for you if you are managing Kubernetes clusters, for example as a DevOps Engineer, or a Cloud Engineer. This certification proves your skills at things like cluster installation, maintenance, security, troubleshooting and networking.

    The exam costs $375 alone, or you can get a bundle which also includes self-paced training.

  • Certified Kubernetes Application Developer (CKAD)Linux Foundation.

    This certification is ideal for you if you develop applications for Kubernetes. It tests your knowledge in building and deploying container-based apps on Kubernetes. A new 2021 release of the exam is coming out shortly (in Q3).

    This exam costs $375, which includes 2 practice attempts on the Killer.sh Kubernetes exam simulator.

Is getting Kubernetes certification worth it?

It’s not always a requirement to have a certification, but it could help you to stand out in front of recruiters.

If there is a strong field of comparably-qualified candidates applying for the same role, it could be the key difference that sets you apart from others, and gets you onto the employer’s shortlist.

Top 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.

Also currently available as a free download from VMware.

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.

Cheatsheets

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

Screenshot from the Kubernetes by Example website

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

Extract from the InfraBuilder Kubernetes Cheatsheet

All the basic Kubernetes commands are shown on infraBuilder’s cheatsheet

Source: infraBuilder

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!

Online Labs

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:

Katacoda Kubernetes Playground

Screenshot from the Katacoda Kubernetes playground scenario

You can play with a single-node Kubernetes cluster online for free

Source: Katacoda

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

Screenshot from the Play With K8s service

You can use a Kubernetes cluster for free with Play With K8s

Source: Play With K8s

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

Illustration from Smooth Sailing: A Kubernetes 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??

More resources

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

Header from the 12 Factor App net homepage

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.

Comments

Got any thoughts on what you've just read? Anything wrong, or no longer correct? Sign in with your GitHub account to leave a comment.

(All comments get added as Issues in our GitHub repo here, using the comments tool Utterances)