Kubernetes Mastery on AWS
4.1 (251 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,770 students enrolled

Kubernetes Mastery on AWS

Deploy a Kubernetes cluster on AWS and reliably rollout, rollback, scale, secure, expose & autoscale dockerized apps
4.1 (251 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,770 students enrolled
Created by Naveen Joy
Last updated 4/2020
English [Auto]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 11 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Deploy, Scale and Tear Down a Kubernetes Cluster on AWS
  • Master working with Pods, Volumes, AWS Dynamic EBS Volumes, QoS, Probes, Labels, Secrets, ConfigMaps, Services, Ingress, Publishing Services, AWS ELB & SSL Termination on the ELB
  • Deploy, Rollout, Rollback, Scale, Autoscale & Load Balance apps on the AWS Kubernetes cluster
  • Basic knowledge of cloud computing and TCP/IP.
  • A Mac or Windows PC with Internet connectivity to do the labs.
  • Some IT experience working with systems and networks will be helpful.
  • A valid credit card to open an AWS account.

Here are some student testimonials.

** Really the course is so helpful because explanation is so good and explains every lesson in simple language, which means anybody can understand**

** Clear information and right to the point **

** Among the best kbs tuts I've had **

I welcome you to join my course to learn about the wonderful and exciting world of Kubernetes!!

This course is designed for those who are beginners in Kubernetes, but wanting to attain its mastery.

You'll learn Kubernetes in a step-by-step manner with increasing sophistication.

You will be deploying Kubernetes on AWS and doing a number of labs.

No prior knowledge of Kubernetes, Docker or YAML is assumed.

This course will help you absorb the material faster and retain it much longer.

After completing this course, you'll:

1) Learn the basics of Kubernetes, its architecture and how to deploy applications on it.

2) Practice hands-on by deploying, scaling, rolling back and autoscaling applications on your cluster.

3) Do a number of labs with increasing sophistication, starting from the very basics of a Pod.

4) Learn the declarative approach of working with the Kubernetes system.

5) Learn the microservices style of architecting applications.

6) Learn how to spin-up a Kubernetes cluster on AWS, scaling the cluster and tearing it down.

7) Learn how to work with Kubernetes using the kubectl command line client and dashboard.

8) Learn to monitor a Kubernetes cluster's performance on AWS.

9) Learn to provision an AWS ELB, SSL Termination on the ELB.

10) Learn to deploy Services, expose services securely to the Internet and deploy Ingress.

Who this course is for:
  • Beginner cloud computing professionals interested in learning Kubernetes.
  • Anyone with some basic IT knowledge curious about learning Kubernetes.
  • Anyone who wants to deploy a Kubernetes cluster on AWS and learn how to run their applications on it.
Course content
Expand all 96 lectures 11:12:55
+ Introduction to Kubernetes
9 lectures 47:19

Get an overview of the Kubernetes platform.

Preview 04:46

Learn about declarative configuration and how to work with Kubernetes using this method.

Preview 08:15

Learn the advantages of using the declarative form of management as opposed to using the imperative style of management.

Preview 04:36

Take a brief look at the evolution and history of Kubernetes.

History of Kubernetes

Learn the benefits that Kubernetes brings to modern IT/DevOps environments.

What are the benefits of Kubernetes?

Learn about the microservices architectural style using an example. You'll appreciate how it differs from a monolithic application. 

What are Microservices?

Learn the differences between the mutable and immutable ways of managing your software.

Mutable vs Immutable Infrastructure

Kubernetes uses YAML to represent its API objects. In this lesson, you'll will refresh key YAML topics.

YAML Refresher

Learn how Kubernetes interacts with Docker to run the applications.

How does Kubernetes work with Docker?
+ Deploy and Explore a Kubernetes Cluster on AWS
24 lectures 03:02:32

Understand the objectives of this section


You'll learn about the lab topology and prepare to get started with the labs by installing the required software on your PC.

Lab Topology & Requirements

You'll learn about the architecture of Kubernetes and the various software components in a Kubernetes cluster.

Kubernetes Architecture

Setup a Virtual Machine on your computer to talk to the AWS cloud. This VM will be used to manage your Kubernetes cluster on AWS.

LAB: Setup the K8s cluster manager VM
LAB: Setup AWS Credentials
LAB: Create AWS VPC & Subnets
LAB: Setup VPC Subnet Attributes

