Start Teaching
Messages
User Avatar

Kubernetes and Docker: The Container Masterclass

Language: English
Kubernetes and Docker: The Container Masterclass

This Course is for You

6 hours 45 minutes

of video/audio content

15

Downloadable attachments

30 minutes

of reading content

Containers:
Containers are like that smart chef who can feed a whole family with just a bowl full of rice, and that's not an exaggeration at all! Containers are empowering businesses to scale fearlessly and manage their web apps hassle-free. They are the prime reason why micro and small enterprises are migrating to Cloud. All of this has undoubtedly led to an enormous demand for professionals with Containerization skills.

Which skills do you need?
1. A platform to Create, Run and Ship Containers... like Docker.
2. A strong tool to Control/Manage/Orchestrate your containers... like Kubernetes!

This course takes you on a wonderful journey of learning Containers using key components of Docker and Kubernetes. All you need is a very basic knowledge of Linux fundamentals like files and processes along with a bit of Linux command line.

The Containerization Journey with Docker:
Calling Docker the most widely used containerization platform would be an understatement. It has literally become synonymous to containers! Following topics covered under this course will solidify the logical base of this statement.

• You can only love a technology if you know how it works, and that's exactly why you will be learning Docker architecture and how its components work.
• At first glance, Dockerfile might seem like just another file describing app specifications. That's because it is probably the simplest yet efficient way to perform app building from scratch.
• Docker CLI is intuitive and is inspired by your friendly Linux CLI. So adapting it is a piece of cake!
• Docker images and Containers are the most portable and reliable way to ship your micro-service or web application without worrying about questions like "will it work on his infrastructure?"
• Once you are fairly familiar with containers, Docker Networks and Volumes will open a whole new world of opportunities. Your containerization will become more reliable and will start serving its true purpose.
• Docker Compose will combine all of the learning and take it to the next level with inter-dependent multi-container applications.

Once you have learned all of this, you will be craving to know what else can you do with containers and how you can take your containerization skills to the next stage!

The Orchestration Journey with Swarm and Kubernetes:
"With Great Power, Comes Great Responsibility"
Similarly, With Great amount of containers, comes a greater amount of orchestration!

• You want to deploy 4 nodes in your cluster but can only afford to have one SSD node. And you gotta make sure that it only hosts containers which demand SSD explicitly. What to do?
• You don't want to have idle containers chilling around your nodes and not serving even 10% of their capacity but you also want to make sure that your customers don't hit 404 when traffic is at its peak. On top of that, you don't have time or manpower to keep your number of web-server replicas in-check. What to do?
• You are a pro-on-premise kubernetes expert but your next project happens to be hosted on a public cloud platform like GCP or Azure. You're not scared but a little push will help you a lot! What to do?

This course is a one-stop answer for all of these questions. It covers both Kubernetes and Docker Swarm and makes sure that you are confident and capable to make your call when the time comes!

Even though a container orchestrator is nothing without containers themselves, kubernetes seems to be the biggest breakthrough in the world of DevOps. This course explains kubernetes from the start. No, I mean LITERALLY from the start (Origin! It,s an interesting story). It covers all of these important topics with examples so that when you finish this course, you can use and appreciate containers as well as we do!
Kubernetes Architecture (Components, States, Nodes, Interactions)
Kubernetes Objects (Pods, Handlers, Workloads, Controllers, Services, Volumes)
Operations (Sorting, Configuration, Scheduling, Scaling, Deploying, Updating, Restricting)
Application Examples (All-time favourite nginx webserver, Custom Landing Page, Stdout Logs, WordPress blog with MySQL, Apache zookeeper etc.)
Kubernetes as a service (GCP, Azure)
Case studies (Blackrock, Niantic)

