Docker & Kubernetes: The Practical Guide [AWS Platform]

Real-time project - Deploy an application to a Kubernetes cluster using Jenkins CI/CD pipeline, Ansible, Docker, Webhook

4.42 (103 reviews)
Udemy
platform
English
language
Operating Systems
category
Docker & Kubernetes: The Practical Guide [AWS Platform]
1,077
students
13.5 hours
content
Aug 2023
last update
$84.99
regular price

What you will learn

How Should a Kubernetes Cluster Be Managed?

Making a Kubernetes Cluster from Scratch "The Hard Way"

How to Secure a Kubernetes Cluster

Real-time project: Use the Jenkins CI/CD pipeline to deploy an application to a Kubernetes cluster.

Architecture of the Kubernetes Cluster

Microservices Vs. Monolithic

Components of Control Plane - API Server, Etcd, Scheduler, Controller Manager

Setup of Kubernetes Cluster AWS Environment

Types of Cluster

Installation of Minikube Server

Labels & Selectors

Scaling & Replication

ReplicationController & ReplicaSet

Deployment & Rollback

Kubernetes Networking

Volumes in Kubernetes Cluster

Persistent Volumes

Beginner level introduction to Docker

Learn practical techniques for creating and deploying containers on Docker platform.

Build Docker images using Dockerfiles & containers with hands-on exercises

Manage Data & networking in Docker

Use Docker compose to create multi-container applications

Practical approach to learn Docker for the Absolute Beginner

Namespaces in Kubernetes

Resource Management for Pods and Containers

Kubernetes HPA - Horizontal Pod Autoscaler

Kubernetes Jobs, Init container

Quizzes

Why take this course?

Course Description:

Section 1: Kubernetes Introduction

  • What is Kubernetes

  • Why do we use Kubernetes?

  • Monolithic approach for developing applications.

  • Microservices Vs. Monolithic

  • Kubernetes Gateway API

  • Evolution of Containers, Dockers & VMs

  • Microservices running as containers

  • Kubernetes - Orchestration or container management tool

  • Features of Kubernetes

Section2: Architecture of the Kubernetes Cluster

  • The architecture of the Kubernetes Cluster

  • Understand architecture with various examples

  • Working with Kubernetes

  • Roles of Master Node

  • Components of Control Plane (Master Node)

  • API Server

  • Etcd

  • Scheduler

  • Controller Manager

  • Kubelet

  • Service Proxy

  • POD

  • Container Engine - Docker, Containerd, or Rocket

Section 3: Setup of Kubernetes Cluster AWS Environment

  • Setup Kubernetes Master and Worker Node on AWS Environment

  • Update the System

  • Install HTTP package

  • Docker Installation

  • Setup open GPG Key

  • Install the Kubernetes packages

  • Bootstrapping the master node

  • Configure Worker Nodes

Section 4:  Kubernetes Concepts - Cluster types, Minikube Server, YAML, Pod, Kubelet, Ports

  • Kubernetes  Cluster

  • Types of Cluster

  • All-in-one (Single Node Cluster)

  • Single-node, single-master, and multi-worker node clusters.

  • Single-Node etcd, multi-Master, and Multi-Worker Node Cluster.

  • About Minikube 

  • Installation of Minikube Server

  • Create the first POD using manifest file written in YAML Language

  • Kubelet commands

  • Check logs of the container

  • Create multiple containers in a POD

  • Kubernetes Annotations

  • Variables in the YAML file

  • Defining Ports

Section 5: Kubernetes Pod Restart Policy

  • Overview of Pod Restart Policies

  • Three restart policies: Always, OnFailure & Never

  • Lab - Create a pod definition with ‘restartPolicy’ as Always

  • Lab - Create a pod definition with ‘restartPolicy’ as OnFailure

  • Lab - Change the pod definition a bit to check the working of OnFailure

  • Lab - 4. Create a pod definition with ‘restartPolicy’ as Never

