3.63 out of 5
4 reviews on Udemy

Containerize Your Applications in the ‘Kubernetes Way’

Containerize your applications to build a productionized container infrastructure with the power of Kubernetes
Packt Publishing
26 students enrolled
English [Auto-generated]
Deploy an automation server and create a Pipeline as Code solution to build and deploy an application.
Create, run and scale your own Kubernetes cluster from scratch.
Explore the other different features like load balancing, DNS and more.
Create a container from your existing source code, and make your application ready to run on any Kubernetes-supported Cloud.
Make your Application safe and secure while running in a Cloud Environment.
Learn how to troubleshoot your application deployment on Kubernetes.
Create a continuous delivery pipeline with the power of Kubernetes.
Deploy and test your applications on on-premise and production GCE environments.

Kubernetes is a powerful tool developed by Google for managing containerized applications in a clustered environment. Kubernetes helps you automate, deploy, scale, and manage containerized applications. It gives you the freedom to take advantage of on-premise cloud infrastructures. It also helps you write better cloud-native applications. Kubernetes is a core tool in DevOps; it gives you the ability to schedule and manage containers (Docker or otherwise) at scale. If you’re looking to containerize your applications in the ‘Kubernetes Way’ then this Course is perfect for you!

This comprehensive 3-in-1 Course is a fast-paced guide offering hands-on and practical guidance with step-by-step instructions and assignments to Containerize Your Applications in the ‘Kubernetes Way’! You’ll initially get up and running with fundamentals of Kubernetes and container orchestration. You’ll build your own container cluster and manage it as well as secure the cluster and handle service discovery. Moving further, you’ll dive into the Kubernetes architecture, components and services to build a production-class container infrastructure. Finally, you’ll write cloud-native applications, test, monitor and deploy your application on the cloud (GCP) using Kubernetes.

By the end of this course, you’ll containerize your applications to build a production-class container infrastructure in the ‘Kubernetes way’.

Contents and Overview

This training program includes 3 complete courses, carefully chosen to give you the most comprehensive training possible.

The first course, Kubernetes in 7 Days, covers managing applications in a productionised Kubernetes. This course will help you to unravel the potential of Kubernetes in the shortest amount of time. You will begin by creating your first Kubernetes cluster using Minikube. Then move on to exploring Kubernetes in some more detail and build a complex cluster. By the 4th Day, you will learn to enhance your cluster with a Grafana based monitoring dashboard in your application. Once you’ve acquired knowledge on dashboards, explore how a Kubernetes cluster provisions storage to its applications and learn how to secure them. Finally, learn to create a CI/CD pipeline to build and deploy your applications.

The second course, Containerization the Kubernetes Way, covers developing, running, and deploying your containerized applications using Kubernetes. You’ll learn how to deploy Kubernetes on several cloud platforms. Further, you’ll learn to package your code to run in Kubernetes. You’ll dive into the Kubernetes architecture and components and explore how they come together to build a production-class container infrastructure. Later you will learn to work with pods, deployments, and services. By the end of this course, you’d have gained the required skills to deploy a Kubernetes cluster and a simple application in a development ecosystem.

The third course, Kubernetes for Developers, covers writing cloud-native applications that can run anywhere with the power of Kubernetes. This course will give you detailed instructions, real-world examples, and helpful advice. We will begin by learning to set up the development environment on your local machine. Then move on to package your code into Kubernetes, and manage container lifecycles. Once you get a grip on understanding the RBAC Authorization, very easily explore the monitoring techniques with Prometheus and troubleshoot your service account. Finally, you will learn to create a cluster in your Google Cloud Environment and deploy your application in production. By the end of this video, you will develop, run, test, and deploy your application in the cloud, utilizing the power of Kubernetes to its full potential.

By the end of this course, you’ll containerize your applications to build a production-class container infrastructure in the ‘Kubernetes way’.

