Kubernetes & Docker: The Complete Hands-On Guide

Posted By: ELK1nG

Kubernetes & Docker: The Complete Hands-On Guide
Published 4/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 3.18 GB | Duration: 9h 31m

Open-source system for automating deployment, scaling, and management of containerized applications

What you'll learn

Kubernetes Introduction

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

Requirements

PC or Laptop with internet Connection

Must have one AWS Free Tier Account

Motivation to Learn Docker, Kubernetes, DevOps required

Description

Section 1: Kubernetes IntroductionWhat is KubernetesWhy do we use Kubernetes?Monolithic approach for developing applications.Microservices Vs. MonolithicKubernetes Gateway APIEvolution of Containers, Dockers & VMsMicroservices running as containersKubernetes - Orchestration or container management toolFeatures of KubernetesSection2: Architecture of the Kubernetes ClusterThe architecture of the Kubernetes ClusterUnderstand architecture with various examplesWorking with KubernetesRoles of Master NodeComponents of Control Plane (Master Node) API Server Etcd Scheduler Controller ManagerKubeletService ProxyPODContainer Engine - Docker, Containerd, or RocketSection 3: Setup of Kubernetes Cluster AWS EnvironmentSetup Kubernetes Master and Worker Node on AWS EnvironmentUpdate the SystemInstall HTTP packageDocker InstallationSetup open GPG KeyInstall the Kubernetes packagesBootstrapping the master nodeConfigure Worker NodesSection 4:  Kubernetes Concepts - Cluster types, Minikube Server, YAML, Pod, Kubelet, PortsKubernetes  ClusterTypes of ClusterAll-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 ServerCreate the first POD using manifest file written in YAML LanguageKubelet commandsCheck logs of the containerCreate multiple containers in a POD Kubernetes AnnotationsVariables in the YAML fileDefining Ports Section5: Labels & SelectorsLabels & SelectorsCommands for managing labels & selectorsDeclarative vs. Imperative Kubernetes commandsTwo types Selectors  Equality Based  Set basedPractice Lab - Labels & SelectorsPractice Lab - Assign a label to the running PODPractice Lab - Search the pod with equality & set-based Node SelectorLab - Create a pod on a specific nodeSection 6: Scaling & ReplicationWhat is ReplicationController?Features of RCPractice Lab - Create Replicas of POD using RCPractice Lab - Recreate the POD, if it crashes, fails, or terminatedScale up & scale down the POD as the load increases Practice Lab - Scale up & scale down the PODWhat is ReplicaSet?Difference between ReplicationController & ReplicaSetPractice Lab - Create Replicas of POD using ReplicaSetPractice Lab - Use set-based match expressions in RSSection 7: Deployment & RollbackOverview of Deployment and RollbackManifest 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 8: Kubernetes NetworkingOverview of Kubernetes NetworkingContainer communication via localhostPractice Lab - container-to-container communication on specific port within a podPod-to-pod communicationPractice Lab - Pod-to-pod communicationObject - ServiceWhy service is required?Service typeCluster IPNodePortLoadBalancerHeadlessPractice Lab - Access the appl/service using cluster IP within the cluster using the service objectPractice Lab - Access the appl/service using NodePort outside the cluster using the service objectSection 9: Volumes in Kubernetes ClusterOverview of Volumes in Kubernetes Cluster.Volume typesEmptyDirhostpathPractice 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 - EmptyDirPractice Lab - hostpathSection 10: Persistent VolumesOverview of Persistent volumesPersistentVolumeClaim - PVCConfigure a Volume using AWS ElasticBlockStoreConfigure a Pod to Use a PersistentVolume for StoragePractice Lab - Create a PersistentVolumePractice Lab - Create a PersistentVolumeClaimPractice Lab - Create a Pod to Use a PersistentVolume for StorageSection 11: Introduction to docker containersIntroduction about containersInstallation of DockerCreate a first containerFetch container image from docker hubRun a container in the background, interactive with tty terminalDelete exited dockers using a single commandGet complete details of a running containerCheck logs & stats of a running containerPort forwardingexec, rename & restart the running containerAttach a containerKill/stop, pause/unpause a containerCreate, start, the cp commandExport/Import Command in DockerCreate an image from a running containerPull a specific version image from the Docker hubImage history, inspect & remove the imageSection 12: DockerfileOverview of Dockerfile, layered architectureCreate centos 7 images using DockerfileOverview of LABEL, ENV & RUN CommandOverview of WORKDIRCopy, and add commands with their differencesCreate a user account with a password using dockerfileCMD CommandSSH to a containerOverview of EXPOSE CommandENTRYPOINT in DockerfileSection 13: Manage Data in DockerOverview of managing data in DockerVolumesCreate & attach a volume to a containerDelete volumes from the Docker host machineBind mountsSection 14: Networking in DockerBridge networkingRun containers in custom-created bridge networkingEnable communication between dockers belonging to different bridge networkDNS enabled with custom bridge networkingHost networkingNone networkingConnect one or more networks to a running containerCreate a private docker registryHow to allow images in the private registry for non-secure networkSection 15: Docker ComposeOverview of docker-composeDocker compose InstallationCreate my first docker-compose fileCreate the docker-compose file in JSON languageLearn basic commandsdocker-compose updocker-compose downdocker-compose createdocker-compose startdocker-compose stopdocker-compose rmdocker-compose imagesdocker-compose psdocker-compose pausedocker-compose unpausedocker-compose killdocker-compose port <servername> portdocker-compose logsdocker-compose execdocker-compose rundocker-compose scaledocker-compose topAttach a volume & port mapping using docker-composeBuild a custom image using docker-composeLast lecture

Overview

Section 1: Introduction

Lecture 1 Introduction to the course

Lecture 2 Introduction Kubernetes

Lecture 3 Monolithic approach for developing applications.

Lecture 4 Microservices Vs. Monolithic

Lecture 5 Kubernetes Gateway API

Lecture 6 Evolution of Containers, Dockers & VMs

Lecture 7 Microservices running as containers

Lecture 8 Kubernetes - Orchestration or container management tool

Lecture 9 Features of Kubernetes

Section 2: Architecture of the Kubernetes Cluster

Lecture 10 The architecture of the Kubernetes Cluster

Lecture 11 Understand architecture with examples

Lecture 12 Working with Kubernetes

Lecture 13 Components of Control Plane (Master Node)

Lecture 14 Scheduler component of Control Plane

Lecture 15 Control manager component of Control Plane

Section 3: Setup of Kubernetes Cluster AWS Environment

Lecture 16 Lab 1

Lecture 17 Lab 2

Lecture 18 Lab 3

Lecture 19 Lab 4

Lecture 20 Lab 5

Lecture 21 Lab 6

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

Lecture 22 Types of Kubernetes Cluster

Lecture 23 Installation of Minikube Server

Lecture 24 Create the first Pod Using YAML

Lecture 25 Pods with YAML

Lecture 26 Check details about the pod, and logs of a container using the Kubelet command

Lecture 27 Create a pod with multiple containers

Lecture 28 Kubernetes annotations

Lecture 29 Explore running container

Lecture 30 Environment variables

Lecture 31 Defining ports to the containers

Section 5: Labels & Selectors

Lecture 32 Labels & Selectors

Lecture 33 Lab - labels & selectors

Lecture 34 Declarative vs. Imperative way to define labels

Lecture 35 Lab - Search the pod with equality & set-based

Lecture 36 Node Selectors

Lecture 37 Lab - Create a pod to on specify node

Section 6: Scaling & Replication

Lecture 38 Replication Controller - RC

Lecture 39 Practice Lab - Create Replicas of POD using RC

Lecture 40 Scale-up & scale-down the pod as load increases

Lecture 41 Replica set - RS

Lecture 42 Lab - Create Replicas of POD using ReplicaSet

Section 7: Deployment & Rollback

Lecture 43 Overview of Deployment and Rollback

Lecture 44 Lab: Launch an application with two PODs using the deployment object

Lecture 45 Lab: upgrade the application from v1 to v2 using deployment object

