Master Docker & Kubernetes

Posted By: ELK1nG

Master Docker & Kubernetes
Published 12/2023
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 27.31 GB | Duration: 56h 36m

This course helps to understand core concepts of Containerization technology | Docker Tools | Kubernetes Orchestration

What you'll learn

In modern application deployment, containerization plays a key role to run any sort of application with ease with Docker tools and Kubernetes Orchestration tool

Course was designed for every audience like IT professionals and non-IT professionals as well to be master in Containerization technology

This Course providers knowledge on many tools to understand the containerization technology

You will be having lot of exposure to in depth knowledge on each and every feature of Docker tools and Kubernetes Orchestration with examples

Requirements

Basic understanding of OS and Networking would be sufficient to start with these tools

Need some amount of basic skills in Linux (Ubuntu Server) OS to deploy all the tools

Even if you are from non-IT background, still you will be able to understand the technology and how these application are deployed

Description

Containerization technology provides flexibility to develop the application much faster and more secure manner as part of DevOps and DevSecOps culture adopted by many of the Organization in today IT industry.We as VisualPath Team has come up with a course that simplifies the understanding of Containerization technology.Containerization creates an OS level virtualization to save lot of resources consumption and run more application on a platform.Docker tools helps initially to understand the core feature of Containerizing the application with Image build, Networking, Storage, etc.,Docker provides tools like Docker Engine, Docker Desktop, Docker Compose, Docker Machine, and Docker Swarm.Docker Engine helps to spin containers and run any sort of application (Nginx, MySQL, Hadoop, ML, etc.,) with predefined and Custom Images.Kubernetes Orchestration tool helps to containers specific to application as POD workload to have common network and shared storage.After Kubernetes developed with wide number of features, usage of Docker Swarm was suppressed by many of the Organizations to run application on a Cluster environment.In this course of Kubernetes, we will be understanding the architecture, cluster setup and configuration, workloads, objects, networking, monitoring, storage, and many more…We will be focusing on Docker Engine, Docker Compose (Orchestration tool to manage resources on Docker Engine), Kubernetes Cluster (On-premises), Monitoring, and Projects from each platform of different sort of applications like Wordpress, Jenkins, Node application.Docker Engine CE (Community Edition) and Kubernetes Orchestration are open-source where we can install on our local machines and understand the features provided by those, where we will be focusing in the course all together.The key principles of learning any technology is fundamentals and troubleshooting (through Monitoring services) to sustain for longer period in IT industry with new technologies.After completion of the Course you can plan for Kubernetes certifications like CKA (Certified Kubernetes Administrator) and CKAD (Certified Kubernetes Application Developer)

Overview

Section 1: Introduction

Lecture 1 Virtualization with Hypervisor

Lecture 2 Limitations on Virtual Machines Servers

Lecture 3 What is a Container

Section 2: Docker Engine: Docker Overview

Lecture 4 Introduction to Docker

Lecture 5 Difference between Docker Engine and Docker Desktop

Section 3: Docker Engine: Installation

Lecture 6 System requirements

Lecture 7 Virtual Machine Setup

Lecture 8 Docker Engine setup using package manager

Lecture 9 Docker Engine setup using script

Lecture 10 Understanding Docker default parameters

Section 4: Docker Engine: Containers

Lecture 11 What is a Docker container

Lecture 12 Nginx application container creation Part 1

Lecture 13 Nginx application container creation Part 2

Lecture 14 MySQL application Deployment

Lecture 15 Container creation Workflow in Docker Engine

Lecture 16 Configure static IP address for Docker host machine

Lecture 17 Understanding how to access applications from outside of Docker host machine

Lecture 18 Practical session on accessing applications from outside of Docker Host

Lecture 19 Understanding container restart policy

Lecture 20 Container restart policy

Lecture 21 Introduction to WordPress and MySQL Deployment

Lecture 22 WordPress and MySQL Deployment on Docker Engine

Lecture 23 Resource cleanup

Lecture 24 Introduction to Jenkins CICD application

Lecture 25 Jenkins CICD deployment on Docker Engine

Lecture 26 Points to remember while creating container (rm, exec, create)

Lecture 27 Difference between docker container create and run

Section 5: Docker Engine: Images

Lecture 28 What is Docker Image for Containers

Lecture 29 Understanding Docker Image and Container Layers

Lecture 30 Disk utilization of Containers and Images

Lecture 31 Docker Hub account creation and pricing

Lecture 32 Docker Image pull workflow

Lecture 33 Push and Pull Images from Docker Hub

Lecture 34 Share Images in Docker Hub account