About the Authors

  • Des Drury is a passionate technologist with many years’ experience in all aspects of data center infrastructure, automation, programming languages, and developer workflows. He is:
    – Co-organizer of the Melbourne Kubernetes Meetup
    – Author of Open Datacenter, a Kubernetes distribution with numerous datacenter workloads;
    – A Kubernetes evangelist from the early days of its release;
    – Passionate about helping teams to understand complex technology
    – Teaches the skills required for team members to solve their own problems
    – An excellent communicator and enjoys helping people, passing on knowledge, and improving processes
    He has also built numerous tools that have been adopted as enterprise solutions and has received a number of awards.

  • Braithe E.S. Warnock is currently a Managing Cloud Architect for the Financial Services division of Ernst & Young. He has had the opportunity to work with several of the largest PCF installations on an international scale. He helped build the framework for the adoption of PCF at top companies such as Ford, Comcast, DISH, HSBC, and Charles Schwab. As a vendor-neutral consultant, Braithe enjoys helping people understand the rapidly-evolving world of cloud and application architectures. Braithe has more than six years’ experience and specialization in global digital transformations. He has expertise in various cloud and cloud platform technologies (PCF, AWS, Azure, VMware, Netflix OSS, Kubernetes, and OpenShift) and also the Java and Spring Boot frameworks. He has developed over 100 microservices using Spring Boot, Java 7/8, Spring Cloud, and Netflix OSS, spanning half a dozen unique cloud-native microservice architectures. He also has experience in developing machine learning models using AWS, Spark, and MLlib to support product recommendations and enhance customer data.

  • Jan Stomphorst is a senior solution architect with more than 20 years’ experience in the automation industry; he creates the best solutions for his customers. He uses advanced technical solutions to help developers create stable continuous pipelines and develop systems for 100% uptime. He is a Docker and Kubernetes expert. He supports several customers with on-premise and in-the-cloud Kubernetes strategies.

Kubernetes in 7 Days

Course overview

This video will give you an overview about the course.

Installing the Pre-reqs

This video describes how to install the pre-requisite software for the course.

   •  Install kubectl and Virtual box

   •  Install Minikube and Helm and Visual Studio

   •  Install kubectx and kubens and kubetail

Creating a Cluster with Minikube

This video describes the steps to create a local development cluster using Minikube.

   •  Get to know how to install a number of the Kubernetes add-ons

   •  Understand the importance of Agile development and communication

Exploring Your Cluster

This video provides a quick exploration of some of the important aspects of the Minikube cluster.

   •  Learn how to work on the Kubernetes dashboard and the CLI.

Deploying an Application

This video describes how to build an application with Docker.

   •  Describe the application in a Kubernetes native way

   •  Deploy the application to Kubernetes

   •  Finally test it in Kubernetes.


This video is your homework for day one.

   •  Take a look at the Question and try solving it on your own before the next lecture

Kubernetes Architecture

This video does a quick whistle stop tour of the Kubernetes architecture.

   •  Explore Kubernetes processes.

   •  Understand Kubernetes concepts.

   •  Learn important Kubernetes resource types

Kubernetes Manifests

This video describes the Kubernetes manifests

   •  Explore in detail Kubernetes resources.

   •  Create Kubernetes resources.

Kubectl Config

This video describes the kubeconfig file.

   •  Configure kubectl CLI using the kubeconfig file

   •  Download the template URL

Helm for Package Management

This video describes the need for package management in Kubernetes.

   •  Describe Kubernetes package called Helm.

   •  Install Helm to Clusters.

   •  Re-deploy first-app using Helm.

Deploying a Complex Application

This video describes how to deploy a more complex application using Helm.

   •  Explore the Helm chart

   •  Install Helm

   •  Deploy MediaWiki


This video is your homework for day two.

   •  Deploy the first-app application to Minikube.

Install a Multi-Node Cluster

This video describes how to install a multi-node Kubernetes cluster with kubeadm using a project called k8s-vagrant-multi-node.

   •  Explore about kubeadm from the documentation

   •  Install Vagrant

   •  Install the cluster

Explore the Cluster

This video explores some the features of a multi-node Kubernetes cluster.

   •  Check the nodes present

   •  Explore in detail about all the nodes

Deploy Initial Workloads

This video demonstrates how to deploy some of the first workloads you will need on your cluster.

   •  Deploy Helm

   •  Deploy Ingress Controller and Heapster

   •  Install Kubernetes Dashboard

Deploy First-App with Ingress

This video describes how to redeploy the first-app using Helm, but this time with an Ingress resource

   •  Take a look at the Ingress resource template

   •  Deploy into the cluster

   •  Test the application


This video is your homework for day three.

   •  Install the multi-node cluster onto your own machine and deploy the initial workloads to it.

Probes and Self Healing

This video describes how Kubernetes uses probes to facilitate self healing of workloads in the cluster.

   •  Explore types of Probe

   •  Learn about Probe actions

   •  Implement Probes in code


This video describes Prometheus, a very popular monitoring solution and timeseries database (TSDB).

   •  Explore Prometheus architecture

   •  Install Prometheus into the cluster

   •  Explore some of the available metrics


This video provides a quick overview of Grafana.

   •  Learn about Grafana

   •  Deploy Grafana into the cluster

   •  Log in to the Grafana web UI

