Kubernetes and Docker: The Container Masterclass
By Cerulean Canvas, e-Learning Content House
This course is for you
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 - 104
How to make a web application?
Demo: Simple Web Application
A Forest of VMs
Demo: Installing Docker on Linux
Demo: Containerized Simple Web Application
Stages of Containerization
How does Docker Work?
A quick look at the format of Dockerfile
Demo: Fundamental Instructions of Dockerfile
Demo: Configuration Instructions of Dockerfile
Demo: Execution Instructions of Dockerfile
Demo: Expose Instructions of Dockerfile
Demo: Miscellaneous Instructions of Dockerfile (Part 1)
Demo: Miscellaneous Instructions of Dockerfile (Part 2)
Demo: Docker Hub Walk-through
Understanding Docker Images
Demo: Working with Docker Images | Search, List, Push, Pull, and Tag
Article: "--format" flag
Demo: Know your Docker Image | Inspect and History
Demo: Clean up Docker Images
A Container is born!
Demo: Container Run vs Create command
Demo: Working with Containers | Start, Stop, Restart, and Rename
Demo: Working with Containers | Attach and Exec
Demo: Inspect and Commit Container
Demo: Container Exposure | Container Port-mapping
Demo: Container clean-up | Prune and Remove
Multi-container Applications and Introduction to Networking in Docker
Container Networking Model (CNM) of Docker
Docker's Native Network Drivers
Demo: Create Docker Networks
Demo: Working with Docker Networks | Connect, Disconnect, Inspect, and Clean
Demo: Ping one Container from another
Never lose a "bit" of your data
Demo: Working with Volumes | Create, List, and Remove
Demo: When Containers meet Volumes
Demo: Working with Bind Mounts
Demo: Hosting Containerized 2048 game!
Introduction to Docker Compose
Demo: Installing Docker Compose on Linux
Demo: Structure of Docker Compose file
Demo: WordPress on Compose
Demo: Introduction to Docker Compose CLI
Introduction to Container Orchestration and Docker Swarm
Can Swarm handle failure?
Demo: Virtual Box installation
Demo: Docker Machine Installation
Demo: Setting up the Swarm Cluster
Demo: Initializing Swarm Cluster
Demo: Working with Swarm nodes | List and Inspect
Demo: Creating a Service on Swarm
Demo: Making a node leave your Swarm
Demo: Scaling and updating with Swarm
What about the more popular one?
Kubernetes: An origin Story
Demo: Bootstrapping Kubernetes Cluster on Google Cloud Platform
What are Pods?
How to operate Kubernetes? Imperative vs Declarative
Demo: Working with Pods: Create, analyse, and delete (Imperative and Declarative)
Life-cycle of a Pod
Demo: Managing Pod's lifespan with Life-cycle Handlers
Demo: Adding Container's Command and Arguments to Pods
Demo: Configuring Container's Environment Variables with Pods
Labels, Selectors and Namespaces
Demo: Working with Namespaces
Demo: Pod Resource management
Kubernetes Controllers | Concept and Types
Introduction to Replicasets
Demo: Working with Replicasets
Introduction to Deployments
Demo: Working with Deployments
Introduction to Jobs
Demo: Working with Jobs
Introduction to Services and Service Types
Demo: Working with ClusterIP services
Demo: Working with NodePort Services
Introduction to Storage in Kubernetes
Demo: Mounting Volume to a Pod
Demo: Mounting Projected Volume to a Pod | Secrets
Demo: Good old MySQL WordPress with Kubernetes
Blackrock Case Study
Node eviction from a Kubernetes Cluster
Demo: Rolling Updates | Rollout, Pause, Status Check
Introduction to Taints and Tolerations
Demo: Scheduling the Pods using Taints
Demo: Autoscaling Kubernetes Cluster using HPA
Demo: Deploying Apache Zookeeper using Kubernetes
Pokemon Go Case study
On-premise Kubernetes or Managed Kubernetes on Cloud? Make a choice!
Demo: Setting up Google Kubernetes Engine Cluster
Demo: Accessing GKE Cluster
Demo: Persistent Volume and Load Balancing on GKE
Demo: Kubernetes on Microsoft Azure Cloud
Demo: Minikube Series | Installing Minikube
Demo: Minikube Series | Getting started with Minikube
Practice Quiz Questions