Lecture 35 Introduction to Dockerfile (A Custom Image Build Solution from Docker)

Lecture 36 Dockerfile - FROM parameter

Lecture 37 Dockerfile - MAINTAINER and RUN parameter (with and without build cache)

Lecture 38 Dockerfile - LABEL and ENV parameter

Lecture 39 Dockerfile - ARG and EXPOSE parameter

Lecture 40 Dockerfile - COPY and ADD parameter

Lecture 41 Dockerfile - ENTRYPOINT and CMD parameter

Lecture 42 Dockerfile - SHELL and WORKDIR parameter

Lecture 43 Dockerfile - STOPSIGNAL and HEALTHCHECK parameter

Lecture 44 Dockerfile - VOLUME and USER parameter

Lecture 45 Demo : Deploy Nginx app on Ubuntu 22.04 base image as non-root user

Lecture 46 How to choose right base Image to save the size (Ubuntu Vs Alpine)

Section 6: Docker Engine: Storage

Lecture 47 Introduction to Docker Storage types

Lecture 48 Understanding volume mount with scenarios Part 1

Lecture 49 Understanding volume mount with scenarios Part 2

Lecture 50 Understanding Jenkins deployment using volume mount architecture

Lecture 51 Jenkins CICD application deployment using volume mount

Lecture 52 Understanding bind mount with scenarios Part 1

Lecture 53 Understanding bind mount with scenarios Part 2

Lecture 54 Understanding Jenkins deployment using bind mount architecture

Lecture 55 Jenkins CICD application deployment using bind mount

Lecture 56 Docker tmpfs mount

Lecture 57 Points to remember while using Storage

Lecture 58 Understanding remote storage using NFS server

Lecture 59 Implement Docker volume mount with NFS server

Section 7: Docker Engine: Networking

Lecture 60 Network types suppported by Docker

Lecture 61 Docker default bridge network

Lecture 62 Docker user-defined bridge network

Lecture 63 User-defined bridge network managed by Daemon

Lecture 64 Container with static IP address allocation

Lecture 65 Points to remember while using Bridge network

Lecture 66 Understanding Host network

Lecture 67 Demo on host network creation

Lecture 68 Points to remember while using Host network

Lecture 69 Understanding None network

Lecture 70 None network

Lecture 71 Understanding Docker overlay network

Lecture 72 Implementing Docker overlay network

Lecture 73 Points to consider while working with overlay network

Section 8: Docker Engine: Customization

Lecture 74 How to change default docker root directory

Lecture 75 Docker root directory status check

Lecture 76 How to change default bridge network CIDR

Lecture 77 How to change default bridge network to custom network

Lecture 78 What are links in Docker

Lecture 79 Introduction to resources limits on Docker containers

Section 9: Docker Engine: Dashboard

Lecture 80 Introduction to UI access

Lecture 81 Portainer archirecture and pricing details

Lecture 82 Setup and configure Portainer on Docker Engine

Lecture 83 Access Portainer dashboard

Lecture 84 Part 1 - Environments

Lecture 85 Part 2 - Containers

Lecture 86 Part 3 - Network, Images, and Volumes

Lecture 87 App templates and stack

Lecture 88 Conclusion - limitations of community edition

Section 10: Docker Compose

Lecture 89 Challenges with Docker Engine

Lecture 90 Introduction to Docker Compose

Lecture 91 Introduction to Docker Engine machine for compose

Lecture 92 Docker compose installation scenarios

Lecture 93 Docker compose file parameters

Section 11: Kubernetes Administration: Architecture

Lecture 94 High level view of Kubernetes architecture and components

Lecture 95 Common components for control and compute plane nodes

Lecture 96 Introduction to Kubernetes control plane components

Lecture 97 Kubernetes control plane components working principle

Lecture 98 Introduction to Kubernetes compute plane components

Lecture 99 Kubernetes compute plane components working principle

Lecture 100 Kubernetes Components ports and protocols

Section 12: Kubernetes Administration: Kubernetes Setup using kubeadm tool

Lecture 101 Tools to setup kubernetes cluster and Cloud service

Lecture 102 Overview on single and multi node setup using kubeadm tool

Lecture 103 Why Containerd not Docker (K8S dropped support for Docker)

Lecture 104 Kubernetes single node setup using kubeadm tool (CRI_ Containerd)

Lecture 105 Kubernetes multi-node setup using kubeadm tool (CRI_Containerd)

Lecture 106 Part 1 - Kubernetes HA setup using kubeadm tool (CRI_ containerd)

Lecture 107 Part 2 - Kubernetes HA setup using kubeadm tool (CRI_containerd)

