Bird
Raised Fist0
Kubernetesdevops~20 mins

Deployment status and history in Kubernetes - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Deployment Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
1:30remaining
Check the rollout status of a deployment
You run the command kubectl rollout status deployment/myapp. What output indicates the deployment has successfully rolled out?
Adeployment "myapp" successfully rolled out
BError from server (NotFound): deployments.apps "myapp" not found
Cdeployment "myapp" failed to rollout
DWaiting for deployment "myapp" rollout to finish: 1 out of 3 new replicas have been updated...
Attempts:
2 left
💡 Hint
Look for a message confirming success, not errors or partial updates.
🧠 Conceptual
intermediate
1:30remaining
Understanding deployment revision history
What does the command kubectl rollout history deployment/myapp show?
AA list of all revisions of the deployment with change causes
BThe YAML manifest of the deployment
CThe status of all pods in the deployment
DThe current pod logs for the deployment
Attempts:
2 left
💡 Hint
Think about what 'history' means in this context.
❓ Troubleshoot
advanced
2:00remaining
Diagnosing a stuck deployment rollout
You notice a deployment rollout is stuck and not progressing. Which command helps you see detailed rollout status including pod conditions?
Akubectl get pods --all-namespaces
Bkubectl describe deployment myapp
Ckubectl logs deployment/myapp
Dkubectl rollout undo deployment/myapp
Attempts:
2 left
💡 Hint
You want detailed info about the deployment and its pods.
🔀 Workflow
advanced
2:00remaining
Rollback a deployment to a previous revision
You want to rollback the deployment myapp to revision 2. Which command correctly performs this rollback?
Akubectl revert deployment/myapp --revision 2
Bkubectl rollback deployment myapp --revision=2
Ckubectl undo deployment myapp revision 2
Dkubectl rollout undo deployment/myapp --to-revision=2
Attempts:
2 left
💡 Hint
Check the exact syntax for rollback with revision number.
✅ Best Practice
expert
2:30remaining
Best practice for monitoring deployment history in production
Which approach is best to keep track of deployment history and changes in a Kubernetes production environment?
AManually save deployment YAML files on local machines after each change
BRely only on <code>kubectl get pods</code> to check running pods after deployment
CUse <code>kubectl rollout history</code> combined with GitOps to track deployment manifests and changes
DUse <code>kubectl logs</code> of pods to track deployment changes
Attempts:
2 left
💡 Hint
Think about combining Kubernetes tools with version control for best tracking.

Practice

(1/5)
1. What does the command kubectl rollout status deployment/myapp do in Kubernetes?
easy
A. It shows if the deployment named 'myapp' is successfully running or still updating.
B. It deletes the deployment named 'myapp' from the cluster.
C. It creates a new deployment named 'myapp'.
D. It lists all pods running in the cluster.

Solution

  1. Step 1: Understand the command purpose

    The command kubectl rollout status checks the current status of a deployment rollout.
  2. Step 2: Apply to the specific deployment

    Using deployment/myapp targets the deployment named 'myapp' to see if it is running or updating.
  3. Final Answer:

    It shows if the deployment named 'myapp' is successfully running or still updating. -> Option A
  4. Quick Check:

    Rollout status = Deployment running status [OK]
Hint: Use rollout status to check deployment health quickly [OK]
Common Mistakes:
  • Confusing rollout status with deployment creation
  • Thinking it deletes or lists pods
  • Using wrong resource type after rollout status
2. Which of the following is the correct syntax to view the rollout history of a deployment named 'webapp'?
easy
A. kubectl get rollout history webapp
B. kubectl describe rollout webapp
C. kubectl rollout status deployment/webapp
D. kubectl rollout history deployment/webapp

Solution

  1. Step 1: Identify the correct command for rollout history

    The command to view rollout history is kubectl rollout history.
  2. Step 2: Use correct resource type and name

    Appending deployment/webapp specifies the deployment named 'webapp'.
  3. Final Answer:

    kubectl rollout history deployment/webapp -> Option D
  4. Quick Check:

    Rollout history syntax = kubectl rollout history deployment/name [OK]
Hint: Remember: rollout history shows past changes, rollout status shows current state [OK]
Common Mistakes:
  • Using 'get' or 'describe' instead of 'rollout history'
  • Omitting 'deployment/' prefix
  • Confusing rollout status with rollout history
3. Given the command output:
deployment "frontend" successfully rolled out

What command was most likely run to get this output?
medium
A. kubectl get pods -l app=frontend
B. kubectl rollout history deployment/frontend
C. kubectl rollout status deployment/frontend
D. kubectl describe deployment frontend

Solution

  1. Step 1: Analyze the output message

    The message says the deployment "frontend" was successfully rolled out, indicating a status check.
  2. Step 2: Match output to command

    kubectl rollout status shows this success message, while history or describe commands show different outputs.
  3. Final Answer:

    kubectl rollout status deployment/frontend -> Option C
  4. Quick Check:

    Success rollout message = rollout status command [OK]
Hint: Success message means rollout status was checked [OK]
Common Mistakes:
  • Confusing rollout history output with status output
  • Assuming pod listing shows rollout success
  • Using describe which shows detailed info, not status message
4. You ran kubectl rollout history deployment/api but got an error: error: deployments.apps "api" not found. What is the most likely cause?
medium
A. The Kubernetes cluster is down.
B. The deployment named 'api' does not exist in the current namespace.
C. You need to add '--all-namespaces' to see the deployment.
D. The command syntax is incorrect; 'rollout history' is invalid.

Solution

  1. Step 1: Understand the error message

    The error says deployment "api" not found, meaning Kubernetes can't find that deployment in the current namespace.
  2. Step 2: Check command and context

    The command syntax is correct, and cluster down would cause different errors. Missing deployment is the most likely cause.
  3. Final Answer:

    The deployment named 'api' does not exist in the current namespace. -> Option B
  4. Quick Check:

    Deployment not found error = deployment missing [OK]
Hint: Check deployment name and namespace if 'not found' error appears [OK]
Common Mistakes:
  • Assuming syntax error when command is correct
  • Forgetting namespace context
  • Blaming cluster status without checking deployment
5. You want to rollback your deployment 'backend' to the previous version after a failed update. Which sequence of commands correctly checks the history and rolls back?
hard
A. kubectl rollout history deployment/backend
kubectl rollout undo deployment/backend
B. kubectl rollout status deployment/backend
kubectl delete deployment/backend
C. kubectl get pods -l app=backend
kubectl rollout history deployment/backend
D. kubectl rollout undo deployment/backend
kubectl rollout history deployment/backend

Solution

  1. Step 1: Check rollout history

    Use kubectl rollout history deployment/backend to see past versions and confirm rollback target.
  2. Step 2: Rollback to previous version

    Use kubectl rollout undo deployment/backend to revert to the last successful deployment.
  3. Final Answer:

    kubectl rollout history deployment/backend followed by kubectl rollout undo deployment/backend -> Option A
  4. Quick Check:

    History then undo = safe rollback steps [OK]
Hint: Always check history before undoing a rollout [OK]
Common Mistakes:
  • Deleting deployment instead of rolling back
  • Undoing before checking history
  • Confusing status command with rollback
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard