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
Bestselling
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
English
Curiosity Sale
Current price: $10 Original price: $40 Discount: 75% off
30-Day Money-Back Guarantee
Includes:
  • 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
Requirements
  • There are no immediate prerequisites to start this course. The first lectures in the course will explain how to install the software
Description

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
04:41:37
+
Course Introduction
3 Lectures 05:02

Support and Course Materials
00:50

Procedure Document
02:22
+
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
01:43

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
03:02

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
08:27

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

Demo: Cluster setup on AWS using kops
08:15

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
05:02

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
03:03

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

Demo: Pushing Docker Image
03:09

THis lecture explains how to run a first application on Kubernetes

Running first app on Kubernetes
04:17

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
05:10

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

Demo: Useful commands
03:28

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

Service with LoadBalancer
02:22

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

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

In this lecture I explain the Kubernetes node architecture

Node Architecture
04:37

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

Replication Controller
05:09

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

Demo: Replication Controller
05:08

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.

Deployments
06:15

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

Demo: Deployments
08:33

Exposing our application for external traffic can be done using services

Services
04:02

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

Demo: Services
04:33

Labels can be used to tag objects

Labels
03:15

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

Demo: NodeSelector using Labels
03:12

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

Healthchecks
02:17

In this demo I show you how to use healthchecks

Demo: Healthchecks
03:01

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

Secrets
06:59

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

Demo: Credentials using Volumes
03:48

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
09:30

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

WebUI
01:23

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

Demo: WebUI
02:43
+
Advanced Topics
16 Lectures 01:25:13

You can do service discovery using DNS.

Service Discovery
05:59

This is a demo showing you how service discovery works

Demo: Service Discovery
08:41

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

ConfigMap
04:00

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

Demo: ConfigMap
05:12

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

Ingress Controller
03:18

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

Demo: Ingress Controller
05:37

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

Volumes
05:36

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

Demo: Volumes
06:12

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

Volumes Autoprovisioning
03:15

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

Demo: Wordpress With Volumes
15:24

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

Pet Sets
03:07

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

Daemon Sets
01:57

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

Resource Usage Monitoring
03:04

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

Demo: Resource Usage Monitoring
05:14

Autoscaling can scale pods horizontally based on predefined targets

Autoscaling
04:13

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

Demo: Autoscaling
04:24
+
Kubernetes Administration
11 Lectures 38:45

This lectures gives an architecture overview of the master services

The Kubernetes Master Services
03:00

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

Resource Quotas
05:17

Namespaces can logically separate a Kubernetes cluster

Namespaces
03:28

In this demo I explain how to implement namespace quotas

Demo: Namespace quotas
05:55

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

User Management
03:43

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

Demo: Adding Users
03:16

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

Networking
05:33

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

Node Maintenance
01:59

This demo shows how to drain a Kubernetes node

Demo: Node Maintenance
01:23

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
02:35

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

Demo: High Availability
02:36
+
Course Completion
1 Lecture 00:39
Congratulations
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.