preloader

Getting Started

Table of Contents

Overview

This is a recommended list of reading material and labs for users who are new to Kubernetes.

The sections are laid out in a defined order, but they can be considered optional based on the users current level of knowledge. The idea is to start where you feel is right based on what you know and what you would like to learn.

Time estimates are included where they are known to give you idea of what to expect before starting the content.

Warning

This document is still a work-in-progress and will continue to evolve with your help. You’re contributions are welcome!

Info

An OUTCOMES box is provided within each section to give you an idea about what you should understand before moving on. If you have completed the content provided but still feel you haven’t achieved the outcome, then please help by finding additional content and submit a pull request.

Pre-requisites

The material throughout assumes the reader already has an understanding of Linux and the command line.

If you’re coming from a Windows background and looking for a decent introduction to Linux, you might want to check out this free course from edX in your own time.

Introduction to Linux (14 weeks)

Containers

Containers Theory

  • Know what a container actually is.
  • Know what cgroups are.
  • Know what namespaces are.
  • Know what a container runtime is and common implementations.

Before you can begin learning and using Kubernetes, you need to first understand containers.

VMware Kubeacademy provides an introductory Containers 101 course to get you started.

Start Course (30 min)

Kubernetes interfaces with containers through a container runtime interface, known as ‘CRI’ which will be covered in the Kubernetes sections further below.

There are many options when selecting a container runtime. Each one comes with it’s own pros and cons based on the underlying architecture choices. For a relatively current summary of the main players, check out this comparison document from capital one .

Read Document (30 min)

And if you’re specifically looking for resources on Red Hat’s podman;

Read posts (1 hr)

Now that you have read about container runtimes, this visual might be of use to see how they interact with the Linux kernel.

CRI, oh my!

Containers Practical

  • Know what a Dockerfile is and how to create one.
  • Know how to build and tag an OCI image with at least one tool such as docker or podman.
  • Know how to run and exec into containers and capture logs for troubleshooting.
  • Know what a Container Registry is and how to push and pull images.

So now you know what a container is, how do you create one?

If you haven’t already created a container whilst following along in the previous section, now is the time to try it out.

There are a number of tutorials available in this space, with some examples below. If the links are dead or you find better ones, please submit a pull request.

  • Complete a general course on container runtimes.

Cloud Yuga (3 hr)

  • For Docker specifically, perform some container inception with Docker-In-Docker

Cloud Yuga (1 hr)

  • For Red Hat environments, ensure you know the Podman/Buildah/Skopeo toolchain.
A Cloud Guru

And for the more adventurous, ensure you create a container directly using runc to see what’s really under the hood. 😲

Cloud Native

Cloud Native Theory

  • Know what Cloud Infrastructure is
  • Know what Cloud Native is and how it is different from Cloud Infrastructure
  • Know what it takes to become a Cloud Native Engineer

Although learning Cloud Infrastructure is outside the scope of this getting started with Kubernetes material you should have an idea of;

  • Cloud vs Cloud Native

Watch video (1 min)

  • Cloud Native Concepts

Read posts (1 hr)

  • VMware also has a course available to answer frequently asked questions.

Start course (1hr 30min)

Cloud Native Practical

  • Know how to use the environment where you are deploying Kubernetes to.

There is no prescribed journey to learning about Cloud Infrastructure, this is entirely dependant on the vendor selected and their technology stack.

Kubernetes is Cloud Agnostic, meaning you can run it on any Public, Private or Hybrid Cloud. Each provider has it’s own set of tools and techniques to get you started.

The only expectation is that you need to know about the environment where you are deploying Kubernetes to.

Some examples of vendor specific training resources can be found in the following links.

You might also want to check out what it takes to be a Cloud Native Engineer, particularly as the industry continues to move towards that dream of a Cloud Agnostic future.

Cloud Native Engineer (♾ infinity hrs)

If none of the above makes sense, or you are completely new to the use of cloud technologies, you might want to check out this free introductory course from edX .

Start Course (14 weeks)

Kubernetes

Kubernetes Theory

  • Know what Kubernetes is
  • Know why Kubernetes is useful
  • Know some of the history to understand why Kubernetes has become the defacto standard.
  • Know the difference between declarative and imperative.
  • Know what 12 Factor Applications are.
  • Know what Promise Theory is.
  • Know what Graph Theory is.
  • Know what Control Loops are.