Grafana Dashboards

This video describes how to find pre-built Grafana dashboards

   •  Explore the dashboard

   •  Understand the different areas of the dashboard

   •  Deploy the 2nd dashboard


This video is your homework for day four.

   •  Install Prometheus and Grafana into the cluster

PVs and PVCs

This video describes how Kubernetes uses PersistentVolumes (PVs) and PersistentVolumentClaims (PVCs) to manage storage for an application.

   •  Explore types of Persistent volumes

   •  Learn about Access Modes

   •  Discuss how storage classes are used to enable the dynamic provision of persistent volumes

Install Rook

This video provides an overview of Rook, a Kubernetes operator to manage storage clusters like Ceph.

   •  Explore Rook architecture

   •  Install Rook into the cluster.

   •  Deploy an example to test the block storage

Explore Rook

This video describes how you can use the Rook Toolbox to get a deeper understanding of the Ceph components.

   •  Explore in detail about the Rook toolbox

   •  Deploy Rook in an example

Deploy a HA Database

This video describes how to deploy a HA MariaDB database that makes use of the persistent storage provided by Rook.

   •  Install MariaDB

   •  Deploy a HA version of the MariaDB database

   •  Clean up the rook sample workloads


This video is your homework for day five.

   •  Install Rook on your cluster and then redeploy Prometheus and Grafana to use persistent storage.


This video describes how Role Based Access Control (RBAC) is used within Kubernetes to secure components of the cluster.

   •  Explore RBAC resources and implement it

   •  Learn about cluster roles and implement it

   •  Explore cluster role bindings and implement it


This video describes how to install Keycloak, an open source access management and identity server, into the cluster.

   •  Install Keycloak

   •  Configure Keycloak to help protect Kubernetes

Configuring Kubernetes to Use OIDC

This video describes how to configure Kubernetes to use OIDC to secure cluster components.

   •  Get the ca.crt file

   •  Restart the API server

Securing the Kubernetes Dashboard

This video describes how to extend the Kubernetes Dashboard deployment so that it is now protected by an OIDC proxy that authenticates with Keycloak.

   •  Deploy the Kubernetes manifests

   •  Connect to Ingress

   •  Log in to the Kubernetes dashboard

Securing Kubectl

This video describes how to configure kubectl so that a user authenticated by Keycloak is used to access the cluster.

   •  Authenticate Keycloak

   •  Update the kube config file

   •  Map the user against cluster and access the cluster


This video is your homework for day six.

   •  Secure the Kubernetes cluster using Keycloak

Overview of CI/CD

This video provides a quick overview of Continuous Integration (CI) / Continuous Deployment (CD) concepts.

  • Explore Typical CI workflow

  • Learn about Continuous Delivery and Continuous Deployment


This video describes how to install Jenkins, a very popular automation server often used to implement CI/CD.

  • Install Jenkins

  • Deploy a Docker in Docker (DIND) service to build containers in the cluster.

Pipeline as Code

This video describes how Jenkins implements the Pipeline as Code concept using a Jenkinsfile.

  • Learn the types of Jenkinsfile

  • Explore Kubernetes plugin for Jenkins

  • Take a look at the Jenkinsfile to build the first-app

Create a Pipeline

This video describes how to create a Jenkinsfile to build and deploy the first-app we saw in earlier Sections of the course.

  • Create a fork

  • Navigate to the Jenkinsfile and modify the repository name

  • Build the Pipeline created


This video is your homework for day seven

  • Install Jenkins and setup a pipeline to build and deploy the first-app

Containerization the Kubernetes Way

The Course Overview

This video provides an overview of the entire course.

The Kubernetes Container Orchestration System

This video will help you understand core Kubernetes concepts.

  • Get a quick architectural overview of Kubernetes

  • Learn the purpose of our Kubernetes

  • Learn what container orchestration is about

Core Concepts of Kubernetes: Objects and Nodes

Further understand core Kubernetes concepts.

  • Explore objects in Kubernetes terms

  • See how objects provide a form of configuration

  • Learn about Kubernetes KNodes and how they are distinguished

Google Kubernetes Engine (GKE)

In this video, you will see how enterprises can leverage Google’s fully managed Kubernetes.

  • Learn about the distinguishing features of GKE

  • Take a tour of the console

  • Configure a cluster

Amazon Elastic Container Service for Kubernetes (EKS)

How enterprises can leverage Amazon’s fully managed Kubernetes.

  • Explore the distinguishing features of EKS

  • Take a tour of the console

  • Configure a cluster

