hands-on lab

Kubernetes Pod Design for Application Developers

Intermediate
2h
1,538
4.7/5
Get guided in a real environmentPractice with a step-by-step scenario in a real, provisioned environment.
Learn and validateUse validations to check your solutions every step of the way.
See resultsTrack your knowledge and monitor your progress.
Lab description

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.

Warning: This lab has been outdated and split into a set of smaller labs covering the topics in an easier-to-consume format

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

Prerequisites

  • 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.

Updates

September 6th, 2022 - Updated to run Kubernetes 1.24

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
Avatar
Logan Rakai, opens in a new tab
Lead Content Developer - Labs
Students
215,813
Labs
222
Courses
9
Learning paths
56

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.

LinkedIn, Twitter, GitHub

Covered topics
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