Quiz Module 3 - Pods and Deployments
Instructions
This quiz contains 30 multiple-choice questions to validate your understanding of Module 3.
Tip: Answer each question before revealing the answer. Answers are hidden right after each question.
Question 1
What is a Pod in Kubernetes?
See explanation
Correct answer: The smallest deployable unit, containing one or more containers that share resources
Explanation: A Pod is a group of one or more containers that share the same IP address, the same network namespace, and the same volumes. It is the atomic unit of deployment in Kubernetes.
Question 2
What is the primary role of a ReplicaSet?
See explanation
Correct answer: Maintain a stable number of identical Pod replicas
Explanation: A ReplicaSet guarantees that a specified number of identical Pods is always available. If a Pod crashes, the ReplicaSet automatically creates a new Pod.
Question 3
What is the main advantage of a Deployment over a ReplicaSet?
See explanation
Correct answer: It provides version management, rolling updates, and rollbacks
Explanation: Deployments manage ReplicaSets and provide advanced features like rolling updates (updates without interruption), rollbacks, and version management.
Question 4
What is the lifecycle of a Pod in Kubernetes?
See explanation
Correct answer: Pending -> Running -> Succeeded/Failed/Unknown
Explanation: A Pod goes through Pending (waiting to be scheduled), then Running (executing), and can terminate as Succeeded (success), Failed (failure), or Unknown (unknown state).
Question 5
What is a Label in Kubernetes?
See explanation
Correct answer: A key-value pair attached to objects to organize and select resources
Explanation: Labels are metadata in the form of key-value pairs that allow you to organize, group, and select Kubernetes resources flexibly.
Question 6
What is the role of a Selector in Kubernetes?
See explanation
Correct answer: Identify a set of resources based on their Labels
Explanation: Selectors allow you to select resources (Pods, Services, etc.) based on their Labels, enabling ReplicaSets, Deployments, and Services to target the right Pods.
Question 7
What is the main difference between a ReplicaSet and a ReplicationController?
See explanation
Correct answer: ReplicaSet supports expression-based selectors (matchExpressions), ReplicationController does not
Explanation: ReplicaSet is the modern and improved version of ReplicationController, with more flexible selector support via matchExpressions.
Question 8
Which deployment strategy is used by default in a Deployment?
See explanation
Correct answer: RollingUpdate
Explanation: RollingUpdate is the default strategy that progressively updates Pods, replacing old ones with new ones one by one or in small groups, ensuring service availability.
Question 9
What is a Liveness Probe?
See explanation
Correct answer: A probe that checks if the container is still alive and functioning correctly
Explanation: The Liveness Probe detects if a container is in a stuck or dead state. If the probe fails, Kubernetes restarts the container.
Question 10
What is a Readiness Probe?
See explanation
Correct answer: A probe that checks if the Pod is ready to receive traffic
Explanation: The Readiness Probe determines if a Pod is ready to receive requests. If the probe fails, the Pod is removed from Service endpoints until it becomes ready again.
Question 11
What is a Startup Probe?
See explanation
Correct answer: A probe that checks if the application in the container has started
Explanation: The Startup Probe allows containers with long startup times to signal that they have started, before other probes begin.
Question 12
What type of probe can be used for health checks?
See explanation
Correct answer: HTTP, TCP, or Exec
Explanation: Kubernetes supports three types of probes: HTTP (checks an HTTP response), TCP (checks if a port is open), and Exec (executes a command in the container).
Question 13
Which kubectl command shows the deployment history?
See explanation
Correct answer: kubectl rollout history deployment/[name]
Explanation: This command displays the revision history of a Deployment, allowing you to see the different versions deployed and perform rollbacks if necessary.
Question 14
How do you rollback a Deployment to a previous version?
See explanation
Correct answer: kubectl rollout undo deployment/[name]
Explanation: This command undoes the last deployment and restores the previous version, enabling a quick rollback in case of problems.
Question 15
What is an Init Container?
See explanation
Correct answer: A container that runs before the main containers and must complete successfully
Explanation: Init Containers run sequentially before the main containers and are useful for configuration, waiting for dependencies, or preparing the environment.
Question 16
What is the difference between maxSurge and maxUnavailable in a RollingUpdate strategy?
See explanation
Correct answer: maxSurge defines the maximum number of additional Pods, maxUnavailable defines the maximum number of unavailable Pods
Explanation: maxSurge allows having more Pods than the desired number during the update, while maxUnavailable limits the number of Pods that can be simultaneously unavailable.
Question 17
What is a Pod Disruption Budget (PDB)?
See explanation
Correct answer: A policy that limits the number of Pods of an application that can be disrupted simultaneously
Explanation: A PDB guarantees that a certain number of Pods of an application remain available during updates or maintenance, ensuring high availability.
Question 18
What is the advantage of using a Deployment rather than a Pod directly?
See explanation
Correct answer: Deployments provide version management, rolling updates, rollbacks, and automatic replication
Explanation: Deployments automatically manage ReplicaSets and provide advanced deployment and rollback features, which is not possible with direct Pods.
Question 19
What is the command to update the image of a Deployment?
See explanation
Correct answer: kubectl set image deployment/[name] [container]=[new-image]
Explanation: This command updates the image of a container in a Deployment, automatically triggering a rolling update.
Question 20
What does a ReplicaSet do if a Pod is manually deleted?
See explanation
Correct answer: It automatically creates a new Pod to maintain the desired number of replicas
Explanation: A ReplicaSet constantly monitors the number of Pods and automatically creates new Pods if the current number is less than the desired number.
Question 21
What is the difference between a Pod and a container?
See explanation
Correct answer: A Pod can contain one or more containers that share network and storage resources
Explanation: A Pod is the atomic unit of deployment in Kubernetes and can contain multiple containers that share the same IP, the same network namespace, and the same volumes.
Question 22
What is a Static Pod?
See explanation
Correct answer: A Pod managed directly by kubelet on a specific node, without going through the API Server
Explanation: Static Pods are defined in a file on the node and are managed directly by kubelet, often used for Control Plane components.
Question 23
What is the Recreate deployment strategy?
See explanation
Correct answer: All old Pods are terminated before new ones are created
Explanation: The Recreate strategy stops all existing Pods before creating new ones, causing a service interruption but guaranteeing that only one version runs at a time.
Question 24
What is a DaemonSet?
See explanation
Correct answer: A workload that ensures a Pod runs on all (or certain) nodes in the cluster
Explanation: A DaemonSet is used for system agents like logging or monitoring agents that need to run on every node.
Question 25
What is the default frequency of a Liveness Probe?
See explanation
Correct answer: Every 10 seconds
Explanation: By default, probes run every 10 seconds, but this value can be configured via the periodSeconds parameter.
Question 26
What is a Pod Preset (deprecated)?
See explanation
Correct answer: A resource that automatically injects information (env vars, volumes) into Pods matching certain selectors
Explanation: Pod Preset was a feature (now deprecated) that allowed automatically injecting ConfigMaps, Secrets, and volumes into Pods. Modern alternatives include Admission Controllers.
Question 27
Which command shows the status of a rollout?
See explanation
Correct answer: kubectl rollout status deployment/[name]
Explanation: This command monitors the status of an ongoing rollout and waits for its completion, useful for knowing when an update is finished.
Question 28
What does a ReplicaSet do if the number of Pods exceeds the desired number?
See explanation
Correct answer: It deletes excess Pods to return to the desired number
Explanation: A ReplicaSet always maintains the exact desired number of replicas, deleting excess Pods when necessary.
Question 29
What is the difference between a Deployment and a ReplicaSet?
See explanation
Correct answer: A Deployment manages ReplicaSets and provides deployment and rollback features
Explanation: A Deployment is a higher-level abstraction that manages ReplicaSets and provides advanced features like rolling updates and rollbacks.
Question 30
What can a Pod share with other containers in the same Pod?
See explanation
Correct answer: The IP address, the network namespace, and the volumes
Explanation: Containers in the same Pod share the same IP address, the same network namespace (they can communicate via localhost), and the same mounted volumes.
Quiz Results
Congratulations on completing the Module 3 quiz!
Score:
- 25-30 correct answers: Excellent! You have mastered Pods and Deployments.
- 20-24 correct answers: Very good! Review the concepts where you had difficulties.
- 15-19 correct answers: Good! Review the chapters on Pods and Deployments.
- Less than 15: Recommended to review the module before continuing.
Next Steps
Now that you have validated your knowledge:
Module 4: Services and Networking
Hands-on Labs: Put Pods and Deployments into practice
Quiz created: December 2024