Lecture 108 Part 3 - Kubernetes HA setup using kubeadm tool (CRI_containerd)

Lecture 109 Part 4 Kubernetes HA setup using kubeadm tool (CRI_containerd)

Lecture 110 Part 5 - Kubernetes HA setup using kubeadm tool (CRI_containerd)

Section 13: Kubernetes Administration: POD

Lecture 111 Kubernetes Objects overview

Lecture 112 POD overview

Lecture 113 Intergrating VS code with K8S cluster

Lecture 114 Overview on K8S objects creation using imperative and declarative approach

Lecture 115 POD creation using Declarative approach

Lecture 116 POD creation using Imperative approach

Lecture 117 POD creation workflow

Lecture 118 POD resource allocation CPU and Memory

Lecture 119 POD multi-container with shared volume

Lecture 120 Handling containers in POD using crictl (restart container POD)

Lecture 121 Access POD application outside cluster (hostPort)

Lecture 122 POD init Containers Introduction

Lecture 123 Demo : POD init Containers

Lecture 124 POD Lifecycle - restart policy

Lecture 125 Static POD (controlled by Kubelet)

Lecture 126 Challenges of standalone POD applications

Section 14: Kubernetes Administration: Workload resources

Lecture 127 Introduction to Workload resources

Lecture 128 Workload resource replication

Section 15: Kubernetes Administration: Replication Controller Object

Lecture 129 Introduction to Replication Controller (rc)

Lecture 130 Demo : Implement RC using declarative approach

Lecture 131 Demo : RC scalein and scaleout

Lecture 132 Demo : RC and POD label selector

Lecture 133 Demo : How to delete RC using cascade option

Section 16: Kubernetes Administration: ReplicaSet Object

Lecture 134 Introduction to Replica Set (rs)

Lecture 135 Demo : Implement RS using declarative approach

Lecture 136 Demo : RS scalein and scaleout

Lecture 137 Demo : RS and POD label selector (matchLabels)

Lecture 138 Demo : RS and POD label selector (matchExpressions)

Lecture 139 Demo : How to delete RS using cascade option

Section 17: Kubernetes Administration: Deployment Object

Lecture 140 Introduction to Deployment (deploy)

Lecture 141 Demo : Deployment workflow (Declarative and Imperative)

Lecture 142 Demo : Deployment scalein and scaleout

Lecture 143 Demo : Deployment Rollout and Rollback (StrategyType & RollingUpdate)

Lecture 144 Demo : Deployment Rollout and Rollback (StrategyType & Recreate)

Section 18: Kubernetes Administration: DaemonSet Object

Lecture 145 Introduction to Daemon Set (ds)

Lecture 146 Demo: Daemonset work flow (Declarative approach)

Lecture 147 Demo : Daemonset rollout and rollback (strategy type & RollingUpdate)

Lecture 148 Demo: Daemonset rollout and rollback (strategy type & OnDelete)

Section 19: Kubernetes Administration: Jobs

Lecture 149 Introduction to Jobs

Lecture 150 Demo : Jobs workflow (restart Policy)

Lecture 151 Demo : Jobs termination and cleanup

Section 20: Kubernetes Administration: CronJobs

Lecture 152 Introduction to CronJobs (cj)

Lecture 153 Demo : CronJob workflow (restart Policy)

Lecture 154 Demo : CronJob concurrency policy

Lecture 155 Demo : CronJob Job history limits

Section 21: Kubernetes Administration: Auto Cleanup Jobs

Lecture 156 Introduction to Auto-cleanup of finished Jobs

Lecture 157 Demo : Jobs auto-cleanup

Lecture 158 Demo : CronJobs auto-cleanup

Section 22: Kubernetes Administration: Services

Lecture 159 When to learn Statefulset workload resource

Lecture 160 Introduction to K8S Service and Types

Lecture 161 Overview on need of Service for workload resources

Lecture 162 Introduction to ClusterIP service

Lecture 163 Demo: Overview on Service type ClusterIP

Lecture 164 Demo: Service (ClusterIP) with Endpoint

Lecture 165 Demo: Service ClusterIP type creation using Imperative approach

Lecture 166 Demo: Service selector and pod labels

Lecture 167 Advanced: Traffic flow from client (POD) to service to target PODs

Lecture 168 Introduction to NodePort service

Lecture 169 Demo: Overview on Service type NodePort

Lecture 170 Demo: Service NodePort type creation using Imperative approach

Lecture 171 Demo: Customize service NodePort range and IP addresses range

Lecture 172 Advanaced: Traffic flow from external to node to service to POD