Section 6: Labels & Selectors

  • Labels & Selectors

  • Commands for managing labels & selectors

  • Declarative vs. Imperative Kubernetes commands

  • Two types Selectors

  •   Equality Based

  •   Set based

  • Practice Lab - Labels & Selectors

  • Practice Lab - Assign a label to the running POD

  • Practice Lab - Search the pod with equality & set-based

  • Node Selector

  • Lab - Create a pod on a specific node

Section 7: Scaling & Replication

  • What is ReplicationController?

  • Features of RC

  • Practice Lab - Create Replicas of POD using RC

  • Practice Lab - Recreate the POD, if it crashes, fails, or terminated

  • Scale up & scale down the POD as the load increases

  • Practice Lab - Scale up & scale down the POD

  • What is ReplicaSet?

  • Difference between ReplicationController & ReplicaSet

  • Practice Lab - Create Replicas of POD using ReplicaSet

  • Practice Lab - Use set-based match expressions in RS

Section 8: Deployment & Rollback

  • Overview of Deployment and Rollback

  • Manifest for a POD with one container using the deployment object.

  • Lab: Launch an application with two PODs using the deployment object.

  • Lab: Using the deployment object, upgrade an application from version 1 to version 2.

  • Lab: Roll back the application to the previous version.

  • Lab: Roll back the application to any specific version.

Section 9: Kubernetes Networking

  • Overview of Kubernetes Networking

  • Container communication via localhost

  • Practice Lab - container-to-container communication on specific port within a pod

  • Pod-to-pod communication

  • Practice Lab - Pod-to-pod communication

  • Object - Service

  • Why service is required?

  • Service type

  • Cluster IP

  • NodePort

  • LoadBalancer

  • Headless

  • Practice Lab - Access the appl/service using cluster IP within the cluster using the service object

  • Practice Lab - Access the appl/service using NodePort outside the cluster using the service object

Section 10: Volumes in Kubernetes Cluster

  • Overview of Volumes in Kubernetes Cluster.

  • Volume types

  • EmptyDir

  • hostpath

  • Practice Lab: Create a POD with attached volume using volumes.

  • Practice Lab - Attach a shareable volume for containers within a POD.

  • Practice Lab - Attach a shareable volume for containers within a POD as well as with the host or worker node.

  • Practice Lab - EmptyDir

  • Practice Lab - hostpath

Section 11: Persistent Volumes

  • Overview of Persistent volumes

  • PersistentVolumeClaim - PVC

  • Configure a Volume using AWS ElasticBlockStore

  • Configure a Pod to Use a PersistentVolume for Storage

  • Practice Lab - Create a PersistentVolume

  • Practice Lab - Create a PersistentVolumeClaim

  • Practice Lab - Create a Pod to Use a PersistentVolume for Storage

Section 12: Namespaces in Kubernetes

  • Overview of Namespaces

  • Lab - Create new namespaces

  • Lab - Create Pod and Service in Namespaces

  • Lab - Switch between Kubernetes namespaces

  • Lab - Create pods in the namespace.

  • Lab - delete a Kubernetes namespace

Section 13: Resource Management for Pods and Containers

  • Overview of resource management for pods, containers

  • Lab resource-based quota

  • Lab - Apply pod quotas to namespaces

  • Requests and Limits

  • Lab - Set requests and limits in each container running in a pod.

  • Lab - Apply quotas to namespaces

  • Lab - Create pods with resources in namespaces

Section 14: Kubernetes HPA - Horizontal Pod Autoscaler

  • Kubernetes autoscaling basics

  • Lab: Configuring Minikube Cluster

  • Lab: Installation of Metric Server

  • Lab: Creating pods using deployment objects

  • Lab: Configure HPA - Horizontal Pod Autoscaler

  • Lab: A new pod is created automatically if the CPU load reaches a threshold value

  • Lab: A new pod is automatically terminated if the CPU load falls below the threshold value

Section 15: Kubernetes Jobs, Init container

  • Overview of Jobs and cron job pattern

  • Lab: Create a Pod Using Job Object

  • Lab: Run Multiple Pods in Parallel Using Job Object

  • Lab: Create jobs on a repeating schedule using CronJob

  • About Init Container and their use cases

  • Lab: Init Container