What is it?

So what exactly is Kubernetes and why do we want it?

  • The business case for Kubernetes.

Start Course (30 min)

History

Where did Kubernetes come from?

  • The Kubernetes Documentary

Part 1 (25 min)

Part 2 (25 min)

What does it do?

If you’re after a quick run through on what the components are and common scenarios, Microsoft has the following videos available on the link below.

  • How Kubernetes works light board video (6min)
  • Common Kubernetes scenarios (4min)

Watch videos (10 min)

Concepts

Kubernetes uses a number of concepts which might be foreign if you haven’t seem them before.

If you’re completely new to Kubernetes, you might want to check out the following resources.

  • A summary of Graph Theory concepts.

View content (30 min)

  • A summary of Promise Theory concepts.

View content (1 hr)

  • A summary of 12 Factor Applications

View content (1 hr)

Demos

Some of the more interesting demos from around the web to give you an idea of some of the capabilities.

  • Kubernetes for Sysadmins

Demo (45 min)

  • GitOps with Kubernetes

Demo (30 min)

  • “Hashinetes”

Demo (30 min)

  • Building Cloud-native applications with Kubernetes and Istio

Demo (20 min)

Courses

There are a number of courses available on the VMware KubeAcademy website arranged here by difficulty level.

Beginner courses
  • An introduction to Kubernetes for Virtual Infrastructure Administrators.

Start Course (45 mins)

  • Start to navigate the Cloud Native ecosystem.

Start Course (45 min)

  • Kubernetes 101

Start Course (15 min)

  • Kubernetes Architecture in depth

Start Course (45 min)

  • Kubernetes Platform Security

Start Course (1 hr)

Intermediate courses
  • Operational considerations for Virtual Infrastructure administrators.

Start Course (1hr 30min)

Advanced courses
  • Networking in Kubernetes

Start Course (3 hr)

  • The Kubernetes Machine (Component Deep dive)

Start Course (1 hr)

  • Cluster API

Start Course (1 hr 30 min)

  • Introduction to Operators

Start Course (1 hr 30 min)

More courses

If you’re still hungry for more, there is a self-paced introduction workshop from edX you can complete.

Start Course (14 weeks)

Certification

If you’re keen to get some certifications under your belt, the Cloud Native Computing Foundation offers the following industry standard certifications;

Kubernetes Practical

  • Be able to pass the Certified Kubernetes Application Developer (CKAD) exam
  • Be able to pass the Certified Kubernetes Administrator (CKA) exam

Ok, so now you know what it is, how do you learn how to use it?

VMware has published relevant Labs for free on KubeAcademy .

These are a mix of theory and hands on labs rolled into each course.

Beginner

  • Setup your Developer Workstation

Start Course (1hr 30min)

  • Learn how to create a container and deploy to Kubernetes.

Start Course (1hr 30min)

  • Learn how to build an application for Kubernetes

Start Course (1 hr)

  • Get more Hands on time with a Kubernetes Lab.

Start Course (30min)

  • Kubernetes Core Concepts (Platform)

Start Course (2hr 30min)

  • Kubernetes Core Concepts (Managing Applications)

Start Course (1hr 30min)

Intermediate

  • Learn different methods for building container images.

Start Course (1 hr)

  • See different methods for observing applications on Kubernetes

Start Course (45 min)

  • Kubernetes Core Concepts (Clusters)

Start Course (1hr 30min)

  • Kubernetes Core Concepts (Additional Application features)

Start Course (1hr 30min)

  • Kubernetes workloads and security

Start Course (1 hr)

  • Interacting with Kubernetes

Start Course (15 min)

  • Interacting with Cloud Providers

Start Course (45 min)

  • Cluster Operations with various tools.

Start Course (1 hr)

  • Helm 101

Start Course (2 hr)

Advanced

  • How to prepare for the Certified Kubernetes Administrator exam.

Start Lab (2 hrs)

  • The Certified Kubernetes Application Developer practice exam.

Start Lab (3 hrs)

  • More Certified Kubernetes Application Developer practice scenarios.

Start Lab (4 hrs)

  • Interactive Scenarios for Certified Kubernetes Administrator

Start Lab (3+ hrs)

Tip

This last one is not free, but is the best exam simulator available!

  • Killer CKS, CKA, CKAD exam simulator.

Start Lab (3+ hrs)