Module 1: Introduction to Containers
- Understanding Containers
- What are Containers?
- Benefits of Using Containers
- Containers vs Virtual Machines
- Key Differences and Use Cases
Module 2: Getting Started with Docker
- Introduction to Docker
- Overview of Docker
- Installing Docker on Various Platforms
- Docker Architecture
- Understanding Docker Components (Engine, Images, Containers, Registries)
Module 3: Working with Docker
- Basic Docker Commands
- Pulling and Running Containers (docker pull, docker run)
- Listing and Managing Containers (docker ps, docker stop, docker rm)
- Docker Images
- Understanding Docker Images
- Creating Custom Images (Dockerfile, docker build)
- Managing Images (docker images, docker rmi)
Module 4: Docker Networking and Storage
- Docker Networking
- Overview of Docker Networking
- Managing Networks (bridge, host, none, custom networks)
- Docker Volumes
- Introduction to Docker Volumes
- Creating and Using Volumes (docker volume create, docker run -v)
- Persistent Storage for Containers
Module 5: Introduction to Kubernetes
- Understanding Kubernetes
- What is Kubernetes?
- Key Concepts and Components (Nodes, Pods, Services, Deployments)
- Kubernetes Architecture
- Kubernetes Master and Worker Nodes
- Overview of Kubernetes Control Plane
Module 6: Setting Up a Kubernetes Cluster
- Installing Kubernetes
- Installing Minikube for Local Development
- Setting Up a Production Cluster with kubeadm
- Basic Kubernetes Commands
- kubectl Basics (kubectl get, kubectl describe, kubectl logs, kubectl exec)
Module 7: Kubernetes Core Concepts
- Pods and Workloads
- Understanding Pods
- Managing Pods (kubectl run, kubectl delete)
- Deployments and ReplicaSets
- Creating and Managing Deployments
- Scaling Applications (kubectl scale)
- Updating Deployments (kubectl rollout)
Module 8: Kubernetes Networking
- Cluster Networking
- Networking Models in Kubernetes
- Understanding Services and Endpoints
- Ingress Controllers
- Configuring Ingress Resources
- Load Balancing and Reverse Proxy with Ingress
Module 9: Persistent Storage in Kubernetes
- Volumes and PersistentVolumeClaims (PVC)
- Managing Volumes and PVCs
- Storage Classes and Dynamic Provisioning
- Stateful Applications
- Deploying StatefulSets
- Managing Persistent Storage for Stateful Applications
Module 10: Configuring and Managing Kubernetes
Storing Sensitive Data with Secrets
ConfigMaps and Secrets
Managing Configuration Data with ConfigMaps