Certified Kubernetes Application Developer (CKAD) Study Guide

Book description

Exclusively on O'Reilly: Get more hands-on training and test your CKAD exam readiness by working through the Certified Kubernetes Application Developer (CKAD) Exam Prep Labs playlist. This collection of 33 interactive labs provides hands-on training that enhances the exam prep provided by this study guide.

Developers with the ability to operate, troubleshoot, and monitor applications in Kubernetes are in high demand today. To meet this need, the Cloud Native Computing Foundation created a certification exam to establish a developer's credibility and value in the job market to work in a Kubernetes environment.

The Certified Kubernetes Application Developer (CKAD) exam is different from the typical multiple-choice format of other certifications. Instead, the CKAD is a performance-based exam that requires deep knowledge of the tasks under immense time pressure.

This study guide walks you through all the topics you need to fully prepare for the exam. Author Benjamin Muschko also shares his personal experience with preparing for all aspects of the exam.

  • Learn when and how to apply Kubernetes concepts to manage an application
  • Understand the objectives, abilities, tips, and tricks needed to pass the CKAD exam
  • Explore the ins and outs of the kubectl command-line tool
  • Demonstrate competency for performing the responsibilities of a Kubernetes application developer
  • Solve real-world Kubernetes problems in a hands-on command-line environment
  • Navigate and solve questions during the CKAD exam

Publisher resources

View/Submit Errata

Table of contents

  1. Preface
    1. Who This Book Is For
    2. What You Will Learn
    3. Conventions Used in This Book
    4. Using Code Examples
    5. O’Reilly Online Learning
    6. How to Contact Us
    7. Acknowledgments
  2. 1. Exam Details and Resources
    1. Exam Objectives
    2. Curriculum
      1. Core Concepts
      2. Configuration
      3. Multi-Container Pods
      4. Observability
      5. Pod Design
      6. Services & Networking
      7. State Persistence
    3. Exam Environment and Tips
    4. Candidate Skills
    5. Time Management
    6. Command Line Tips and Tricks
      1. Setting a Context and Namespace
      2. Using an Alias for kubectl
      3. Internalize Resource Short Names
      4. Deleting Kubernetes Objects
      5. Finding Object Information
      6. Discovering Command Options
    7. Practicing and Practice Exams
    8. Summary
  3. 2. Core Concepts
    1. Kubernetes Primitives
    2. Using kubectl to Interact with the Kubernetes Cluster
    3. Object Management
      1. Imperative Approach
      2. Declarative Approach
      3. Hybrid Approach
      4. Which Approach to Use?
      5. Other Notable Commands
    4. Understanding Pods
    5. Containerization Process
      1. Container Concepts
      2. Example: Containerizing a Java-Based Application
    6. Creating Pods
    7. Listing Pods
    8. Pod Life Cycle Phases
    9. Rendering Pod Details
    10. Accessing Logs of a Pod
    11. Executing a Command in Container
    12. Deleting a Pod
    13. Configuring Pods
      1. Declaring Environment Variables
      2. Defining a Command with Arguments
    14. Understanding Namespaces
    15. Listing Namespaces
    16. Creating and Using a Namespace
    17. Deleting a Namespace
    18. Summary
    19. Exam Essentials
    20. Sample Exercises
  4. 3. Configuration
    1. Defining and Consuming Configuration Data
      1. Creating a ConfigMap
      2. Consuming a ConfigMap as Environment Variables
      3. Mounting a ConfigMap as Volume
      4. Creating a Secret
      5. Consuming a Secret as Environment Variables
      6. Mounting a Secret as Volume
    2. Understanding Security Contexts
    3. Understanding Resource Boundaries
      1. Creating a ResourceQuota
      2. Exploring ResourceQuota Enforcement
    4. Understanding Service Accounts
      1. Creating and Assigning Custom Service Accounts
    5. Summary
    6. Exam Essentials
    7. Sample Exercises
  5. 4. Multi-Container Pods
    1. Defining Multiple Containers in a Pod
    2. Init Containers
    3. The Sidecar Pattern
    4. The Adapter Pattern
    5. The Ambassador Pattern
    6. Summary
    7. Exam Essentials
    8. Sample Exercises
  6. 5. Observability
    1. Understanding Health Probing
    2. Readiness Probe
    3. Liveness Probe
    4. Startup Probe
    5. Debugging in Kubernetes
      1. Troubleshooting Pods
      2. Opening an Interactive Shell
      3. Using an Ephemeral Container
      4. Troubleshooting Services
    6. Monitoring
    7. Summary
    8. Exam Essentials
    9. Sample Exercises
  7. 6. Pod Design
    1. Understanding Labels
    2. Declaring Labels
    3. Inspecting Labels
    4. Modifying Labels for a Live Object
    5. Using Label Selectors
      1. Label Selection from the Command Line
      2. Label Selection in a Manifest
    6. Understanding Annotations
    7. Declaring Annotations
    8. Inspecting Annotations
    9. Modifying Annotations for a Live Object
    10. Understanding Deployments
    11. Creating Deployments
    12. Listing Deployments
    13. Rendering Deployment Details
    14. Rolling Out a New Revision
    15. Rolling Back to a Previous Revision
    16. Manually Scaling a Deployment
    17. Autoscaling a Deployment
    18. Horizontal Pod Autoscaler
    19. Understanding Jobs
    20. Creating and Inspecting Jobs
    21. Job Operation Types
    22. Restart Behavior
      1. Restarting the Container on Failure
      2. Starting a New Pod on Failure
    23. Understanding CronJobs
    24. Creating and Inspecting Jobs
    25. Configuring Retained Job History
    26. Summary
    27. Exam Essentials
    28. Sample Exercises
  8. 7. Services & Networking
    1. Understanding Services
    2. Service Types
    3. Creating Services
    4. Listing Services
    5. Rendering Service Details
    6. Port Mapping
    7. Accessing a Service with Type ClusterIP
    8. Accessing a Service with Type NodePort
    9. Deployments and Services
    10. Understanding Network Policies
    11. Creating Network Policies
    12. Listing Network Policies
    13. Rendering Network Policy Details
    14. Isolating All Pods in a Namespace
    15. Restricting Access to Ports
    16. Summary
    17. Exam Essentials
    18. Sample Exercises
  9. 8. State Persistence
    1. Understanding Volumes
    2. Volume Types
    3. Creating and Accessing Volumes
    4. Understanding Persistent Volumes
    5. Static Versus Dynamic Provisioning
    6. Creating PersistentVolumes
    7. Creating PersistentVolumeClaims
    8. Mounting PersistentVolumeClaims in a Pod
    9. Summary
    10. Exam Essentials
    11. Sample Exercises
  10. Answers to Review Questions
    1. Chapter 2, Core Concepts
    2. Chapter 3, Configuration
    3. Chapter 4, Multi-Container Pods
    4. Chapter 5, Observability
    5. Chapter 6, Pod Design
    6. Chapter 7, Services and Networking
    7. Chapter 8, State Persistence
  11. Index
  12. About the Author

Product information

  • Title: Certified Kubernetes Application Developer (CKAD) Study Guide
  • Author(s): Benjamin Muschko
  • Release date: February 2021
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781492083733