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 www.sandervanvugt.com.

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
  2. Lesson 1: Understanding Container Orchestration
    1. Learning objectives
    2. 1.1 What are Containers?
    3. 1.2 What is Kubernetes?
    4. 1.3 Alternatives to Kubernetes
    5. 1.4 Understanding Kubernetes Architecture
    6. 1.5 Kubernetes and the Cloud Native Computing Foundation
  3. Lesson 2: Working with Containers
    1. Learning objectives
    2. 2.1 Container Solutions Overview
    3. 2.2 Getting Started with Docker
    4. 2.3 Understanding Container Architecture
    5. 2.4 Operational Container Management
    6. 2.5 When Does a Container Stop?
    7. 2.6 Docker Command Overview
    8. 2.7 Understanding Docker Networking
    9. 2.8 Understanding Docker Storage
    10. Lesson 2 Lab: Operating Docker Containers
  4. Lesson 3: Setting up a Lab Environment
    1. Learning objectives
    2. 3.1 Installing Kubectl
    3. 3.2 Installing Minikube
    4. 3.3 Working with Minikube
    5. 3.4 Working with Kubectl
    6. 3.5 Importing Images into Kubernetes
    7. 3.6 Working with YAML Files
    8. 3.7 Running an Application from the Kubernetes Dashboard
    9. Lesson 3 Lab: Running a Kubernetes Application
  5. Lesson 4: Using Kubernetes Components
    1. Learning objectives
    2. 4.1 Understanding Kubernetes Resource Types
    3. 4.2 Understanding the Pod
    4. 4.3 Starting Pods
    5. 4.4 Understanding Namespaces
    6. 4.5 Working with Namespaces
    7. 4.6 Working with Replica Sets
    8. 4.7 Understanding Deployments
    9. Lesson 4 Lab: Running a Deployment
  6. Lesson 5: Scaling and Upgrades
    1. Learning objectives
    2. 5.1 Working with Object Properties
    3. 5.2 Using Labels
    4. 5.3 Scaling Deployments
    5. 5.4 Performing Rolling Updates
    6. 5.5 Working with DaemonSet
    7. 5.6 Performing Rollback
    8. Lesson 5 Lab: Scaling Deployments
  7. Lesson 6: Kubernetes Networking
    1. Learning objectives
    2. 6.1 Understanding Kubernetes 3-tier Networking
    3. 6.2 Networking within a Pod
    4. 6.3 Setting up Pod-to-pod Networking
    5. 6.4 Exposing Services
    6. Lesson 6 Lab: Exploring Network Configuration
  8. Lesson 7: Accessing Pods
    1. Learning objectives
    2. 7.1 Using Kubernetes Proxy
    3. 7.2 Using Port Forwarding
    4. 7.3 Using Services
    5. 7.4 Using DNS in Kubernetes Services
    6. 7.5 Understanding Service Types
    7. 7.6 Using Ingress
    8. Lesson 7 Lab: Accessing Pods
  9. Lesson 8: Using Volumes
    1. Learning objectives
    2. 8.1 Understanding Kubernetes Volume Usage
    3. 8.2 Understanding Volume Types
    4. 8.3 Using Volumes
    5. 8.4 Working with Persistent Volumes
    6. Lesson 8 Lab: Configuring Storage
  10. Lesson 9: Setting up Kubernetes for Production
    1. Learning objectives
    2. 9.1 Choosing Appropriate Architecture
    3. 9.2 Running Kubernetes in Azure
    4. 9.3 Running Kubernetes in AWS
    5. 9.4 Running Kubernetes in Google Cloud
    6. 9.5 Using kubeadm to Create a Physical Cluster
  11. Lesson 10: Exploring the API
    1. Learning objectives
    2. 10.1 Understanding the API
    3. 10.2 Using Kubernetes Proxy to Connect to the API
    4. 10.3 Exploring the API
    5. Lesson 10 Lab: Exploring the API
  12. Summary
    1. Getting Started with Kubernetes: Summary

Product information

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