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