Tips for Teaching Yourself Kubernetes

Kubernetes and cloud-native technology seem to be everywhere these days. If the underlying concepts and tools that gave rise to the Kubernetes juggernaut are unfamiliar to you, however, don’t worry. Plenty of resources are available for beginners, and the beginning is the best place to start. 

In the skills article, we will provide links to articles, tutorials, videos, and other resources that will help you get up to speed and ready to experiment, participate, and learn more. 

Containerization

Let’s start with a basic definition. According to the Kubernetes website, “Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services.” Ok, maybe we need to back up a step and define containers, too. 

Again, from the Kubernetes website, a container image contains everything necessary to run an application, including “the code and any runtime it requires, application and system libraries, and default values for any essential settings.” In this way, containers help ensure standardized application deployment, but as the Cloud Native Computing Foundation (CNCF) notes, teams “need to be able to create multiple containers from multiple images to compose an entire running system.” And that’s where Kubernetes comes in. 

Kubernetes (which is Greek for “helmsman” or “pilot”) was developed at Google by engineers Joe Beda, Brendan Burns, and Craig McLuckie and was influenced by Google’s cluster management project called Borg. In short, Kubernetes can monitor and manage all the containers that you create, ensuring that they run when, where, and how you want them to. 

As this tutorial from Digital Ocean says, Kubernetes can “completely manage the life cycle of containerized applications and services using methods that provide predictability, scalability, and high availability.” The Kubernetes project is now managed by the CNCF, and the technology plays a key role in DevOps and cloud computing.

Learning Kubernetes

Once you’ve become familiar with the basic concepts, the next step is to experiment with Kubernetes in a learning environment. The following section contains links to free, online resources and tutorials to help you:

  • Learn the terminology.
  • Understand the architecture.
  • Set up your own cluster.
  • Manage your containerized apps.

We also offer information on other ways to build your Kubernetes skills, such as through conferences, meetups, podcasts, and more. 

Articles and Books

Tutorials and Training

  • Introduction to Kubernetes — This free training course from edX provides an “in-depth primer on this powerful system for managing containerized applications.”
  • Installing Kubernetes with Minikube — In this tutorial, you’ll learn how to set up and use Minikube, which is a tool that makes it easy to run Kubernetes locally. As the website states, “Minikube runs a single-node Kubernetes cluster inside a Virtual Machine (VM) on your laptop.”
  • Learn Kubernetes Basics — This online tutorial series steps through the fundamentals of Kubernetes. Through the various interactive modules, you will learn how to:
    • Create a cluster.
    • Deploy an app.
    • Explore your app.
    • Expose your app publicly.
    • Scale your app.
    • Update your app.
  • Getting Started with Kubernetes and Container Orchestration — In this half-day tutorial recorded at PyCon 2019, Jérôme Petazzoni teaches Kubernetes concepts, both in theory and in practice. More training from Petazzoni (including workshops in French) can be found on the Container Training website. 

Conferences and Meetups

Other Resources

  • Kubernetes Documentation — Comprehensive documentation from the Kubernetes project.
  • Kubernetes Podcast — This weekly podcast from Google, hosted by Craig Box and Adam Glick, offers information, insight, and interviews related to the Kubernetes community.  
  • How to contribute to Kubernetes — Tara Gu shares tips for contributing to Kubernetes, including the skills you need and how to find a good first issue.

Understanding a complex topic like Kubernetes requires time and patience, but, in the process, you’ll learn valuable skills for furthering your DevOps career. 
 

Comments