Docker/Kubernetes

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