Kubernetes Pod Design for Application Developers

Lab Steps

Connecting to the Kubernetes Cluster
Reviewing Pod Definition Basics
Working With Pod Labels, Selectors, and Annotations
Managing Pods with Deployments
Using Jobs to Manage Pods that Run to Completion

Ready for the real environment experience?

Time Limit2h


Pods are the basic unit of work in Kubernetes. This Lab begins by teaching you basic Pod design including how to use labels to define sets of Pods. After that, you will learn to design Pod workloads using higher-level resources in Kubernetes that simplify Pod management. You will use Deployments to manage long-running workloads and perform rolling updates and rollbacks between versions of an application. You will also learn how to use Jobs and CronJobs to manage batch workloads that run to completion.

This Lab is valuable to anyone working with Kubernetes, but the content has been prepared considering topics described in the Certified Kubernetes Application Developer (CKAD) Exam Curriculum. Completion of the Lab will help you get hands-on experience, which is essential for passing the CKAD exam.

Learning Objectives

  • Understand how to create Pods and generate Pod YAML manifest files
  • Understand how to use labels, selectors, and annotations
  • Understand Deployments and how to perform rolling updates and rollbacks
  • Understand Jobs and CronJobs

Intended Audience

  • Application developers deploying applications in containers and using or considering Kubernetes
  • This Lab is recommended for Certified Kubernetes Application Developer (CKAD) examinees


  • Knowledge of Kubernetes Core Concepts (Master, Nodes, Pods)
  • Experience with kubectl or experience with using Linux at the command line

You can take the Introduction to Kubernetes Course to satisfy the prerequisites.


May 1st, 2021 - Updated to run Kubernetes 1.20, 80% faster startup time, and use a web terminal

April 16th, 2021 - Moved validation checks to the most relevant lab step for more immediate validation feedback

December 15th, 2020 - Updated to Kubernetes 1.19, added EC2 instance connect support

August 28th, 2020 - Updated the SSH instructions to reflect the new EC2 user interface

Environment before
Environment after
About the Author
Learning paths30

Logan has been involved in software development and research since 2007 and has been in the cloud since 2012. He is an AWS Certified DevOps Engineer - Professional, AWS Certified Solutions Architect - Professional, Microsoft Certified Azure Solutions Architect Expert, MCSE: Cloud Platform and Infrastructure, Google Cloud Certified Associate Cloud Engineer, Certified Kubernetes Security Specialist (CKS), Certified Kubernetes Administrator (CKA), Certified Kubernetes Application Developer (CKAD), and Certified OpenStack Administrator (COA). He earned his Ph.D. studying design automation and enjoys all things tech.