Lecture 46 Lab: Roll back the application to the previous version.

Lecture 47 Lab: Roll back the application to any specific version

Section 8: Kubernetes Networking

Lecture 48 Overview of kubernetes networking

Lecture 49 Lab - Container communication via localhost

Lecture 50 Pod-to-pod communication

Lecture 51 Service object

Lecture 52 Lab - Access the appl/service using cluster IP within the cluster using service

Lecture 53 Lab - Access the appl/service using cluster IP within the cluster using service

Lecture 54 Lab - Access the appl/service using NodePort outside the cluster

Section 9: Volumes in Kubernetes Cluster

Lecture 55 Volumes in Kubernetes Cluster

Lecture 56 Lab: Create a POD with attached emptyDir volume

Lecture 57 Lab - Attach a shareable volume for containers within a POD

Lecture 58 Lab: Create a POD with attached hostpath volume

Lecture 59 Lab - attached hostpath volume exists after the pod recreation

Section 10: Persistent Volumes

Lecture 60 Overview of Persistent volumes

Lecture 61 Persistent volumes in kubernetes cluster

Lecture 62 Configure a Volume using AWS ElasticBlockStore

Lecture 63 Lab - Create a PersistentVolumeClaim

Lecture 64 Create a Pod to Use a PersistentVolume for Storage

Lecture 65 Lab - persistent volume exists even after the pod recreation

Section 11: Docker training bootcamp: A Practical way of learning-DevOps

Lecture 66 Introduction about containers

Lecture 67 Installation of Docker

Lecture 68 Create a first container

Lecture 69 Fetch container image from docker hub

Lecture 70 Run a container in backgroup, interactive with tty terminal

Lecture 71 Delete exited dockers using a single command

Lecture 72 Get complete details of a running container

Lecture 73 Check logs & stats of a running container

Lecture 74 Port forwarding

Lecture 75 exec, rename & restart the running container

Lecture 76 Attach a container

Lecture 77 Kill/stop, pause/unpause a container

Lecture 78 Create, start, cp command

Lecture 79 Export/Import Command in Docker

Lecture 80 Create a image from running container

Lecture 81 Pull a specific version image from Docker hub

Lecture 82 Push your image to docker hub

Lecture 83 Image history, inspect & remove image

Section 12: Dockerfile

Lecture 84 Overview of Dockerfile, layered architecture

Lecture 85 Create a centos 7 image using Dockerfile

Lecture 86 Overview of Label, env & run command

Lecture 87 Overview of WORKDIR

Lecture 88 Copy, add command with their differences

Lecture 89 Create a user account with password using dockerfile

Lecture 90 CMD Command

Lecture 91 SSH to a container

Lecture 92 Overview of EXPOSE Command

Lecture 93 ENTRYPOINT in Dockerfile

Section 13: Manage Data in Docker

Lecture 94 Overview of managing data in Docker

Lecture 95 Volumes

Lecture 96 Create & attach a volume to a container

Lecture 97 Delete volumes from the Docker host machine

Lecture 98 Bind mounts

Section 14: Networking in Docker

Lecture 99 Bridge networking

Lecture 100 Run containers in custom created bridge networking

Lecture 101 Enable communication between dockers belong to different bridge network

Lecture 102 DNS enabled with custom bridge networking

Lecture 103 Host networking

Lecture 104 None networking

Lecture 105 Connect one or more network to a running container

Lecture 106 Create private docker registry

Lecture 107 Create private docker registry - 2

Section 15: Docker Compose

Lecture 108 Overview of docker compose

Lecture 109 Docker compose Installation

Lecture 110 Create my first docker compose file

Lecture 111 Create docker compose file in json language

Lecture 112 Learn basic commands - 1

Lecture 113 Learn basic commands - 2

Lecture 114 Learn basic commands - 3

Lecture 115 Learn basic commands - 4

Lecture 116 Attach a volume & port mapping using docker compose

Lecture 117 Build a custom image using docker compose

Lecture 118 Last lecture

System administrators, Developers, DevOps teams, and IT professionals who would like to learn Docker & Kubernetes