This is where the rubber meets the road. You'll deploy a Kubernetes cluster on AWS!

LAB: Deploy a Kubernetes cluster on AWS

Learn about the AWS IAM and how it works with the Kubernetes cluster deployed on AWS.

Demo: Explore the AWS IAM for Kubernetes

Use the Kubernetes command line client named kubectl to interact with the cluster you deployed on AWS.

LAB: Explore the K8s Cluster using kubectl

Learn about namespaces in Kubernetes and work with them hands-on using kubectl.

LAB: Working with Namespaces

Learn the basics of authentication and access control in K8s. 

Kubernetes Authentication Basics

Explore service accounts, secrets and tokens in the AWS Kubernetes cluster.

Demo: Explore Kubernetes Service Accounts

Learn about the various authentication methods used in a Kubernetes system.

Kubernetes Authentication Methods

Explore the authentication methods configured in the Kubernetes cluster on AWS.

Demo: Explore Kubernetes Authentication Methods

Learn the basics of how to secure your Kubernetes cluster.

Securing Kubernetes

Learn about RBAC and its concepts in the context of Kubernetes.

Role Based Access Control (RBAC)
Demo: Explore Role Based Access Control (RBAC)

Learn how the access control process flows through the various software modules within the Kubernetes API server.

Access Control Flow in Kubernetes

Explore the Kubernetes dashboard and learn about its capabilities.

Demo: Explore the Kubernetes Dashboard

Learn the monitoring architecture in Kubernetes and how it collects and stores cluster-wide metrics data.

Kubernetes Monitoring Architecture

Let's explore the Grafana Monitoring UI of our Kubernetes cluster.

Demo: Monitoring Kubernetes: Grafana UI

Learn how to expand and contract the number of worker nodes in your Kubernetes cluster.

LAB: Scaling the AWS Kubernetes Cluster

Learn how to destroy the Kubernetes cluster on AWS.

LAB: Tearing down the AWS Kubernetes Cluster
+ Pods, Labels, Dynamic EBS Volumes, Secrets, ConfigMaps, QoS, Probes
32 lectures 03:39:15

Learn the objectives for this section.


From my git repo, clone all the YAML files required to do the labs into your VM.

LAB: Get YAML files using Git

Learn some commonly used terms in K8s.

Kubernetes Term Definitions

Learn the various ways of managing Kubernetes objects using kubectl.

Managing Kubernetes Objects using kubectl

Learn about "Pods" in Kubernetes.

What's a Pod?

Learn about a multi-container Pod and when to create them.

A Multi-Container Pod
Shared Resources in a Pod

Learn how pods are managed in production deployments.

How are Pods Managed in Kubernetes?

Learn about a pod manifest.

What's a Pod Manifest?

Create, view and describe your first nginx pod.

Preview 14:59

Learn how to access the pod from your management VM.

LAB: Port Forward to the Nginx Pod

Learn to run commands inside a pod's containers.

LAB: Run a command inside the Nginx Container

Learn to copy files between the VM and the pod's container.

LAB: Copy files from and to the Nginx Container

Learn about labels and label selectors.

Labels and Selectors

Work hands-on with labels and selectors.

Preview 10:40

Learn to update the container image in the Pod.

LAB: Update the Nginx image in the Pod

Learn to get logs from a pod's container and also about the concept of cluster-level-logging.

LAB: Get logs from the Nginx Container

Learn about and work with annotations.

LAB: Annotate the Nginx Pod

Learn to delete a pod and group of pods.

LAB: Delete the Nginx Pod

Learn about QoS in K8s.

Quality of Service (QoS) in a Pod

Learn to setup resource requests and limits for a Pod.

LAB: Setup Quality of Service (QoS) for the Nginx Pod

Learn about the two different types of probes in Kubernetes.

Liveness and Readiness Probes

Learn to setup a liveness health-check probe for your container.

LAB: Setup a Liveness Health Check for the Nginx Pod

Why do you need to setup a volume?

You'll learn to answer this question after attending this lesson.

Kubernetes Volumes

Add a volume to the nginx pod.

LAB: Add an emptyDir Volume to the Nginx Pod

Learn about the Kubernetes volume of type hostPath; then do a lab to set it up in a Pod.