Section 16: Introduction to docker containers

  • Introduction about containers

  • Installation of Docker

  • Create a first container

  • Fetch container image from docker hub

  • Run a container in the background, interactive with tty terminal

  • Delete exited dockers using a single command

  • Get complete details of a running container

  • Check logs & stats of a running container

  • Port forwarding

  • exec, rename & restart the running container

  • Attach a container

  • Kill/stop, pause/unpause a container

  • Create, start, the cp command

  • Export/Import Command in Docker

  • Create an image from a running container

  • Pull a specific version image from the Docker hub

  • Image history, inspect & remove the image

Section 17: Dockerfile

  • Overview of Dockerfile, layered architecture

  • Create centos 7 images using Dockerfile

  • Overview of LABEL, ENV & RUN Command

  • Overview of WORKDIR

  • Copy, and add commands with their differences

  • Create a user account with a password using dockerfile

  • CMD Command

  • SSH to a container

  • Overview of EXPOSE Command

  • ENTRYPOINT in Dockerfile

Section 18: Manage Data in Docker

  • Overview of managing data in Docker

  • Volumes

  • Create & attach a volume to a container

  • Delete volumes from the Docker host machine

  • Bind mounts

Section 19: Networking in Docker

  • Bridge networking

  • Run containers in custom-created bridge networking

  • Enable communication between dockers belonging to different bridge network

  • DNS enabled with custom bridge networking

  • Host networking

  • None networking

  • Connect one or more networks to a running container

  • Create a private docker registry

  • How to allow images in the private registry for non-secure network

Section 20: Docker Compose

  • Overview of docker-compose

  • Docker compose Installation

  • Create my first docker-compose file

  • Create the docker-compose file in JSON language

  • Learn basic commands

  • docker-compose up

  • docker-compose down

  • docker-compose create

  • docker-compose start

  • docker-compose stop

  • docker-compose rm

  • docker-compose images

  • docker-compose ps

  • docker-compose pause

  • docker-compose unpause

  • docker-compose kill

  • docker-compose port <servername> port

  • docker-compose logs

  • docker-compose exec

  • docker-compose run

  • docker-compose scale

  • docker-compose top

  • Attach a volume & port mapping using docker-compose

  • Build a custom image using docker-compose

Section 21: Real-time project - Deploy an application to a Kubernetes cluster using Jenkins CI/CD pipeline, Ansible, Docker, Git, Webhook etc.


Reviews

Mohit
December 30, 2023
this is not a good advice to start learning a course from last. being a instructor, you should know which tool is priority and set the lecture accordingly
Mathew
May 30, 2023
I had so many takeaways from this stellar tutorial on Kubernetes and Docker. I never understood the volumes in Kubernetes and every time I took a tutorial on this subject, I came out as confuse as ever. The 61 minutes section on emptyDir/hostpath, and how to set up persistent volume was the best part for me. now I can create persistent volume and incorporate it into pod deployment like no tomorrow. The Docker part tutorial in this course can be use a reference guide and Shikhar make it so simple for you to understand, and the last part the CI/CD pipeline. Folks, Shikhar Verma is an amazing teacher. I have purchased several of his tutorials. he breaks down the complex subject into simple explanation. Thank you Shikhar for this wonderful Tutorial. Mathew. K
Saurav
April 27, 2023
Well explained with examples and references. Also come to know thorough practical knowledge of the Docker and Kubernetes.
Hema
April 25, 2023
Instructor is very conceptual and tried to cover each topic in a proper theory with Lab sessions. One should try this course....

Charts

Price

Docker & Kubernetes: The Practical Guide [AWS Platform] - Price chart

Rating

Docker & Kubernetes: The Practical Guide [AWS Platform] - Ratings chart

Enrollment distribution

Docker & Kubernetes: The Practical Guide [AWS Platform] - Distribution chart

Related Topics

5242980
udemy ID
3/30/2023
course created date
4/23/2023
course indexed date
kokku
course submited by