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.
- Kubernetes Pod Design for Application Developers: Definition Basics
- Kubernetes Pod Design for Application Developers: Labels, Selectors, and Annotations
- Kubernetes Pod Design for Application Developers: Deployments
- Kubernetes Pod Design for Application Developers: Jobs and CronJobs
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
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.