Advance workloads in Kubernetes
Course Description
This course takes you beyond standard stateless deployments and into the world of advanced Kubernetes workloads. You will learn how to manage complex application patterns required for production-grade systems. The curriculum provides a deep dive into DaemonSets for running node-level agents, StatefulSets for deploying and scaling stateful applications like databases, and Jobs and CronJobs for handling batch processing and scheduled tasks. Through a series of in-depth, hands-on labs, you will master the nuances of persistent storage, stable network identities, and specialized workload controllers, enabling you to run virtually any application on Kubernetes.
Who is this course for
This is an advanced course designed for experienced Kubernetes professionals who need to manage complex and stateful applications. It is ideal for:
Senior DevOps Engineers & SREs: Who architect and maintain production Kubernetes environments.
Kubernetes Administrators: Responsible for managing the full lifecycle of diverse applications on a cluster.
Solutions Architects & Cloud Engineers: Who design scalable, resilient systems for stateful services like databases, message queues, and monitoring agents.
Course Objectives
Upon successful completion of this course, you will be able to:
Deploy Node-Specific Pods: Use DaemonSets to ensure a copy of a pod runs on all (or some) nodes in a cluster for tasks like logging and monitoring.
Manage Stateful Applications: Deploy and scale stateful applications using StatefulSets, providing pods with persistent storage and stable, unique network identifiers.
Run Batch Processes: Execute one-off or batch tasks to completion using Jobs.
Schedule Recurring Tasks: Create CronJobs to run automated, scheduled tasks within your cluster.
Differentiate Workload Types: Confidently choose the correct Kubernetes workload (Deployment, StatefulSet, DaemonSet) for any given application scenario.
Provision Persistent Storage: Understand and utilize Kubernetes storage concepts to provide persistent data to your workloads.
Prerequisites
To succeed in this course, you must have:
Strong, Practical Kubernetes Experience: You must be proficient with core Kubernetes objects, including Pods, Deployments, Services, and ConfigMaps/Secrets.
Advanced
kubectl
and YAML Skills: You should be very comfortable creating and managing resources from the command line and writing complex YAML manifests.A Working Kubernetes Cluster: You need access to a multi-node Kubernetes environment to fully appreciate concepts like DaemonSets.
Course outline
Section 1: DaemonSets Fundamentals
Introduction to DaemonSets
The Anatomy of a DaemonSet Manifest File
Hands-on Lab: DaemonSet Management in Kubernetes
Using a Service with a DaemonSet in a Multi-Node Cluster
Section 2: StatefulSets Fundamentals
Introduction to StatefulSet
Hands-on Lab: StatefulSet Management in Kubernetes
Understanding Headless Services
Hands-on Lab: Creating a Headless Service for a StatefulSet
Hands-on Lab: Pod Management Policies in StatefulSets
Hands-on Lab: Configuring Init Containers in StatefulSets
Hands-on Lab: Storage Configuration (Persistent vs. Ephemeral) in StatefulSets
Comparing Deployments, DaemonSets, and StatefulSets
Section 3: Jobs Fundamentals
Introduction to Jobs
Hands-on Lab: Using a Job to Perform a MySQL Database Backup
Section 4: CronJobs Fundamentals
Cron Expressions in Linux
Introduction to CronJobs in Kubernetes
The Difference Between Jobs and CronJobs
Section 5: Kubernetes Storage Fundamentals
Introduction to Kubernetes Storage
An Overview of Volume Types in Kubernetes
Hands-on Lab: Launching NGINX with Persistent Storage Using
hostPath
Section 6: PV and PVC in Kubernetes
Introduction to Persistent Volumes (PV) and Persistent Volume Claims (PVC)
Hands-on Lab: Nginx Deployment with a Persistent Volume and Claim