Kubernetes MasterClass
Container Orchestration and Cloud-Native Deployment
Course Code: 420-911-MA
Session: Winter 2025
Instructor: Haythem Rehouma
Institution: inskillflow academy
Course Overview
This comprehensive course will teach you to master Kubernetes, the world's most widely used container orchestration platform. From introduction to advanced concepts, you will learn to deploy, manage, and scale containerized applications in production.
Learning Objectives
By the end of this course, you will be able to:
- Understand Kubernetes architecture and fundamental concepts
- Deploy and manage containerized applications
- Configure services, networking, and storage
- Implement security and access control (RBAC)
- Use Helm for package management
- Monitor and debug Kubernetes clusters
- Deploy applications in production with best practices
Pedagogical Approach
70% Practice - 30% Theory
Each module combines:
- Detailed theoretical explanations with Mermaid diagrams
- Hands-on practical labs
- Concrete examples and real-world use cases
- Exercises and validation quizzes
Course Plan - 12 Modules
MODULE 1 - Introduction to Kubernetes
Duration: 2-3 sessions
Content:
- What is Kubernetes and why use it?
- History and evolution (Docker to Kubernetes)
- Fundamental concepts (Pods, Nodes, Clusters)
- Kubernetes Architecture (Control Plane vs Worker Nodes)
- Comparison with other orchestration solutions
Labs:
- Lab 1.1: First Kubernetes Deployment
MODULE 2 - Kubernetes Architecture and Components
Duration: 2-3 sessions
Content:
- Detailed Control Plane Architecture
- API Server
- etcd
- Controller Manager
- Scheduler
- Worker Node Components
- kubelet
- kube-proxy
- Container Runtime
- Add-ons and extensions
- Inter-component communication
Labs:
- Lab 2.1: Control Plane Inspection
- Lab 2.2: Worker Nodes Analysis
- Lab 2.3: System Components Monitoring
MODULE 3 - Pods and Deployments
Duration: 3-4 sessions
Content:
- Pods: atomic deployment unit
- YAML and JSON declarations
- Labels and Selectors
- ReplicaSets and replication management
- Deployments: declarative deployments
- Deployment strategies (Rolling Update, Blue/Green, Canary)
- Health Checks (Liveness, Readiness, Startup Probes)
Labs:
- Lab 3.1: Creating and managing Pods
- Lab 3.2: Deploying with ReplicaSets
- Lab 3.3: Deployments and Rolling Updates
- Lab 3.4: Health Checks Configuration
MODULE 4 - Services and Networking
Duration: 3-4 sessions
Content:
- Services: exposing applications
- Service Types (ClusterIP, NodePort, LoadBalancer, ExternalName)
- Service Discovery and internal DNS
- Endpoints and EndpointSlices
- Network Policies
- Ingress (concept, expanded in Module 8)
- CNI (Container Network Interface)
Labs:
- Lab 4.1: ClusterIP and NodePort Services
- Lab 4.2: Service Discovery with DNS
- Lab 4.3: Network Policies
- Lab 4.4: LoadBalancer and cloud integration
MODULE 5 - Configuration and Secrets
Duration: 2-3 sessions
Content:
- ConfigMaps: configuration management
- Secrets: sensitive data management
- Environment variables
- ConfigMap and Secret volumes
- Security best practices
- External Secrets Operator (introduction)
Labs:
- Lab 5.1: Creating and using ConfigMaps
- Lab 5.2: Secrets Management
- Lab 5.3: Injecting configuration into Pods
- Lab 5.4: Secrets rotation
MODULE 6 - Storage and Volumes
Duration: 3-4 sessions
Content:
- Volumes: types and usage
- PersistentVolumes (PV) and PersistentVolumeClaims (PVC)
- StorageClasses and dynamic provisioning
- Storage types (local, NFS, cloud providers)
- Volume Snapshots
- StatefulSets: stateful applications
Labs:
- Lab 6.1: Ephemeral volumes and emptyDir
- Lab 6.2: PersistentVolumes and PVCs
- Lab 6.3: StorageClasses and dynamic provisioning
- Lab 6.4: StatefulSet with persistent storage
MODULE 7 - Advanced Workloads
Duration: 3-4 sessions
Content:
- StatefulSets: stateful applications
- DaemonSets: deployment on all nodes
- Jobs: one-time tasks
- CronJobs: scheduled tasks
- Init Containers
- Sidecar Pattern
Labs:
- Lab 7.1: StatefulSet for databases
- Lab 7.2: DaemonSet for monitoring
- Lab 7.3: Jobs and CronJobs
- Lab 7.4: Init Containers and Sidecars
MODULE 8 - Ingress and Load Balancing
Duration: 2-3 sessions
Content:
- Ingress: HTTP/HTTPS exposure
- Ingress Controllers (NGINX, Traefik, etc.)
- Ingress Rules and Path-based routing
- TLS/SSL and certificates
- Advanced Load Balancing
- Service Mesh (Istio/Linkerd introduction)
Labs:
- Lab 8.1: NGINX Ingress configuration
- Lab 8.2: Path-based routing
- Lab 8.3: TLS/SSL with cert-manager
- Lab 8.4: Multi-domain and virtual hosts
MODULE 9 - Security and RBAC
Duration: 3-4 sessions
Content:
- Authentication and authorization
- RBAC (Role-Based Access Control)
- Roles and RoleBindings
- ClusterRoles and ClusterRoleBindings
- Service Accounts
- Pod Security Policies / Pod Security Standards
- Network Policies (advanced)
- Advanced secrets management
Labs:
- Lab 9.1: Creating Roles and RoleBindings
- Lab 9.2: Service Accounts and permissions
- Lab 9.3: Pod Security Standards
- Lab 9.4: Security Audit
MODULE 10 - Helm and Package Management
Duration: 2-3 sessions
Content:
- Helm: Kubernetes package manager
- Charts and Releases
- Templates and values
- Hooks and dependencies
- Creating custom Charts
- Helmfile for multi-environment management
- Artifact Hub and public Charts
Labs:
- Lab 10.1: Installing and using Helm Charts
- Lab 10.2: Customization with values.yaml
- Lab 10.3: Creating a custom Chart
- Lab 10.4: Helmfile and multi-environments
MODULE 11 - Monitoring and Observability
Duration: 3-4 sessions
Content:
- Kubernetes metrics (cAdvisor, kube-state-metrics)
- Prometheus: metrics collection and storage
- Grafana: visualization and dashboards
- Logging with Fluentd/Fluent Bit and ELK
- Distributed Tracing (Jaeger, Zipkin)
- Alerting with Alertmanager
- Health Checks and auto-healing
Labs:
- Lab 11.1: Prometheus and Grafana installation
- Lab 11.2: Custom dashboards
- Lab 11.3: Logging configuration
- Lab 11.4: Alerting and notifications
MODULE 12 - Production Deployment
Duration: 3-4 sessions
Content:
- Production readiness
- Multi-cluster and High Availability
- Backup and Disaster Recovery
- CI/CD with Kubernetes (GitOps with ArgoCD/Flux)
- Resource Management (Requests, Limits, QoS)
- Autoscaling (HPA, VPA, Cluster Autoscaler)
- Troubleshooting and debugging
- Production best practices
Labs:
- Lab 12.1: Resource Management configuration
- Lab 12.2: Horizontal and vertical autoscaling
- Lab 12.3: GitOps with ArgoCD
- Lab 12.4: Complete final project
Tools and Technologies
Development Environment
- kubectl: Kubernetes CLI
- minikube / kind: Local clusters
- Docker / containerd: Container Runtime
- Helm: Package Manager
- k9s / Lens: Visualization tools
Cloud Technologies
- Kubernetes: 1.28+ (latest stable version)
- Container Runtime: containerd, CRI-O
- CNI: Calico, Flannel, Weave Net
- CSI: Storage drivers
Complementary Tools
- Prometheus and Grafana: Monitoring
- Helm: Package management
- ArgoCD / Flux: GitOps
- cert-manager: Certificate management
- Istio / Linkerd: Service Mesh (optional)
Prerequisites
Prior Knowledge
- Containerization concepts (Docker)
- Linux and command line
- Basic networking concepts
- YAML/JSON (basic syntax)
Required Hardware
- Computer with minimum 8 GB RAM (16 GB recommended)
- 50 GB free disk space
- Stable internet connection
- 64-bit processor with virtualization enabled
Software to Install
- Docker Desktop or Docker Engine
- kubectl (Kubernetes CLI)
- minikube or kind (local cluster)
- Helm (package manager)
- An IDE or text editor (VS Code recommended)
Course Resources
Official Documentation
Recommended Books
- "Kubernetes: Up and Running" - Kelsey Hightower
- "The Kubernetes Book" - Nigel Poulton
- "Kubernetes in Action" - Marko Luksa
Community
Start Now!
Explore the modules in the sidebar and begin your Kubernetes journey!
Happy learning!
Last updated: February 2026