Lecture 173 Introduction to LoadBalancer service

Lecture 174 Introduction to MetalLB for On-premises K8S cluster

Lecture 175 Demo: Deploying MetalLB on cluster (On-premises)

Lecture 176 Advanced: Traffic flow while using LoadBalancer service type

Lecture 177 Introduction to ExternalIP service

Lecture 178 Demo: Overview on Service type ExternalIP

Lecture 179 Introduction to ExternalName service

Lecture 180 Demo: Overview on Service type ExternalName

Lecture 181 Introduction to Headless service (ClusterIP & None)

Lecture 182 Demo: Overview on Service type Headless (ClusterIP & None)

Section 23: Kubernetes Administration: Storages

Lecture 183 Introduction to Kubernetes Storage types

Lecture 184 Overview on Kubernetes Volumes

Lecture 185 Overview on Kubernetes Volumes

Lecture 186 EmptyDir: Working principle of emptyDir volume type

Lecture 187 EmptyDir: Demo for emptyDir volume type (Disk and Memory)

Lecture 188 hostPath: Working principle of hostPath volume type

Lecture 189 hostPath: Demo for hostPath volume type (Directory and DirectoryOrCreate)

Lecture 190 hostPath: Demo for hostPath volume type (File and FileOrCreate)

Lecture 191 NFS: Working principle of nfs volume type

Lecture 192 Setup NFS server for Kubernetes Volume Demo

Lecture 193 NFS: Demo for NFS volume type

Lecture 194 NFS: Jenkins CICD Deployment Object with active and passive mode

Lecture 195 downwardAPI: Demo on downwardAPI (Information_ fieldRef)

Lecture 196 downwardAPI: Demo on downwardAPI (Information_ resourcefieldRef)

Section 24: Kubernetes Administration: Volumes (PV & PVC)

Lecture 197 Introduction to Persistent Storage

Lecture 198 Understanding Persistent Volume Access Modes

Lecture 199 Demo: Static PV and PVC (volume plugin & hostPath)

Lecture 200 Demo: PV and PVC management (hostPath)

Lecture 201 Demo: Static PV and PVC (volume plugin & nfs)

Lecture 202 Demo: Persistent Volume Reclaim Policies (nfs - retain, recycle, delete)

Lecture 203 Introduction to Access Modes for PV and PVC

Lecture 204 Demo: Access Modes

Lecture 205 Understanding PV phases

Section 25: Kubernetes Administration: Statefulset

Lecture 206 Introduction to Kubernetes Configuration

Lecture 207 Introduction to Statefulset Object

Lecture 208 Demo: understanding STS workflow

Lecture 209 Demo: STS scalein and scaleout stratagies

Lecture 210 Demo: STS with Headless service

Lecture 211 Demo: Update strategies supported by STS

Section 26: Kubernetes Administration: Configuration (configMap & Secrets)

Lecture 212 Introduction to Kubernetes Configuration

Lecture 213 Introduction to Kubernetes ConfigMap

Lecture 214 Demo: Handling ConfigMap using Imperative approach (environment variables)

Lecture 215 Demo: Handling ConfigMap using Declarative approach (environment variables)

Lecture 216 Demo: Handling ConfigMap using Declarative approach (volume plugin)

Lecture 217 Demo: Immutable ConfigMap

Lecture 218 Introduction to Kubernetes Secrets

Lecture 219 Demo: Handling Secrets using Imperative approach (environment variables)

Lecture 220 Demo: Handling Secrets using Declarative approach

Lecture 221 Demo: Handling Secrets using Declarative approach (volume plugin)

Lecture 222 Demo: Secrets to pull registry Private images (imagePullSecrets)

Section 27: Kubernetes Administration: Scheduling Workloads

Lecture 223 Introduction to Kubernetes scheduler

Lecture 224 Demo: Scheduling POD using nodeName

Lecture 225 Demo: Scheduling POD using nodeSelector

Lecture 226 Introduction to nodeAffinity operators

Lecture 227 Demo: Scheduling POD using nodeAffinity (requiredDuringScheduling)

Lecture 228 Demo: preferred and required for nodeAffinity

Lecture 229 Demo: nodeAntiAffinity using NotIn operator

Lecture 230 Demo: Scheduling POD using podAffinity (requiredDuringScheduling)

Lecture 231 Demo: Scheduling POD using podAffinity (preferredDuringScheduling)

Lecture 232 Demo: Scheduling POD using podAntiAffinity (requiredDuringScheduling)

Lecture 233 Demo: Scheduling POD using podAntiAffinity (preferredDuringScheduling)

