Certified Kubernetes Application Developer Free Practice Questions
This practice bank covers core CKAD topics including workload resources (Pods, Deployments, ReplicaSets, Jobs, init containers), configuration management (ConfigMaps, Secrets), networking (ClusterIP, NodePort services), storage (PersistentVolumeClaims), probes (readiness, liveness), resource management (limits/requests), and debugging (kubectl logs, kubectl debug, kubectl apply). It exercises declarative configuration, understanding pod lifecycle, and choosing appropriate service types. The questions help you practice applying these concepts in a Kubernetes environment, reinforcing the skills needed for application deployment and maintenance.
What this CKAD practice set measures
This is an analysis of the practice bank, not a claim about the vendor's live exam blueprint. Use it to identify the knowledge, judgment, and recall patterns exercised here, then verify your coverage against the current official exam guide.
Workload Resources and Lifecycle Management
This section focuses on the core building blocks for running containers: Pods, Deployments, ReplicaSets, Jobs, and init containers. Understanding when to use each resource is critical for application developers. Pods are the smallest unit, Deployments provide declarative updates, ReplicaSets ensure replica count, Jobs run to completion, and init containers perform setup tasks. Probes (liveness and readiness) are essential for managing container health and traffic flow.
- Pod is the smallest deployable unit running one or more containers.
- Deployment manages ReplicaSets and supports rolling updates and rollbacks.
- Job is ideal for batch processes that run to completion.
- Init containers run before main containers to prepare the environment.
- Liveness probes restart containers; readiness probes control traffic routing.
Configuration and Storage
Managing configuration and sensitive data separately from container images is a key CKAD skill. ConfigMaps and Secrets allow you to inject environment variables, files, or command-line arguments. PersistentVolumeClaims enable pods to request persistent storage without knowing underlying storage details. The envFrom field simplifies injecting all keys from a ConfigMap or Secret into a container's environment.
- ConfigMaps store non-sensitive configuration data; Secrets store sensitive data like passwords.
- Use envFrom to inject all key-value pairs from a ConfigMap into a container.
- PersistentVolumeClaims request storage resources on behalf of pods.
- Secrets are base64-encoded and can be mounted as volumes or environment variables.
Networking and Service Exposure
Kubernetes networking enables communication between pods and external clients. Services abstract pod IPs and provide stable endpoints. ClusterIP exposes a service internally, while NodePort opens a static port on all nodes for external access. Understanding service types and when to use them is crucial for exposing applications correctly.
- ClusterIP provides a stable internal IP for pod-to-pod communication.
- NodePort exposes a service on a fixed port on every cluster node.
- Services enable load balancing across pod replicas.
- External access via NodePort uses <NodeIP>:<NodePort>.
Debugging and Resource Management
Developers must be proficient in troubleshooting and optimizing resources. kubectl logs retrieves container logs, kubectl debug creates debugging containers alongside pods. Resource requests and limits (CPU/memory) help the scheduler place pods and prevent resource starvation. kubectl apply manages resources declaratively, making it the recommended method for production configurations.
- kubectl logs fetches logs from a container; useful for debugging.
- kubectl debug adds a temporary container to a pod for interactive inspection.
- Specify CPU/memory requests and limits under the resources field.
- kubectl apply creates or updates resources declaratively from YAML/JSON files.
Practice Certified Kubernetes Application Developer with real flashcards
Read the prompt, commit to an answer, then flip the card. Move through the deck at your own pace and repeat any topic that does not come back quickly.
Card 1 of 20
1 reviewed this session
Static practice bank
Start the 15-question diagnostic
The complete question bank is embedded in this pre-rendered page. There is no database request or second content download when you begin.
Which resource is used to define how to run a single container process in Kubernetes?
Show hint
Understand core workload resources and their purposes.
Study workflow
Turn one CKAD attempt into a study plan
- 1
Deploy an Application Using ConfigMap
Create a ConfigMap with key-value pairs. Then define a Pod that references the ConfigMap using envFrom. Apply the Pod YAML with kubectl apply. Verify that environment variables are injected by exec'ing into the container and running env.
- 2
Expose a Pod Externally with NodePort
Create a Deployment for your app. Create a NodePort Service targeting the deployment's selector. Check service details with kubectl get svc. Access the application using any node's IP and the assigned NodePort.
- 3
Configure Readiness and Liveness Probes
Add an HTTP readiness probe and a liveness probe to your Pod spec. Use endpoints like /healthz. Apply the Pod. Observe probe failures with kubectl describe pod. Note removal from Service endpoints on readiness failure and container restart on liveness failure.
- 4
Debug a Pod with kubectl debug
If a pod is not working, use kubectl debug mypod -it --image=busybox --copy-to=mydebugger. This creates a temporary container alongside the original pod. Use tools like curl or netstat to inspect network connectivity and filesystem.
- 5
Use PersistentVolumeClaim for Storage
Create a PersistentVolumeClaim requesting 1Gi of storage. In a Pod spec, mount the PVC at a path. The Pod will use the claim to access persistent storage. Check that data persists across pod restarts by writing a file and recreating the pod.
FAQ
Questions about this CKAD practice page
Clear boundaries on what the bank covers, how to use it, and where official vendor information still matters.
What is the difference between a ConfigMap and a Secret?+
ConfigMaps store non-confidential configuration data in plain text, while Secrets are intended for sensitive data (e.g., passwords, tokens). Secrets are base64-encoded and can be further encrypted at rest. Both can be injected as environment variables or mounted as volumes.
When should I use a Job instead of a Deployment?+
Use a Job for tasks that run to completion, like batch processing or database migrations. Deployments are for long-running services that should stay up. Jobs ensure a specified number of pods successfully terminate, making them ideal for finite workloads.
How do I choose between ClusterIP and NodePort services?+
Use ClusterIP for internal microservice communication; it is not reachable externally. Use NodePort when you need external access, such as for development or when a load balancer is not available. NodePort opens a static port on every node.
What is the purpose of a liveness probe in a CKAD exam context?+
A liveness probe checks if a container is still running. If it fails, the kubelet restarts the container. This helps recover from deadlocks or application hangs. It is separate from readiness probes, which control traffic routing.
Can I use kubectl apply on an existing resource?+
Yes, kubectl apply updates the resource declaratively. It compares the provided configuration with the live state and applies changes accordingly. This is the recommended method for managing resources in production, as it supports drift correction and works well with GitOps workflows.
Build the next review session
Browse another free bank or use the study strategy guide to turn your misses into spaced review.
