Course objectives
After completing this course, students will be able to:
- Build & Manage Clusters: Install production-grade clusters using kubeadm and manage their lifecycle (upgrades/maintenance).
- Ensure High Availability: Implement and configure a highly available control plane and etcd backend.
- Master Networking: Configure Pod-to-Pod connectivity, Ingress controllers, and the modern Gateway API.
- Implement Storage: Manage Persistent Volumes (PVs), Claims (PVCs), and dynamic StorageClasses.
- Secure the Cluster: Configure Role-Based Access Control (RBAC) and define Network Policies to isolate traffic.
- Troubleshoot Under Pressure: Rapidly diagnose and fix failures in cluster components, networking, and application scheduling.
.
Course outlines
- Domain 1: Cluster Architecture, Installation & Configuration
- Role-Based Access Control (RBAC): Creating Users, Roles, and Bindings.
- Kubeadm Bootstrapping: Creating a cluster from scratch.
- Etcd Management: Backing up and restoring the cluster’s state.
- Upgrades: Performing zero-downtime version upgrades on Masters and Nodes.
- Domain 2: Workloads & Scheduling
- Self-Healing: Designing robust Deployments that automatically restart failed containers.
- Rolling Updates: Managing application versions without downtime.
- Advanced Scheduling: Using Taints, Tolerations, and Node Affinity.
- Config & Secrets: Using ConfigMaps and Secrets for application configuration.
- Domain 3: Services & Networking
- Connectivity: Understanding CNI plugins and Pod-to-Pod communication.
- Services: ClusterIP, NodePort, and LoadBalancer types.
- Ingress & Gateway API: Exposing applications to the outside world.
- CoreDNS: Managing internal service discovery.
- Domain 4: Storage
- Volume Types: Configuring HostPath, NFS, and Cloud-based storage.
- Dynamic Provisioning: Automating storage allocation with StorageClasses.
- Persistence: Ensuring data survives Pod restarts and node failures.
- Domain 5: Troubleshooting – The Critical Section
- Cluster Failures: Fixing a broken kube-apiserver or kubelet.
- Networking Debugging: Finding why a Service cannot reach a Pod.
- Logging: Using kubectl logs and checking system logs with journalctl.
- App Failure: Analyzing CrashLoopBackOff and ImagePullBackOff errors.