Kubernetes Course Syllabus Outline
This syllabus is designed to take a learner from foundational container concepts to managing
applications on a Kubernetes cluster.
Module 1: Introduction to Containers & Docker (Prerequisites)
What are Containers?
o Virtual Machines vs. Containers
o Benefits of Containers (Portability, Isolation, Efficiency)
Docker Fundamentals
o Installing Docker
o Docker Images (building, pulling, pushing)
o Dockerfiles (creating custom images)
o Docker Containers (running, stopping, removing)
o Docker Networking Basics
o Docker Volumes (persistent storage)
o Docker Compose (multi-container local development)
Module 2: Introduction to Kubernetes
What is Kubernetes?
o Orchestration Defined
o Why Kubernetes? (Scalability, High Availability, Automation)
o Key Features and Benefits
Kubernetes Architecture
o Control Plane (Master Node components: Kube-API Server, etcd, Kube-Scheduler,
Kube-Controller-Manager, Cloud Controller Manager)
o Worker Nodes (Kubelet, Kube-proxy, Container Runtime)
o Kubernetes Objects and API
Module 3: Core Kubernetes Concepts - Workloads
Pods
o Smallest deployable units in Kubernetes
o Pod lifecycle (Pending, Running, Succeeded, Failed)
o Multi-container Pods (sidecar pattern, init containers)
o Pod networking and IP addressing
Deployments
o Managing stateless applications
o Replication Controllers vs. ReplicaSets vs. Deployments
o Rolling updates and rollbacks
o Scaling Deployments
Other Workload Controllers
o DaemonSets: Running one Pod per node
o StatefulSets: Managing stateful applications (stable identities, ordered
deployment/scaling)
o Jobs & CronJobs: Running batch processes and scheduled tasks
Module 4: Service Discovery & Networking
Services
o Abstracting Pods
o Service Types: ClusterIP, NodePort, LoadBalancer, ExternalName
o Headless Services
DNS in Kubernetes
o CoreDNS
o Service Discovery via DNS
Ingress
o Exposing services outside the cluster
o Ingress Controllers (e.g., NGINX Ingress Controller)
o Ingress Resources (rules, TLS)
Network Policies
o Controlling Pod-to-Pod communication
o Network Policy specifications
Module 5: Storage in Kubernetes
Volumes
o Ephemeral vs. Persistent Volumes
o Volume types (emptyDir, hostPath, ConfigMap, Secret)
Persistent Volumes (PVs)
o Cluster-wide storage resources
o Storage Classes
Persistent Volume Claims (PVCs)
o Requesting storage for Pods
o Access Modes (ReadWriteOnce, ReadOnlyMany, ReadWriteMany)
Module 6: Configuration & Security
ConfigMaps & Secrets
o Separating configuration from application code
o Mounting as files or injecting as environment variables
o Best practices for Secrets management
Resource Management
o Resource Requests and Limits (CPU, Memory)
o Quality of Service (QoS) classes
o Resource Quotas and Limit Ranges
Security Contexts
o Pod-level and Container-level security settings (runAsUser, capabilities)
Role-Based Access Control (RBAC)
o Users, Roles, ClusterRoles, RoleBindings, ClusterRoleBindings
o Service Accounts
Module 7: Observability & Troubleshooting
Logging
o Container logs (stdout/stderr)
o Log aggregation (overview of tools like Fluentd, Elasticsearch, Kibana - ELK stack, or
Prometheus/Grafana Loki)
Monitoring & Health Checks
o Readiness and Liveness Probes
o Resource metrics (Metrics Server)
o Introduction to Prometheus and Grafana for cluster monitoring
Debugging Applications & Clusters
o Using kubectl describe, kubectl logs, kubectl exec
o Troubleshooting common Pod, Service, and Deployment issues
o Troubleshooting worker node issues
Module 8: Advanced Topics & Best Practices (Overview)
Helm: Package manager for Kubernetes
Kustomize: Customizing Kubernetes configurations
Introduction to CI/CD with Kubernetes
Autoscaling: Horizontal Pod Autoscaler (HPA), Vertical Pod Autoscaler (VPA), Cluster
Autoscaler
Kubernetes Ecosystem (Brief Overview): Operators, CRDs, Service Mesh (Istio/Linkerd),
Serverless (Knative)