Azure Kubernetes Service (AKS)

In this video, you will see how enterprises can leverage Azure’s fully managed Kubernetes.

  • Explore the distinguishing features of AKS

  • Take a tour of the console

  • Configure a cluster

Prerequisites for Creating a Kubernetes Cluster in EKS

In this video, you will be provided with preliminary steps for creating a running application in EKS.

  • Create your Amazon EKS service role in the IAM console

  • Create your Amazon EKS cluster VPC

  • Install and configure Kubernetes for Amazon EKS

Creating and Deleting a Kubernetes Cluster in EKS

This video will help you manage EKS clusters in AWS.

  • Create your Amazon EKS cluster in the console

  • Delete your Amazon EKS cluster from the console

  • Delete your AWS EKS services

Deploying a Scalable, Stateless Application to EKS

Managing deployments to Kubernetes.

  • Launch and configure your Amazon EKS worker nodes

  • Enable your worker nodes to join your cluster

  • Create your demo application

Docker Networking Model

In this video, you will see how containerized applications communicate.

  • Understand Docker network design challenges

  • Understand Docker networking architecture

  • Understand maintaining application portability

Kubernetes Networking Model

This video will help you see how Kubernetes and Docker interact from a network perspective.

  • Understand the “IP-per-pod” model

  • Explore Kubernetes/Docker networking

  • Learn about Kubernetes IP address management

Implementation of the Kubernetes Model

In this video, you will learn about networking solutions capable of creating the network architecture that Kubernetes needs to run.

  • Understand Container to container communication

  • Explore Pod to pod communication

  • Learn about Kubernetes mode implementations

Volumes – The Essential Directory

This video will help you understand the Kubernetes volume abstraction.

  • Cover the types of volumes

  • What is a Kubernetes volume?

  • The Kubernetes volume abstraction

Persistent Volumes: Storing Persistent Data

In this video, you will understand the PersistentVolume subsystem API.

  • Cover the PersistentVolume

  • Cover the PersistentVolumeClaim

  • Explore PersistentVolume lifecycle

Storage classes

In this video, you will understand the concept of a StorageClass in Kubernetes.

  • Explore the StorageClass resource

  • Learn about The StorageClass resource mount options

  • Learn about the StorageClass resource configuration

Dynamic Volume Provisioning: Creating On-Demand Storage Volumes

In this video, you will see how dynamic volume provisioning allows storage volumes to be created on-demand.

  • Explore the Dynamic volume provisioning

  • Enable Dynamic Provisioning

  • Use Dynamic Provisioning

Volume Limits –Limits on Storage

In this video, you will look at the limits of how many volumes can be attached to a node.

  • Learn about Node-specific Volume Limits

  • Explore Kubernetes default limits

  • Learn about the Dynamic volume limits

Using Secrets in Applications

In this video, you will see how to manage a ‘pod definition’ YAML file that will mount volumes containing secrets.

  • Define a Kubernetes Secret API object

  • Use secrets as volumes mounted on a Pod

  • Use secrets as environment variables in a Pod

Kubernetes Service

This video will help you understand Kubernetes pod, service, ReplicaSet and deployment objects.

  • Explore Kubernetes key terms: Pod

  • Learn about Kubernetes key terms: Deployment

  • Understand Kubernetes key terms: ReplicaSet

Achieving High Availability

In this video, you will Identify key steps needed to achieve high availability.

  • Understand two ways to achieve an HA cluster

  • Learn about Load-balancing between multiple masters

  • Review an introduction to the concept of federation

Scaling Kubernetes

In this video, you will create multiple instances of your application.

  • Configure the ‘replicas’ property

  • Use the Horizontal Pod autoscaling feature

  • Scale horizontally - Deployment with ReplicaSet

Test your knowledge

Kubernetes for Developers

The Course Overview

This video will give you an overview of the course.

Installation of kubectl, Minikube (Kubernetes), and Docker

The aim of this video is learn the installation process.

  • Get to know the Pre-requisites for the development environment

  • Explore the minikube features

  • Set up your machine

What Is Kubernetes and Why Do We Need It?

This video is a detailed explanation of Kubernetes.

  • Find out why do we need Containers

  • Explore the use of Kubernetes

  • Take a business case for Kubernetes and Containers

Introduction to Basic Concepts: Nodes, Pods, and Containers

Dive deeper into Kubernetes with this video.

  • Get an overview of Kubernetes

  • Learn the master process

  • Study in detail about Node, Pods and Containers

Introduction to Basic Concepts : Replica Sets, Deployments and Services