Course Overview

  • 1. Course Outline

  • 2. How to make a web application?

  • 3. Demo: Simple Web Application

  • 4. A Forest of VMs

  • 5. Hello, Containers!!!

  • 6. Hello, Docker!

  • 7. Demo: Installing Docker on Linux

  • 8. Demo: Containerized Simple Web Application

  • 9. Stages of Containerization

  • 10. How does Docker Work?

  • 11. A quick look at the format of Dockerfile

  • 12. Demo: Fundamental Instructions of Dockerfile

  • 13. Demo: Configuration Instructions of Dockerfile

  • 14. Demo: Execution Instructions of Dockerfile

  • 15. Demo: Expose Instructions of Dockerfile

  • 16. Demo: Miscellaneous Instructions of Dockerfile (Part 1)

  • 17. Demo: Miscellaneous Instructions of Dockerfile (Part 2)

  • 18. Demo: Docker Hub Walk-through

  • 19. Understanding Docker Images

  • 20. Demo: Working with Docker Images | Search, List, Push, Pull, and Tag

  • 21. Article: "--format" flag

  • 22. Demo: Know your Docker Image | Inspect and History

  • 23. Demo: Clean up Docker Images

  • 24. A Container is born!

  • 25. Container Life-cycle

  • 26. Demo: Container Run vs Create command

  • 27. Demo: Working with Containers | Start, Stop, Restart, and Rename

  • 28. Demo: Working with Containers | Attach and Exec

  • 29. Demo: Inspect and Commit Container

  • 30. Demo: Container Exposure | Container Port-mapping

  • 31. Demo: Container clean-up | Prune and Remove

  • 32. Multi-container Applications and Introduction to Networking in Docker

  • 33. Container Networking Model (CNM) of Docker

  • 34. Docker's Native Network Drivers

  • 35. Demo: Create Docker Networks

  • 36. Demo: Working with Docker Networks | Connect, Disconnect, Inspect, and Clean

  • 37. Demo: Ping one Container from another

  • 38. Never lose a "bit" of your data

  • 39. Demo: Working with Volumes | Create, List, and Remove

  • 40. Demo: When Containers meet Volumes

  • 41. Demo: Working with Bind Mounts

  • 42. Demo: Hosting Containerized 2048 game!

  • 43. Introduction to Docker Compose

  • 44. Demo: Installing Docker Compose on Linux

  • 45. Demo: Structure of Docker Compose file

  • 46. Demo: WordPress on Compose

  • 47. Demo: Introduction to Docker Compose CLI

  • 48. Introduction to Container Orchestration and Docker Swarm

  • 49. Can Swarm handle failure?

  • 50. Demo: Virtual Box installation

  • 51. Demo: Docker Machine Installation

  • 52. Demo: Setting up the Swarm Cluster

  • 53. Demo: Initializing Swarm Cluster

  • 54. Demo: Working with Swarm nodes | List and Inspect

  • 55. Demo: Creating a Service on Swarm

  • 56. Demo: Making a node leave your Swarm

  • 57. Demo: Scaling and updating with Swarm

  • 58. What about the more popular one?

  • 59. Kubernetes: An origin Story

  • 60. Kubernetes: Architecture

  • 61. Demo: Bootstrapping Kubernetes Cluster on Google Cloud Platform

  • 62. What are Pods?

  • 63. How to operate Kubernetes? Imperative vs Declarative

  • 64. Demo: Working with Pods: Create, analyse, and delete (Imperative and Declarative)

  • 65. Life-cycle of a Pod

  • 66. Demo: Managing Pod's lifespan with Life-cycle Handlers

  • 67. Demo: Adding Container's Command and Arguments to Pods

  • 68. Demo: Configuring Container's Environment Variables with Pods

  • 69. Labels, Selectors and Namespaces

  • 70. Demo: Working with Namespaces

  • 71. Demo: Pod Resource management

  • 72. Kubernetes Controllers | Concept and Types

  • 73. Introduction to Replicasets

  • 74. Demo: Working with Replicasets

  • 75. Introduction to Deployments

  • 76. Demo: Working with Deployments

  • 77. Introduction to Jobs

  • 78. Demo: Working with Jobs

  • 79. Introduction to Services and Service Types

  • 80. Demo: Working with ClusterIP services

  • 81. Demo: Working with NodePort Services

  • 82. Introduction to Storage in Kubernetes

  • 83. Demo: Mounting Volume to a Pod

  • 84. Demo: Mounting Projected Volume to a Pod | Secrets

  • 85. Demo: Good old MySQL WordPress with Kubernetes

  • 86. Blackrock Case Study

  • 87. Node eviction from a Kubernetes Cluster

  • 88. Demo: Rolling Updates | Rollout, Pause, Status Check

  • 89. Introduction to Taints and Tolerations

  • 90. Demo: Scheduling the Pods using Taints

  • 91. Demo: Autoscaling Kubernetes Cluster using HPA

  • 92. Demo: Deploying Apache Zookeeper using Kubernetes

  • 93. Pokemon Go Case study

  • 94. On-premise Kubernetes or Managed Kubernetes on Cloud? Make a choice!

  • 95. Demo: Setting up Google Kubernetes Engine Cluster

  • 96. Demo: Accessing GKE Cluster

  • 97. Demo: Persistent Volume and Load Balancing on GKE

  • 98. Demo: Kubernetes on Microsoft Azure Cloud

  • 99. Demo: Minikube Series | Installing Minikube

  • 100. Demo: Minikube Series | Getting started with Minikube

  • 101. Practice Quiz Questions

  • 102. Resources

  • 103. Assignments

  • 104. Conclusion