Kubernetes Training
Container Orchestration and Cloud-Native Deployment
Course Code: 420-911-MA
Session: Winter 2025
Instructor: Haythem Rehouma
Institution: inskillflow academy
Course Overview
This comprehensive training will enable 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 the architecture and fundamental concepts of Kubernetes
- Deploy and manage containerized applications
- Configure services, networks, 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
Teaching Approach
70% Practical - 30% Theory
Each module combines:
- Detailed theoretical explanations with Mermaid diagrams
- Hands-on practical labs
- Concrete examples and real use cases
- Validation exercises and quizzes
Course Plan - 12 Modules
MODULE 1 - Introduction to Kubernetes ✅ COMPLETE
Duration: 2-3 sessions
Content:
- What is Kubernetes and why use it?
- History and evolution (Docker → Kubernetes)
- Fundamental concepts (Pods, Nodes, Clusters)
- Kubernetes Architecture (Control Plane vs Worker Nodes)
- Comparison with other orchestration solutions
Objectives:
- Understand the role of Kubernetes in the cloud-native ecosystem
- Identify the main components
- Discover the Kubernetes ecosystem
Labs:
- Lab 1.1: First Kubernetes Deployment
MODULE 2 - Kubernetes Architecture and Components ✅ COMPLETE
Duration: 2-3 sessions
Content:
- Detailed architecture of the Control Plane
- API Server
- etcd
- Controller Manager
- Scheduler
- Worker Nodes components
- kubelet
- kube-proxy
- Container Runtime
- Add-ons and extensions
- Inter-component communication
Objectives:
- Understand the internal workings of Kubernetes
- Identify the role of each component
- Visualize communication flows
Labs:
- Lab 2.1: Control Plane Inspection
- Lab 2.2: Worker Nodes Analysis
- Lab 2.3: System components monitoring
MODULE 3 - Pods and Deployments ✅ COMPLETE
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)
Objectives:
- Master Pods and their lifecycle
- Deploy applications with Deployments
- Manage updates without interruption
Labs:
- Lab 3.1: Pod creation and management
- Lab 3.2: Deployment with ReplicaSets
- Lab 3.3: Deployments and Rolling Updates
- Lab 3.4: Health Checks configuration
MODULE 4 - Services and Networking ✅ COMPLETE
Duration: 3-4 sessions
Content:
- Services: exposing applications
- Types of Services (ClusterIP, NodePort, LoadBalancer, ExternalName)
- Service Discovery and internal DNS
- Endpoints and EndpointSlices
- Network Policies
- Ingress (concept, is covered in more depth in Module 8)
- CNI (Container Network Interface)
Objectives:
- Expose applications within the cluster
- Understand Kubernetes networking
- Secure network communication
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 ✅ COMPLETE
Duration: 2-3 sessions
Content:
- ConfigMaps: configuration management
- Secrets: sensitive data management
- Environment variables
- ConfigMap and Secret type volumes
- Security best practices
- External Secrets Operator (introduction)
Objectives:
- Separate configuration from code
- Manage secrets securely
- Apply best practices
Labs:
- Lab 5.1: Creation and use of ConfigMaps
- Lab 5.2: Secrets management
- Lab 5.3: Configuration injection into Pods
- Lab 5.4: Secrets rotation
MODULE 6 - Storage and Volumes ✅ COMPLETE
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
Objectives:
- Manage persistent storage
- Understand different types of volumes
- Deploy 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 ✅ COMPLETE
Duration: 3-4 sessions
Content:
- StatefulSets: stateful applications
- DaemonSets: deployment on all nodes
- Jobs: one-time tasks
- CronJobs: scheduled tasks
- Init Containers
- Sidecar Pattern
Objectives:
- Use different types of workloads
- Understand specific use cases
- Implement advanced patterns
Labs:
- Lab 7.1: StatefulSet for database
- 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 ✅ COMPLETE
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 (introduction Istio/Linkerd)
Objectives:
- Expose web applications via Ingress
- Configure routing and load balancing
- Secure HTTPS communications
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-domains and virtual hosts
MODULE 9 - Security and RBAC ✅ COMPLETE
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 (in more depth)
- Advanced secrets management
Objectives:
- Implement security in Kubernetes
- Manage permissions with RBAC
- Secure applications and the cluster
Labs:
- Lab 9.1: Creation of 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 ✅ COMPLETE
Duration: 2-3 sessions
Content:
- Helm: Kubernetes package manager
- Charts and Releases
- Templates and values
- Hooks and dependencies
- Creation of custom Charts
- Helmfile for multi-environment management
- Artifact Hub and public Charts
Objectives:
- Use Helm to deploy applications
- Create and maintain Charts
- Manage complex deployments
Labs:
- Lab 10.1: Installation and use of Helm Charts
- Lab 10.2: Customization with values.yaml
- Lab 10.3: Creation of a custom Chart
- Lab 10.4: Helmfile and multi-environments
MODULE 11 - Monitoring and Observability ✅ COMPLETE
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
Objectives:
- Monitor clusters and applications
- Visualize metrics and logs
- Implement complete observability
Labs:
- Lab 11.1: Installation of Prometheus and Grafana
- Lab 11.2: Creation of custom dashboards
- Lab 11.3: Logging configuration
- Lab 11.4: Alerting and notifications
MODULE 12 - Production Deployment ✅ COMPLETE
Duration: 3-4 sessions
Content:
- Preparation for production
- Multi-clusters 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
Objectives:
- Deploy applications in production
- Implement high availability
- Optimize resources and costs
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 & Grafana: Monitoring
- Helm: Package management
- ArgoCD / Flux: GitOps
- cert-manager: Certificate management
- Istio / Linkerd: Service Mesh (optional)
Skills developed
Technical Skills
Container Orchestration:
- Deployment and management of containerized applications
- Automatic and manual scaling
- Application lifecycle management
- Configuration and secrets management
Cloud-Native Architecture:
- Microservices and distributed architecture
- Service discovery and load balancing
- Persistent storage and stateful applications
- Networking and network security
DevOps and Production:
- CI/CD with Kubernetes
- Monitoring and observability
- Troubleshooting and debugging
- Production best practices
Professional Skills
- Understanding of the cloud-native ecosystem
- Deployment of applications in production
- Solving complex problems
- Collaboration with DevOps/SRE teams
Assessments
Practical Work (50%)
- TP1: Multi-tier application deployment (15%)
- TP2: Complete configuration with monitoring (20%)
- TP3: GitOps and production project (15%)
Laboratories (30%)
- Weekly labs (25%)
- Participation and engagement (5%)
Final Project (20%)
- Complete application deployed on Kubernetes (15%)
- Documentation and presentation (5%)
Total: 100%
Prerequisites
Prior Knowledge
- Containerization concepts (Docker)
- Linux and command line
- Basic network concepts
- YAML/JSON (basic syntax)
Required Equipment
- Computer with minimum 8 GB RAM (16 GB recommended)
- 50 GB of 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 Lukša
Community
Course Progression
[✅ COMPLETE] MODULE 1 - Introduction to Kubernetes
[✅ COMPLETE] MODULE 2 - Architecture and Components
[✅ COMPLETE] MODULE 3 - Pods and Deployments
[✅ COMPLETE] MODULE 4 - Services and Networking
[✅ COMPLETE] MODULE 5 - Configuration and Secrets
[✅ COMPLETE] MODULE 6 - Storage and Volumes
[✅ COMPLETE] MODULE 7 - Advanced Workloads
[✅ COMPLETE] MODULE 8 - Ingress and Load Balancing
[✅ COMPLETE] MODULE 9 - Security and RBAC
[✅ COMPLETE] MODULE 10 - Helm and Package Management
[✅ COMPLETE] MODULE 11 - Monitoring and Observability
[✅ COMPLETE] MODULE 12 - Production Deployment
Start Now!
Explore the modules in the sidebar and begin your Kubernetes learning journey!
Enjoy the course and happy learning!
Last updated: December 2024