The aim of this video is to learn the basics to deploy an application.

  • Learn about Replica Sets

  • Explore in depth about deployment and a Deamon Set

  • Get familiarized with Services

What a Container Image Is, How to Build a Container?

The aim of this video is to learn the purpose of a Container.

  • Study in detail about a Container

  • Go through the Dockerfile commands

  • Study the techniques to build a Container and to create a base image

Example Code in Node.js Compiled into a Container

The aim of this video is to learn about running code in a Container.

  • Create the Node.js app

  • Create the Dockerfile

  • Test and run the app and cleanup

Example Code in Golang Compiled into a Container

Take another example of running code in a Container.

  • Create the Golang app

  • Create the Dockerfile and run the app

  • Learn the cross compiling techniques

Create Your Images for Use Within Kubernetes – Uploading to a Registry

The aim of this video is to learn how to create a Container.

  • Learn the steps for preparation to run Docker in Kubernetes

  • Know more about Docker registry

  • Upload and verify Docker image on Docker Hub

Run Commands in Your Container, and Get Debugging Logs, Running on Local Docker

The aim of this video is to learn the commands in a Container.

  • Explore how to run commands in Docker

  • Take a look at a few examples

  • Learn how to get logs with the use of examples

Pod and Deployment Lifecycle, along with Pod Lifecycle Hooks

The aim of this video is to learn how a Pod works.

  • Know more about a Pod’s status field

  • Explore the possible values for Phase

  • Define postStart and preStop handlers

How Labels and Annotations Work with the Kubernetes Infrastructure

The aim of this video is to learn how labels work.

  • Get in-depth knowledge about labels and annotations

  • Learn how to attach label to a node

  • Walk through a labels selectors example

Deployments – Creating a Rollout of Your Pod

The aim of this video is to learn the techniques for rolling out your Pod.

  • Study in depth about deployment

  • Take a look at the YAML example

  • Scale a deployment

Persistent Storage

The aim of this video is to learn the techniques for putting storage in your deployment.

  • Learn about Persistent Storage(PV) and persistent Storage Claim (PVC)

  • Create a PV and a PVC

  • Connect the PVC in a Pod

Handle Arguments and Configuration Values Like ConfigMap & Environment Variables

The aim of this video is to learn to add configuration files in the Pod (Docker).

  • Learn environment variables with examples

  • Learn ConfigMap object with examples

Services – Connecting Your Pod (Deployment) to the Outside World

The aim of this video is to learn to connect your Pod to the internet.

  • Learn more about Ingress

  • Explore in detail about services and its types

  • Connect the service to the outside world with an example

Role and ClusterRole and Namespaces

The aim of this video is to explain Role and ClusterRole.

  • Learn about Namespace

  • Study in detail about RBAC

  • Explore Role and ClusterRole

Creating a Service Account and Binding This into the Deployment (Pod)

The aim of this video is to give a detailed explanation on the service account.

  • Learn about service account with an example

  • Connect dervice account for deployment

Referring to Resources, Aggregated ClusterRoles

With this video learn to add more roles to one service account.

  • Know more about resource names

  • Learn about aggregrated ClusterRoles

  • Add and view default ClusterRoles

Creating a User for Kubernetes

Here we’ll now put everything together.

  • Create a namespace

  • Create a Role

  • Export the config file

Set Up and Run Prometheus

The aim of this video is to learn to setup monitoring.

  • Explore Prometheus

  • Set up monitoring with an example

Set Up and Run Grafana from Prometheus to Build Custom Dashboards

The aim of this video is to learn to show graphics for the monitoring.

  • Learn about Grafana

  • Know more about Configmaps

  • Deploy your application

Logging off Your Application Using a Sidecar Container

The aim of this video is to learn the logging in to a central service.

  • Study about Sidecar Containers

  • Take a look at an example with 2 sidecars

  • Walk through an example of fluentd

Troubleshooting the Pod and/or Deployment

What do we do when a Pod service or node doesn’t work?

  • Go through the most important debugging commands

  • Find out more about debugging deployment

  • Debug Pods, Services and Nodes

Create a Kubernetes Cluster at GCE

The aim of this video is to create a cluster.

  • Create a cluster at GCE

  • Delete a Cluster

Deploying Application/Pod in GCE

In this video, we’ll learn to deploy your application

  • Create a deployment

  • Run the application


This video will give you a brief summary of the course.

  • Review what we’ve learnt so far!

Test your knowledge
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
3.6 out of 5
4 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
30-Day Money-Back Guarantee


7 hours on-demand video
Full lifetime access
Access on mobile and TV
Certificate of Completion