Getting Started with Kubernetes

Video description

6+ Hours of Video Instruction

More than six and a half hours of video instruction, including demos and labs, providing detailed explanations for leveraging Kubernetes as a tool for container orchestration and automation, including how to use it with Docker, pods, labels, volumes, as well as architectures and deployments.

Containers are taking over the traditional IT Environment to bring new software to users. Kubernetes was developed as an independent solution to manage and orchestrate containers in the corporate data center. As the source code has been donated to the Cloud Native Computing Foundation, Kubernetes has rapidly become the standard for container orchestration. It can be used within the premises of a corporate data center, but also integrated in all of the leading public cloud offerings.

Getting Started with Kubernetes LiveLessons offers a complete overview of all that is needed to start working with Kubernetes. It starts by explaining why Kubernetes is needed, and how it is used to orchestrate containers. During the course, a lab environment is built using Minikube, thus allowing anyone to create a Kubernetes test environment. Through lesson labs, demos, and whiteboard demonstrations, the course covers advanced topics, such as creating services, exposing Kubernetes Pods to external users, and integrating Kubernetes into public cloud offerings. It also provides an introduction to working with the API.

Topics include:

  • Understanding Container Orchestration
  • Working with Containers
  • Setting up a Lab Environment
  • Using Kubernetes Components
  • Scaling and Upgrades
  • Kubernetes Networking
  • Accessing Pods
  • Using Volumes
  • Setting up Kubernetes for Production
  • Exploring the API

About the Instructor

Sander van Vugt is an independent Linux trainer, author, and consultant living in the Netherlands. Sander has written numerous books about different Linux related topics, and many articles for Linux publications around the world. Sander has been teaching Red Hat, SUSE, and LPI Linux classes since 1994. As a consultant, he is specialized in Linux High Availability solutions and Performance Optimization. More information about Sander is on his website at

Skill Level

  • Intermediate/experienced Linux administrators

Learn How To

  • Set up Kubernetes for container orchestration
  • Use Docker within a Kubernetes environment
  • Set up a lab, use Minikube, and work with kubectl
  • Deploy applications in Kubernetes
  • Use pods, replica sets, and labels
  • Scale deployments up and down
  • Work with networking in a Kubernetes environment
  • Store data in Kubernetes with persistent and non-persistent volumes
  • Leverage different architectures for optimal production environments
  • Set up Kubernetes in different public cloud environments
  • Use kubeadm to create physical Kubernetes clusters
  • Get information from the API
  • Who Should Take This Course
  • IT Staff (administrators and devops) who want to offer containerized applications to their users.
  • Course Requirements
  • At least one physical machine with 4GB of RAM or more to use as the Kubernetes host

Lesson Descriptions

Lesson 1
Lesson 1, “Understanding Container Orchestration,” will cover containers and Kubernetes. The current market position of Kubernetes and the Kubernetes architecture will be discussed. How Kubernetes is related to the Cloud Native Computing Foundation will also be explained.

Lesson 2
Lesson 2, “Working with Containers,” will tackle Docker basics, including how to start a container, as well as how to manage it. Docker networking and Docker storage will also be discussed.

Lesson 3
In Lesson 3, “Setting up a Lab Environment” we will walk through the setup of a lab environment. To get familiar with the concepts of Kubernetes, how to set up Minikube will be detailed, as well as how to work with kubectl. The procedures of deploying applications in Kubernetes, how to import images in Kubernetes, and starting your first application will also be covered.

Lesson 4
Lesson 4, “Using Kubernetes Components,” will delve into the different Kubernetes components. Starting with the Pod and working up from there. How namespaces can be used to isolate pods, and how to work with replica sets and deployments will be explained.

Lesson 5
In Lesson 5, “Scaling and Upgrades” some of the most important properties will be explained. This lesson will cover labels in detail, as well as scaling deployments. Scaling up and down, how to perform rolling updates, as well as rollback, will be covered.

Lesson 6
Lesson 6, “Kubernetes Networking”. In this lesson, the organization of networking in a Kubernetes environment will be detailed, including the three different layers of networking. How networking within a pod functions, and pod-to-pod networking will also be explained.

Lesson 7
Lesson 7, “Accessing Pods,” discusses the different ways to make pods accessible, including the Kubernetes Proxy, port forwarding, services, and Ingress.

Lesson 8
Lesson 8, “Using Volumes”. This lesson explains how to store data in a Kubernetes environment. The different types of volumes available will be discussed; both the persistent volume and the non-persistent volume. How to set up persistent volumes, using persistent volume claims will be shown.

Lesson 9
Lesson 9, “Setting up Kubernetes for Production,” will start with an explanation of the different architecture options, and move on to the setup of Kubernetes in different public cloud environments. How to use kubeadm to create a physical Kubernetes cluster in a datacenter will also be covered.

Lesson 10
In Lesson 10, “Exploring the API,” a detailed discussion of what the API is, and how to get information out of the API beyond using the kubectl command line utility.

