Bird
Raised Fist0
Kubernetesdevops~10 mins

Why production readiness matters in Kubernetes - Test Your Understanding

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a Kubernetes Pod that runs the nginx container.

Kubernetes
apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
spec:
  containers:
  - name: nginx
    image: [1]
Drag options to blanks, or click blank then click option'
Amysql
Bubuntu:latest
Cnginx:latest
Dbusybox
Attempts:
3 left
💡 Hint
Common Mistakes
Using unrelated images like ubuntu or mysql for a web server pod.
2fill in blank
medium

Complete the code to expose the nginx Pod with a Service of type LoadBalancer.

Kubernetes
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    app: nginx
  type: [1]
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80
Drag options to blanks, or click blank then click option'
ANodePort
BLoadBalancer
CClusterIP
DExternalName
Attempts:
3 left
💡 Hint
Common Mistakes
Using ClusterIP which is internal only, not external.
3fill in blank
hard

Fix the error in the Deployment spec to ensure the container restarts automatically.

Kubernetes
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:latest
      restartPolicy: [1]
Drag options to blanks, or click blank then click option'
AAlways
BUnlessStopped
CNever
DOnFailure
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'Never' or 'OnFailure' which are invalid for Deployments.
4fill in blank
hard

Fill both blanks to create a readiness probe that checks HTTP on port 80.

Kubernetes
readinessProbe:
  httpGet:
    path: [1]
    port: [2]
Drag options to blanks, or click blank then click option'
A/healthz
B80
C8080
D/status
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong port or path that the container does not serve.
5fill in blank
hard

Fill all three blanks to define resource limits for CPU and memory in the container spec.

Kubernetes
resources:
  limits:
    cpu: [1]
    memory: [2]
  requests:
    cpu: [3]
Drag options to blanks, or click blank then click option'
A500m
B256Mi
C250m
D1Gi
Attempts:
3 left
💡 Hint
Common Mistakes
Confusing limits with requests or using invalid units.

Practice

(1/5)
1. Why is production readiness important in Kubernetes deployments?
easy
A. It ensures the application runs reliably and recovers from failures.
B. It makes the application run faster on local machines.
C. It reduces the size of container images.
D. It allows skipping testing before deployment.

Solution

  1. Step 1: Understand production readiness purpose

    Production readiness means preparing your app to handle real-world use, including failures and load.
  2. Step 2: Identify key benefits

    Ensuring reliability and recovery from failures keeps the app stable for users.
  3. Final Answer:

    It ensures the application runs reliably and recovers from failures. -> Option A
  4. Quick Check:

    Production readiness = reliability and recovery [OK]
Hint: Focus on stability and failure recovery for production readiness [OK]
Common Mistakes:
  • Confusing production readiness with performance optimization
  • Thinking it only affects local development
  • Assuming it removes the need for testing
2. Which Kubernetes feature helps check if your app is running correctly in production?
easy
A. ConfigMap
B. Persistent Volume
C. Namespace
D. Liveness Probe

Solution

  1. Step 1: Identify health check features in Kubernetes

    Kubernetes uses probes to check app health: liveness and readiness probes.
  2. Step 2: Match feature to checking if app is running

    Liveness probe checks if the app is alive and restarts it if not.
  3. Final Answer:

    Liveness Probe -> Option D
  4. Quick Check:

    Liveness Probe = app health check [OK]
Hint: Liveness probe checks if app is alive, readiness probe checks if ready [OK]
Common Mistakes:
  • Confusing ConfigMap with health checks
  • Thinking Namespace controls app health
  • Assuming Persistent Volume monitors app status
3. Given this Kubernetes pod spec snippet, what happens if the container crashes?
livenessProbe:
  httpGet:
    path: /healthz
    port: 8080
  initialDelaySeconds: 5
  periodSeconds: 10
medium
A. Nothing happens; the container keeps running.
B. The pod is deleted permanently.
C. Kubernetes restarts the container after failing the health check.
D. Kubernetes scales the pod to zero replicas.

Solution

  1. Step 1: Understand liveness probe behavior

    Liveness probe checks container health and triggers restart if it fails.
  2. Step 2: Apply to container crash scenario

    If container crashes, health check fails, so Kubernetes restarts it automatically.
  3. Final Answer:

    Kubernetes restarts the container after failing the health check. -> Option C
  4. Quick Check:

    Liveness failure = container restart [OK]
Hint: Liveness probe failure triggers container restart [OK]
Common Mistakes:
  • Thinking pod is deleted permanently on failure
  • Assuming container keeps running despite crash
  • Confusing scaling with health check actions
4. You deployed a pod with resource limits but it keeps getting killed. What is the likely cause?
medium
A. The pod has no liveness probe defined.
B. The pod exceeded its memory limit and was terminated by Kubernetes.
C. The pod is missing a readiness probe.
D. The pod's image is too large.

Solution

  1. Step 1: Understand resource limits effect

    Kubernetes kills pods that exceed their memory limits to protect node stability.
  2. Step 2: Link pod termination to resource limits

    If pod is killed repeatedly, likely it uses more memory than allowed.
  3. Final Answer:

    The pod exceeded its memory limit and was terminated by Kubernetes. -> Option B
  4. Quick Check:

    Memory limit exceeded = pod killed [OK]
Hint: Check pod memory usage against limits if it keeps restarting [OK]
Common Mistakes:
  • Assuming missing probes cause pod kills
  • Blaming image size for pod termination
  • Confusing readiness and liveness probes with resource limits
5. You want to make your Kubernetes app production-ready by ensuring it recovers quickly from failures and does not overload the cluster. Which combination should you configure?
hard
A. Set liveness and readiness probes, and define resource requests and limits.
B. Only set resource limits without probes.
C. Use ConfigMaps to store environment variables and skip probes.
D. Deploy without resource limits but add multiple replicas.

Solution

  1. Step 1: Identify production readiness needs

    Recovery from failures requires health checks; avoiding overload needs resource limits.
  2. Step 2: Match Kubernetes features to needs

    Liveness and readiness probes help detect and recover from failures; resource requests and limits control cluster usage.
  3. Final Answer:

    Set liveness and readiness probes, and define resource requests and limits. -> Option A
  4. Quick Check:

    Probes + resource limits = production readiness [OK]
Hint: Combine probes with resource limits for stable production apps [OK]
Common Mistakes:
  • Skipping probes and relying only on resource limits
  • Using ConfigMaps instead of health checks
  • Ignoring resource limits and risking cluster overload