Learn DevOps: The Complete Kubernetes Course
4.4 (880 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
5,627 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learn DevOps: The Complete Kubernetes Course to your Wishlist.

Add to Wishlist

Learn DevOps: The Complete Kubernetes Course

Learn how you can run, deploy, manage and maintain containerized Docker applications on Kubernetes
4.4 (880 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
5,627 students enrolled
Created by Edward Viaene
Last updated 12/2016
Curiosity Sale
Current price: $10 Original price: $40 Discount: 75% off
30-Day Money-Back Guarantee
  • 4.5 hours on-demand video
  • 1 Article
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Be able to understand, deploy and use Kubernetes
  • Get started with Containerization and run those containers on Kubernetes
  • Use Kubernetes as a single node and on AWS
  • Be able to run stateless and stateful applications on Kubernetes
  • Be able to deploy Wordpress and MySQL on Kubernetes
  • Be able to administer Kubernetes
View Curriculum
  • There are no immediate prerequisites to start this course. The first lectures in the course will explain how to install the software

When Google started running containers a decade ago, nobody could reach this kind of infrastructure agility and efficiency. Using this knowledge, Google released Kubernetes as an free and open source project. Nowadays Kubernetes is used by small companies and big enterprises who want to gain the efficiency and velocity Google has.

You can containerize applications using Docker. You can then run those containers on your servers, but there's no way you can manage those efficiently without extra management software. Kubernetes is an orchestrator for your containers that will create, schedule and manage your containers on a cluster of servers. Kubernetes can run on-premise or in the cloud, on a single machine or on thousands of machines.

This course will help you to gain understanding how to deploy, use, and maintain your applications on Kubernetes. If you are into DevOps, this is a technology you need to master. Kubernetes has gained a lot of popularity lately and it is a well sought skill by companies.

I will show you how to build apps in containers using docker and how to deploy those on a Kubernetes cluster. I will explain you how to setup your cluster on your desktop, or on the cloud using AWS. I use a real world example app (Wordpress with MySQL - blogging software) to show you the real power of Kubernetes: scheduling stateless and stateful applications.

The introduction lectures that show you the Kubernetes desktop installation are free to preview, so you can already have a go at it before buying the course!

This is the fourth course in the "Learn DevOps" series. You don't need to have watched any previous "Learn DevOps" course, but if you find you need some more background on microservices and containerization, then I would highly recommend you to take the course "Learn DevOps: Continuously Deliver Better Software".

Who is the target audience?
  • There is no prior knowledge needed, but a dev/ops/cloud/linux/networks background will definitely help
  • The course optionally uses Kubernetes on AWS. If you want to learn more about AWS itself, you will need to read some AWS documentation or take another AWS course. The course only explains how to use Kubernetes on AWS, it doesn't explain how to use AWS itself. Still, all steps that you need to follow are explained in this course.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
65 Lectures
Course Introduction
3 Lectures 05:02

Support and Course Materials

Procedure Document
Introduction to Kubernetes
18 Lectures 01:17:44

What is kubernetes, why would you use it, what benefits does it give you

Preview 02:51

On Kubernetes you run containers. In this lecture you'll learn what containers are all about.

Preview 05:29

Kubernetes can run almost anywhere. You can run it on-premise or in the cloud.

Preview 02:10

This lectures explains what minikube is, a piece of software that can help you run kubernetes locally.

Preview 01:20

This demo shows you how to run Kubernetes using Minikube.

Preview 06:50

An introduction to Kops - Kubernetes Operations. Software to provision and manage Kubernetes on AWS.

Introduction to Kops

Kops only works on Mac / Linux, so you'll need to setup a vagrant box to run kops. If you are running already MacOS or Linux, and you don't want to be working in a VM, you can skip this step.

Demo: Preparing kops install

You first need to open an AWS account, add an IAM user for kops and setup DNS using route53

Demo: Preparing AWS for kops install

Once the AWS setup is complete, you can use kops to setup the Kubernetes cluster on AWS

Demo: Cluster setup on AWS using kops

Kubernetes only runs containers. In this lecture you learn how to build your application in a container.

Preview 06:20

In this demo I show you how to build a NodeJS example app in a container.

Demo: Building docker containers

Once you have built a container, you need to put it on a registry, so Kubernetes can download it. You have public and private registries. Putting a container on a public registry is free.

Docker Image Registry

In this demo I show you how to push the container with our app to Docker Hub

Demo: Pushing Docker Image

THis lecture explains how to run a first application on Kubernetes

Running first app on Kubernetes

Once the first app is available on Docker Hub, I show you how to run this app on our Kubernetes cluster

Demo: Running first app on Kubernetes

In this demo I show you some useful commands you can use to manage your containers on Kubernetes

Demo: Useful commands

If you're running your cluster on AWS, you can create a LoadBalancer (AWS ELB) for your application

Service with LoadBalancer

In this demo I show you how to add an ELB (Elastic Load Balancer) to the example app

Demo: Service with AWS ELB LoadBalancer
Kubernetes Basics
16 Lectures 01:14:25

In this lecture I explain the Kubernetes node architecture

Node Architecture

You can use the replication controller to spin up multiple instances of your application

Replication Controller

This demo shows you how to spin up multiple instances of your application

Demo: Replication Controller

Deployment objects allow a better abstraction of an application running on Kubernetes. You can update your application version easily and roll-back if something goes wrong.


In this demo I show you how our example application can be a deployment.

Demo: Deployments

Exposing our application for external traffic can be done using services


In this demo I show you how to expose our example app

Demo: Services

Labels can be used to tag objects


Labels together with NodeSelectors can be used to run pods on a specific node

Demo: NodeSelector using Labels

Healthchecks can be used to periodically check whether our app in the pod is still working


In this demo I show you how to use healthchecks

Demo: Healthchecks

Application credentials (for instance to access a database) can be stored in secrets.


Credentials can be mounted as a volume in a pod. This demo shows you how to do that.

Demo: Credentials using Volumes

First attempt to run a wordpress on Kubernetes. In a later version I'll show you a better way of running Wordpress on Kubernetes

Demo: Running Wordpress on Kubernetes

Kubernetes also has a Web UI, a dashboard that makes it easy to use kubernetes


In this brief demo I give an overview how to use the dashboard

Demo: WebUI
Advanced Topics
16 Lectures 01:25:13

You can do service discovery using DNS.

Service Discovery

This is a demo showing you how service discovery works

Demo: Service Discovery

Containers are immutable. You can still use ConfigMaps for dynamic configuration data that needs to be present on the container.


In this demo I show you how to use ConfigMap to create a custom configuration file for a standard nginx container

Demo: ConfigMap

Ingress controller allows you to have a reverse proxy / load balancer within your Kubernetes cluster and without using an external load balancer.

Ingress Controller

In this demo I show you how to use the built-in kubernetes ingress controller

Demo: Ingress Controller

If you want to run stateful applications on Kubernetes, you need volumes.


In this demo I show you how to use volumes in Kubernetes

Demo: Volumes

Kubernetes can auto-provision volumes for you, no need to manually create an EBS volume on AWS

Volumes Autoprovisioning

Now we know enough to use volumes to launch a fully working wordpress

Demo: Wordpress With Volumes

Pet Sets enables you to run distributed applications and databases on Kubernetes, like ElasticSearch, MySQL Cluster, or Cassandra

Pet Sets

Daemon Sets will make sure a pod is running on every node

Daemon Sets

Resource Usage Monitoring using influxdb and grafana will give you application metrics

Resource Usage Monitoring

This demo explains how to setup Resource Usage Monitoring using heapster + influxdb + grafana

Demo: Resource Usage Monitoring

Autoscaling can scale pods horizontally based on predefined targets


In this demo I show you how horizontal pod autoscaling (hpa) works

Demo: Autoscaling
Kubernetes Administration
11 Lectures 38:45

This lectures gives an architecture overview of the master services

The Kubernetes Master Services

As an administrator, you can implement resource quotas to make sure one team or one person doesn't take up all resources

Resource Quotas

Namespaces can logically separate a Kubernetes cluster


In this demo I explain how to implement namespace quotas

Demo: Namespace quotas

Users can be added to your Kubernetes cluster. This lecture explains authentication and authorization

User Management

In this demo I show you how to add users using certificates

Demo: Adding Users

Every pod needs a unique IP. Not all infrastructure can easily handle this. CNI and overlay networks can help.


Sometimes you want to add / remove nodes. This is how it is done

Node Maintenance

This demo shows how to drain a Kubernetes node

Demo: Node Maintenance

Once you put a Kubernetes cluster in production, you are going to want to have full high availability. This lecture explains you how to achieve that.

High Availability

This demo shows how to enable HA on your AWS Kubernetes cluster using kops

Demo: High Availability
Course Completion
1 Lecture 00:39
About the Instructor
Edward Viaene
4.4 Average rating
3,781 Reviews
19,516 Students
6 Courses
DevOps, Cloud, Big Data Specialist

I've been a System Administrator and full stack developer for over 10 years, the typical profile for a DevOps engineer. I've been working in multiple organizations and startups. I've cofounded a startup that focusses on applying DevOps and Cloud. I have been training people in newer technologies, like Big Data. I've trained a lot of people working in FTSE 100 & S&P 100 companies. Today I mainly work together with companies to improve their software delivery processes, while coaching and teaching on platforms like Udemy.