Inspect, Create, and Debug Your First Pod with kubectl
Author a Pod, watch its lifecycle, debug an ImagePullBackOff with describe, then prove a multi-container Pod shares localhost networking and an emptyDir volume.

Lab overview
A Pod is the smallest deployable unit in Kubernetes and the wrapper that every higher-level workload (Deployment, Job, StatefulSet, DaemonSet) eventually creates on your behalf. Each Pod is a co-scheduled group of one or more containers that share a network namespace (one IP, shared localhost) and can share storage through volumes, so understanding Pods is the prerequisite to understanding everything else the platform schedules. When something is wrong in a cluster, four kubectl verbs do almost all of the diagnostic work: get reveals state at a glance, describe exposes the events the scheduler and kubelet emit while reconciling the Pod, logs shows what the container itself printed, and exec puts you inside the running container so you can poke at the filesystem and network.
In this lab, you will author a single-container Pod manifest, apply it, and watch the lifecycle transitions roll through in real time. You will deliberately break the Pod by typoing the image tag, read ImagePullBackOff events out of describe, repair the manifest, and then deploy a multi-container Pod that proves two containers in the same Pod can curl each other on localhost and share files through an emptyDir volume.
Objectives
Upon completion of this beginner level lab, you will be able to:
- Author and apply a single-container Pod manifest and observe its lifecycle transitions with
kubectl get -w - Diagnose an
ImagePullBackOfffailure usingkubectl describeevents and repair the manifest - Inspect a running container with
kubectl logsand enter it withkubectl exec -itto verify behavior - Demonstrate that two containers in the same Pod share a network namespace and an
emptyDirvolume
Who is this lab for?
This lab is designed for:
- Engineers and developers brand new to Kubernetes
- SREs learning the core Pod debugging workflow
- CKAD and CKA candidates building Pod fundamentals
Verified against your live environment
An automated validation engine inspects your actual resources and configurations as you work. Completion means the task was performed — not multiple choice, real-world proficiency.
More labs like this
Imperative vs Declarative Pod Creation Side by Side
Create the same Pod three ways and see how kubectl run, dry-run YAML, and hand-written manifests all converge on apply.
Drive Your First Cluster with kubectl Verbs
Practice kubectl get, describe, and explain on a pre-built kind cluster before touching any YAML.
Terraform Providers - Configure, Version, and Lock Dependencies
Configure the AWS Terraform provider with version constraints, explore the dependency lock file, and upgrade provider versions safely.
Related reading
Environment
Every lab includes
- Real environment, pre-credentialed
- Automated checks on every step
- Isolated sandbox, auto cleanup
- AI-recommended next steps
Lab curriculum
- 01
Getting Started with Kubernetes IDE
1 automated check
- 02
Author and Apply Your First Single-Container Pod
1 automated check
- 03
Debug an Image Pull Failure Using describe Events
1 automated check
- 04
Inspect Pod Logs and Exec into the Container
1 automated check
- 05
Verify a Multi-Container Pod Shares Network and Volume
1 automated check
Skills validated
Not the lab you were looking for?
Browse 150+ hands-on labs across AWS, Azure, Kubernetes, Docker, and cloud security.