Preview 08:45

Learn about the StorageClass, PVC and how to provision dynamic persistent EBS volumes in AWS.

AWS Dynamic Persistent EBS Volume

You'll dynamically provision an AWS EBS Volume and mount it into your nginx pod.

LAB: Add an AWS Dynamic Persistent EBS Volume to the Nginx Pod

Create a pod with two containers (nginx + git sync) co-ordinating and sharing data via a shared volume.

LAB: Create a Multi-Container Pod - (Nginx+GitSync) sharing data using a Volume

Learn about secrets in Kubernetes; how to create and consume them inside your containers.

Kubernetes Secrets

Learn about ConfigMaps in Kubernetes; how to create and consume them inside your containers.

Kubernetes ConfigMaps

Setup an Nginx pod to serve HTTPS connections using secrets and configmaps.

LAB: Setup Nginx to Serve HTTPS Connections using a Secret and ConfigMap
+ ReplicaSets, Scaling and AutoScaling
7 lectures 59:45

Learn about the objectives of this section.


In this lesson you’ll learn about ReplicaSets.

You'll learn,

1) The benefits of a ReplicaSet,

2) How to control App scaling (both up and down) using a ReplicaSet,

3) How a ReplicaSet discovers the pods it manages,

4) The characteristics of applications that use a ReplicaSet.


In this lesson, you’ll learn how to define a ReplicaSet YAML file.

You'll learn how the ReplicaSet YAML file differs from the pod’s YAML file.

A ReplicaSet Spec for the Nginx Pod

In this lesson, we’ll do a lab to create and inspect an Nginx RS.

LAB: Create and Inspect an Nginx ReplicaSet

Learn to scale the Nginx ReplicaSet both imperatively and declaratively.

Preview 08:23

Learn about the Horizontal Pod Autoscaler and how it works.

Autoscaling a ReplicaSet using the Horizontal Pod Autoscaler (HPA)

Do a lab to watch the HPA in action as it autoscales our Nginx ReplicaSet.

LAB: Autoscaling the Nginx ReplicaSet using the HPA
+ Deployments, RollingUpdate, Scaling & Autoscaling
9 lectures 01:05:23

Learn the purpose of a deployment object in Kubernetes.


Learn about the software deployment strategies in Kubernetes.

Deployment Strategies

Learn how the RollingUpdate strategy deploys software in the wonderful world of Kubernetes.


You’ll learn about the deployment spec we’ll be using for doing the labs in this section.

You’ll also learn about the key differences between this spec and the RS spec.

Deployment Spec

Learn to create your first Nginx deployment.

LAB: Create the Nginx Deployment

Learn to update an existing deployment.

Preview 08:22

Learn how to rollback a deployment to the previous stable revision.

LAB: Rollback a Deployment

Learn to scale up, scale down and clean up a deployment.

LAB: Scaling and Cleaning up the Nginx Deployment

Learn to autoscale a deployment in Kubernetes using the HPA.

LAB: Autoscaling the Nginx Deployment
+ Services, Service Discovery and Publishing Services
10 lectures 01:03:53

Get introduced to a service in K8s.

What's a Service?

Learn about a ClusterIP.

What's a ClusterIP?

Learn to define a service in YAML.

Define a Service

Do a lab in which you'll create your first Nginx service.

LAB: Create a Nginx Service

Learn how to discover services in k8s.

Service Discovery

Do a lab and learn how service discovery works using the DNS service.

LAB: Service Discovery

Learn the details behind how a service is implemented.

Service Networking

Learn the different ways of publishing a service in K8s.

Preview 05:45

In this lab, you'll publish a service using the service type NodePort.

LAB: Publish service using NodePort

Learn to securely (i.e. with TLS)  publish a service using the AWS ELB.

LAB: Securely publish service using the AWS ELB
+ Ingress
5 lectures 34:48

Learn what's an Ingress resource in K8s.

What's an Ingress?

Learn how an ingress controller works.

What's an Ingress Controller?

In this lab, you'll deploy a nginx ingress controller.

Preview 07:05

Learn to setup name-based virtual hosting using the ingress resource.

LAB: Name-based virtual hosting using an Ingress

Learn to setup path based routing using ingress.

LAB: Path-based routing using an Ingress