O'Reilly logo
live online training icon Live Online training

Certified Kubernetes Application Developer Crash Course (CKAD)

In-depth and hands-on practice for acing the exam

Benjamin Muschko

The ability to use, troubleshoot and monitor Kubernetes as an application developer is in high demand. In response, the Cloud Native Computing Foundation (CNCF) developed the Certified Kubernetes Application Developer (CKAD) certification to establish a developer’s credibility and value in the job market to confidently work in a Kubernetes environment. The exam is different from the typical multi-choice format of other certifications. It’s completely performance-based and requires deep knowledge of the tasks at hand under immense time pressure. Are you ready to pass the test on the first go?

This practical course is designed to walk you through all the topics covered in the exam to fully prepare to pass the certification exam. The trainer and CKAD, Benjamin Muschko, will also share his personal experience with preparing for all aspects of the exam.

What you'll learn-and how you can apply it

By the end of this live, hands-on, online course, you’ll understand:

  • When and how to apply Kubernetes concepts to manage an application
  • Objectives, abilities, and tips and tricks (like time management, navigating the exam environment, and the type of questions to expect) needed to pass the CKAD exam
  • The ins and outs of the kubectl command line tool

And you’ll be able to:

  • Demonstrate competency to perform the responsibilities of Kubernetes application developers
  • Solve real-world Kubernetes problems in a hands-on, command-line environment
  • Effectively navigate and solve questions during the CKAD exam

This training course is for you because...

  • You’re a developer using Kubernetes to configure, manage and rollout applications
  • You want to understand the basics of Kubernetes by solving hands-on problems
  • You want to become a Certified Kubernetes Application Developer


  • Experience with containers, in particular Docker
  • Beginner-level understanding of Kubernetes concepts and the resources API
  • Familiarity with a Unix environment and bash commands
  • Familiarity with command line-based text editor (optimally vim) and the YAML format

Recommended preparation:

  • Attendees will need access to a Kubernetes cluster, either local or remote. The recommended setup is to install minikube and kubectl.
  • Skim through the CKAD Candidate Handbook (PDF) for an overview of how the exam is administered.
  • If you need a refresher on Kubernetes basics, consider taking one of the following:

Recommended follow-up:

About your instructor

  • Benjamin Muschko is a software engineer, and a consultant and trainer with over 15 years of experience in the industry. He’s passionate about project automation, testing and Continuous Delivery. Ben is the author of Gradle in Action (Manning). He is a frequent speaker at conferences and is an avid Open Source advocate.


The timeframes are only estimates and may vary according to how the class is progressing

Day 1 (230 minutes)

Exam Details and Resources (50 minutes)

  • Presentation: Introduction to the Course (5 mins)
  • Presentation: Exam Objectives and Curriculum (10 mins)
  • Presentation: Candidate Skills and Exam Environment (5 mins)
  • Presentation: Time Management, Tips & Tricks (10 mins)
  • Presentation: Additional Resources, Practice Exams (5 mins)
  • Q&A (10 mins)
  • Break (5 mins)

Core Concepts (35 minutes)

  • Presentation: Kubernetes Object Creation and Management (10 mins)
  • Presentation: Understanding Pods (5 mins)
  • Presentation: Inspecting and Configuring Pods (5 mins)
  • Exercise: Creating a Pod and Inspecting it (10 mins)
  • Q&A (5 mins)
  • Break (5 mins)

Configuration (80 minutes)

  • Presentation: Creating and Mounting ConfigMaps (10 mins)
  • Exercise: Creating a Pod to use a ConfigMap (10 mins)
  • Presentation: Creating and Mounting Secrets (5 mins)
  • Exercise: Creating a Pod to use a Secret (5 mins)
  • Presentation: Creating SecurityContexts (10 mins)
  • Exercise: Creating SecurityContexts for a Pod (10 mins)
  • Presentation: Declaring Resource Boundaries (5 mins)
  • Exercise: Defining a Pod’s Resource Boundaries (10 mins)
  • Presentation: Declaring ServiceAccounts (5 mins)
  • Exercise: Using a ServiceAccount (5 mins)
  • Q&A (5 mins)
  • Break (5 mins)

Multi-Container Pods (50 minutes)

  • Presentation: Creating and Running Multiple Containers in a Pod (5 mins)
  • Presentation: Understanding the Init Containers (5 mins)
  • Exercise: Creating an Init Container (10 mins)
  • Presentation: Understanding the Sidecar Pattern (5 mins)
  • Presentation: Understanding the Adapter Pattern (5 mins)
  • Presentation: Understanding the Ambassador Pattern (5 mins)
  • Exercise: Implementing the Adapter Pattern (10 mins)
  • Q&A (5 mins)

Day 2 (230 minutes)

Observability (45 minutes)

  • Presentation: Understanding and Defining ReadinessProbes (5 mins)
  • Presentation: Understanding and Defining LivenessProbes (5 mins)
  • Exercise: Defining a Pod’s ReadinessProbe and LivenessProbe (10 mins)
  • Presentation: Debugging Existing Pods (10 mins)
  • Exercise: Fixing a Misconfigured Pod (10 mins)
  • Q&A (5 mins)
  • Break (5 mins)

Pod Design (85 minutes)

  • Presentation: Understanding and Querying Labels (10 mins)
  • Presentation: Understanding Annotations (5 mins)
  • Exercise: Defining and Querying Labels and Annotations (10 mins)
  • Presentation: Understanding and Creating Deployments (15 mins)
  • Presentation: Scaling a Deployment (5 mins)
  • Exercise: Performing Rolling Updates and Scaling a Deployment (10 mins)
  • Presentation: Understanding and Creating Jobs (10 mins)
  • Presentation: Understanding and CronJobs (5 mins)
  • Exercise: Creating a Scheduled Container Operation (10 mins)
  • Q&A (5 mins)
  • Break (5 mins)

Services & Networking (50 minutes)

  • Presentation: Understanding and Creating Services (10 mins)
  • Presentation: Services and Deployments (5 mins)
  • Exercise: Routing Traffic to Pods Inside and Outside of a Cluster (10 mins)
  • Presentation: Understanding and Creating Network Policies (10 mins)
  • Exercise: Restricting Access to and from a Pod (10 mins)
  • Q&A (5 mins)
  • Break (5 mins)

State Persistence (25 minutes)

  • Presentation: Understanding and Creating Volumes (5 mins)
  • Presentation: Understanding and Creating PersistentVolumes (5 mins)
  • Presentation: Defining and Mounting a PersistentVolumes (10 mins)
  • Q&A (5 mins)

Summary and Wrap-up (10 mins)

  • Best way to practice and gaining confidence (5 mins)
  • Q&A (5 mins)