Lecture 234 Demo: Scheduling POD using Taints and Tolerations (NoSchedule)

Lecture 235 Demo: Scheduling POD using Taints and Tolerations (NoExecute)

Section 28: Kubernetes Administration: Authentication and Authorization

Lecture 236 Introduction to Kubernetes Authentication and Authorization strategies

Lecture 237 Understanding Kubernetes authentication

Lecture 238 Understanding Kubernetes authorization

Lecture 239 Working principle of Cloud Kubernetes cluster

Lecture 240 Understanding kubeconfig file

Lecture 241 Demo: K8S authenticating using cert based (Role and RoleBinding)

Lecture 242 Demo: K8S authenticating using cert based (ClusterRole and ClusterRoleBinding)

Lecture 243 Understanding k8s ServiceAccount

Lecture 244 Demo: K8S POD to use Service Account

Lecture 245 Demo: K8S authenticating using SA based (Role and RoleBinding)

Lecture 246 Demo: K8S authenticating using SA based (ClusterRole and ClusterRoleBinding)

Lecture 247 Demo: How to handle multiple context in kubeconfig file

Section 29: Kubernetes Administration: Namespaces

Lecture 248 Introduction to Kubernetes Namespaces

Lecture 249 Demo: Implementing Kubernetes namespaces (imperative and declarative)

Section 30: Kubernetes Administration: Ingress Controller

Lecture 250 How to access applications in k8s from outside cluster

Lecture 251 Introduction to Ingress Controller

Lecture 252 Understanding Nginx Ingress Controller for On-premises K8S

Lecture 253 Demo: Deploy Nginx Ingress Controller

Lecture 254 Demo: Deploy Ingress resource for applications in k8s (host-based routing)

Lecture 255 k8s Ingress resource workflow (host-based routing)

Lecture 256 Demo: TLS termination for Ingress resource (host-based routing)

Lecture 257 K8S Ingress resource workflow (path-based routing)

Lecture 258 Demo: Deploy Ingress resource for applications in k8s (path-based routing)

Section 31: Kubernetes Administration: Network Policies

Lecture 259 Introduction to Kubernetes Network Policy

Lecture 260 Understanding Network Policy resource implementation (calico network policy)

Lecture 261 Demo: Network Policy Implementation with podSelector (Ingress type)

Lecture 262 Demo: Network Policy Implementation with namespaceSelector (Ingress type)

Lecture 263 Demo: Network Policy Implementation with ipBlock (Ingress type)

Lecture 264 Demo: Network Policy with podSelector and namespaceSelector (Ingress type)

Lecture 265 Demo: Network Policy with podSelector and namespaceSelector (Egress type)

Lecture 266 Demo: Network Policy with ipBlock (Egress type)

Lecture 267 Understanding Default Network Policies

Section 32: Kubernetes Administration: Dashboard

Lecture 268 Introduction to web-based UI for kubernetes

Lecture 269 Demo: Deploy k8s dashboard

Lecture 270 Demo: Admin user management in k8s dashboard (ServiceAccount)

Lecture 271 Demo: Dashboard walk through as Admin user

Lecture 272 Demo: User access to k8s dashboard (read only access)

Section 33: Kubernetes Administration: Cluster Upgrade

Lecture 273 Understanding k8s upgrade principles

Lecture 274 Upgrade k8s from v1.25.x to v1.26.x (minor version upgrade)

Lecture 275 K8S upgrade - Conclusion

Section 34: Kubernetes Administration: ETCD disaster recovery and security

Lecture 276 Introduction to ETCD

Lecture 277 ETCD cli tool setup and configuration

Lecture 278 Backup: ETCD snapshot (Scenario 1)

Lecture 279 Restore: ETCD snapshot restore (Scenario 1)

Section 35: Kubernetes Administration: Monitoring

Lecture 280 Introduction to monitoring tools for Kubernetes

Lecture 281 Introduction to Prometheus

Lecture 282 Understanding prometheus components and architecture

Lecture 283 Understanding prometheus manifest files

Lecture 284 Deploy Promethues on Kubernetes cluster

Lecture 285 Access Prometheus dashboard

Lecture 286 Metric server for Prometheus

Lecture 287 Understanding Grafana manifest files

Lecture 288 Deploy Grafana on Kubernetes cluster

Lecture 289 Access Grafana dashboard with node-exporter

Lecture 290 Grafana dashboard

People who are seeking to understand the core concepts of Containerization tools with Live Projects and other projects as well,Who are planning to do Kubernetes certifications like CKA and CKAD would be the right choice as well,One who is interested in learning the functionalities of the tools in Containerization technology to survive in IT industry for longer period