Table of contents

  1. Introduction
    1. Getting Started with Kubernetes: Introduction 00:03:27
  2. Lesson 1: Understanding Container Orchestration
    1. Learning objectives 00:00:28
    2. 1.1 What are Containers? 00:07:11
    3. 1.2 What is Kubernetes? 00:04:18
    4. 1.3 Alternatives to Kubernetes 00:01:52
    5. 1.4 Understanding Kubernetes Architecture 00:04:29
    6. 1.5 Kubernetes and the Cloud Native Computing Foundation 00:01:21
  3. Lesson 2: Working with Containers
    1. Learning objectives 00:00:35
    2. 2.1 Container Solutions Overview 00:05:33
    3. 2.2 Getting Started with Docker 00:07:13
    4. 2.3 Understanding Container Architecture 00:06:04
    5. 2.4 Operational Container Management 00:13:13
    6. 2.5 When Does a Container Stop? 00:06:52
    7. 2.6 Docker Command Overview 00:04:22
    8. 2.7 Understanding Docker Networking 00:04:12
    9. 2.8 Understanding Docker Storage 00:06:43
    10. Lesson 2 Lab: Operating Docker Containers 00:03:47
  4. Lesson 3: Setting up a Lab Environment
    1. Learning objectives 00:00:43
    2. 3.1 Installing Kubectl 00:12:02
    3. 3.2 Installing Minikube 00:09:32
    4. 3.3 Working with Minikube 00:03:47
    5. 3.4 Working with Kubectl 00:08:50
    6. 3.5 Importing Images into Kubernetes 00:04:41
    7. 3.6 Working with YAML Files 00:07:29
    8. 3.7 Running an Application from the Kubernetes Dashboard 00:03:42
    9. Lesson 3 Lab: Running a Kubernetes Application 00:02:15
  5. Lesson 4: Using Kubernetes Components
    1. Learning objectives 00:00:40
    2. 4.1 Understanding Kubernetes Resource Types 00:04:16
    3. 4.2 Understanding the Pod 00:03:40
    4. 4.3 Starting Pods 00:06:04
    5. 4.4 Understanding Namespaces 00:02:32
    6. 4.5 Working with Namespaces 00:03:06
    7. 4.6 Working with Replica Sets 00:05:58
    8. 4.7 Understanding Deployments 00:06:25
    9. Lesson 4 Lab: Running a Deployment 00:08:54
  6. Lesson 5: Scaling and Upgrades
    1. Learning objectives 00:00:41
    2. 5.1 Working with Object Properties 00:12:47
    3. 5.2 Using Labels 00:05:14
    4. 5.3 Scaling Deployments 00:04:23
    5. 5.4 Performing Rolling Updates 00:01:06
    6. 5.5 Working with DaemonSet 00:01:31
    7. 5.6 Performing Rollback 00:05:52
    8. Lesson 5 Lab: Scaling Deployments 00:10:19
  7. Lesson 6: Kubernetes Networking
    1. Learning objectives 00:00:24
    2. 6.1 Understanding Kubernetes 3-tier Networking 00:04:25
    3. 6.2 Networking within a Pod 00:04:25
    4. 6.3 Setting up Pod-to-pod Networking 00:05:27
    5. 6.4 Exposing Services 00:00:54
    6. Lesson 6 Lab: Exploring Network Configuration 00:04:39
  8. Lesson 7: Accessing Pods
    1. Learning objectives 00:00:34
    2. 7.1 Using Kubernetes Proxy 00:04:39
    3. 7.2 Using Port Forwarding 00:04:34
    4. 7.3 Using Services 00:08:14
    5. 7.4 Using DNS in Kubernetes Services 00:06:13
    6. 7.5 Understanding Service Types 00:01:57
    7. 7.6 Using Ingress 00:06:22
    8. Lesson 7 Lab: Accessing Pods 00:05:13
  9. Lesson 8: Using Volumes
    1. Learning objectives 00:00:26
    2. 8.1 Understanding Kubernetes Volume Usage 00:02:57
    3. 8.2 Understanding Volume Types 00:04:13
    4. 8.3 Using Volumes 00:04:45
    5. 8.4 Working with Persistent Volumes 00:12:40
    6. Lesson 8 Lab: Configuring Storage 00:13:29
  10. Lesson 9: Setting up Kubernetes for Production
    1. Learning objectives 00:00:34
    2. 9.1 Choosing Appropriate Architecture 00:02:08
    3. 9.2 Running Kubernetes in Azure 00:13:03
    4. 9.3 Running Kubernetes in AWS 00:01:53
    5. 9.4 Running Kubernetes in Google Cloud 00:12:39
    6. 9.5 Using kubeadm to Create a Physical Cluster 00:16:28
  11. Lesson 10: Exploring the API
    1. Learning objectives 00:00:32
    2. 10.1 Understanding the API 00:02:58
    3. 10.2 Using Kubernetes Proxy to Connect to the API 00:04:35
    4. 10.3 Exploring the API 00:06:33
    5. Lesson 10 Lab: Exploring the API 00:07:15
  12. Summary
    1. Getting Started with Kubernetes: Summary 00:00:21

Product information

  • Title: Getting Started with Kubernetes
  • Author(s): Sander van Vugt
  • Release date: June 2018
  • Publisher(s): Addison-Wesley Professional
  • ISBN: 0135237823