McAfee Secure

CNCF CKA Bundle

Exam Code: CKA

Exam Name Certified Kubernetes Administrator

Certification Provider: CNCF

Corresponding Certification: CKA

CNCF CKA Bundle $44.99

100% CNCF CKA Guaranteed Success With Testking Training Materials

Get Real CKA Exam Questions & Expert Verified Answers as Experienced on the Real Exam!

  • Questions & Answers

    CKA Questions & Answers

    58 Questions & Answers

    The ultimate exam preparation tool, Questions & Answers mirrors the actual CKA exam while allowing you to hone and measure every aspect of your test-taking ability.

  • CKA Video Course

    CKA Training Course

    138 Video Lectures

    CKA Video Course is developed by CNCF Professionals to help you pass the CKA exam.

    Description

    This course will improve your knowledge and skills required to pass Certified Kubernetes Administrator exam.
  • Study Guide

    CKA Study Guide

    268 PDF Pages

    Developed by industry experts, this 268-page guide spells out in painstaking detail all of the information you need to ace CKA exam.

Certified Kubernetes Administrator (CKA) Practice Tests

Satisfaction Guaranteed

Money Back Guarantee

Testking provides hassle-free money back guarantee with our products. That is because we have 100% trust in the abilities of our professional and experience product team, and our record is a proof of that.

99.6% PASS RATE
Total Cost: $194.97
Bundle Price: $149.98

Purchase Individually

  • Questions & Answers

    Questions & Answers

    58 Questions

    $124.99
  • CKA Video Course

    Training Course

    138 Video Lectures

    $39.99
  • Study Guide

    Study Guide

    268 PDF Pages

    $29.99

CNCF CKA Practice Test 86

Question 850

At Pinecrest logistics, in a sandbox Kubernetes cluster during a recovery tabletop exercise: Pod dispatch-api in fulfillment is repeatedly restarting with CrashLoopBackOff after a configuration change; the team needs the failed container's actual error first. Work only within the stated target and verify before declaring success. Which Kubernetes behavior best explains the required change or diagnosis?

  1. A Job retries failed Pod executions up to its backoff limit, but increasing retries does not repair an invalid command or missing dependency.
  2. CrashLoopBackOff is a restart backoff symptom, not a root cause; the preceding container logs often preserve the terminating process error.
  3. Finalizers protect cleanup work; forcibly removing them without identifying failing controllers can orphan resources and leak infrastructure.
  4. The scheduler places Pods by requested resources and constraints, not the current shell's observed free CPU alone.

Explanation

Correct Answer

B:

CrashLoopBackOff is a restart backoff symptom, not a root cause; the preceding container logs often preserve the terminating process error. This explains the stated condition. The corresponding action is: Run kubectl -n fulfillment logs pod/dispatch-api --previous and inspect Pod events before changing the workload. The direct acceptance evidence is: Run kubectl -n fulfillment describe pod dispatch-api and verify corrected Pods become Ready without repeated restarts.

Incorrect Answers

A:

The offered statement is true for this other mechanism: A Job retries failed Pod executions up to its backoff limit, but increasing retries does not repair an invalid command or missing dependency. It does not explain the facts described here, which follow from: CrashLoopBackOff is a restart backoff symptom, not a root cause; the preceding container logs often preserve the terminating process error.

C:

Finalizers protect cleanup work; forcibly removing them without identifying failing controllers can orphan resources and leak infrastructure. That explanation applies to a different technical failure. Here the controlling principle is: CrashLoopBackOff is a restart backoff symptom, not a root cause; the preceding container logs often preserve the terminating process error.

D:

The offered statement is true for this other mechanism: The scheduler places Pods by requested resources and constraints, not the current shell's observed free CPU alone. It does not explain the facts described here, which follow from: CrashLoopBackOff is a restart backoff symptom, not a root cause; the preceding container logs often preserve the terminating process error.

Question 851

At Pinecrest logistics, in a sandbox Kubernetes cluster during a recovery tabletop exercise: Pod dispatch-api in fulfillment is repeatedly restarting with CrashLoopBackOff after a configuration change; the team needs the failed container's actual error first. Work only within the stated target and verify before declaring success. Which observation best verifies the requested outcome rather than an unrelated state?

  1. Verify list pods is allowed for the authorized service account after a least-privilege binding correction.
  2. Verify HPA reports a numeric utilization and responds to a controlled load change within configured bounds.
  3. Run kubectl -n fulfillment describe pod dispatch-api and verify corrected Pods become Ready without repeated restarts.
  4. Run kubectl -n fulfillment get pod dispatch-api -o jsonpath='{.status.containerStatuses[*].lastState.terminated.reason}' and verify healthy replacements after a tested memory correction.

Explanation

Correct Answer

C:

Run kubectl -n fulfillment describe pod dispatch-api and verify corrected Pods become Ready without repeated restarts. This validates the affected object or control path, rather than only showing a command completed. The underlying reason is: CrashLoopBackOff is a restart backoff symptom, not a root cause; the preceding container logs often preserve the terminating process error. The intended action is: Run kubectl -n fulfillment logs pod/dispatch-api --previous and inspect Pod events before changing the workload.

Incorrect Answers

A:

This observation would test a different technical dependency: Authentication establishes identity but authorization still requires permitted verbs, resources and scope in matching RBAC bindings. The current issue is governed by: CrashLoopBackOff is a restart backoff symptom, not a root cause; the preceding container logs often preserve the terminating process error. Its decisive check is “Run kubectl -n fulfillment describe pod dispatch-api and verify corrected Pods become Ready without repeated restarts”.

B:

The alternative verifies a different condition: HPA CPU utilization is computed from reported metrics relative to requests; missing metrics or requests can prevent scaling decisions. The current case instead depends on: CrashLoopBackOff is a restart backoff symptom, not a root cause; the preceding container logs often preserve the terminating process error. Confirm that “Run kubectl -n fulfillment describe pod dispatch-api and verify corrected Pods become Ready without repeated restarts”.

D:

This observation would test a different technical dependency: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. The current issue is governed by: CrashLoopBackOff is a restart backoff symptom, not a root cause; the preceding container logs often preserve the terminating process error. Its decisive check is “Run kubectl -n fulfillment describe pod dispatch-api and verify corrected Pods become Ready without repeated restarts”.

Question 852

At Pinecrest logistics, in a sandbox Kubernetes cluster during a recovery tabletop exercise: Pod dispatch-api in fulfillment is repeatedly restarting with CrashLoopBackOff after a configuration change; the team needs the failed container's actual error first. Work only within the stated target and verify before declaring success. Which operational control most directly prevents this failure or configuration drift?

  1. Baseline memory requests and track node allocatable resources and eviction signals.
  2. Test kubelet/CRI version compatibility and runtime services in node patch runbooks.
  3. Set sensible retry limits and preserve failure logs for batch job diagnostics.
  4. Capture prior-container logs and restart reasons in workload incident runbooks.

Explanation

Correct Answer

D:

Capture prior-container logs and restart reasons in workload incident runbooks. This reduces recurrence of the specific operational failure. It reinforces the action: Run kubectl -n fulfillment logs pod/dispatch-api --previous and inspect Pod events before changing the workload. The relevant mechanism is: CrashLoopBackOff is a restart backoff symptom, not a root cause; the preceding container logs often preserve the terminating process error.

Incorrect Answers

A:

The suggested review tracks a different technical risk: Node memory pressure can cause evictions and scheduling instability independent of one container's OOMKilled status. Here the sustained control must address: CrashLoopBackOff is a restart backoff symptom, not a root cause; the preceding container logs often preserve the terminating process error. Choose “Capture prior-container logs and restart reasons in workload incident runbooks”.

B:

That safeguard is relevant to: Kubelet relies on a CRI-compatible runtime for container creation; restarting application Pods cannot repair an unavailable runtime. The current failure instead follows from: CrashLoopBackOff is a restart backoff symptom, not a root cause; the preceding container logs often preserve the terminating process error. Its prevention measure is “Capture prior-container logs and restart reasons in workload incident runbooks”.

C:

This routine guards against another mechanism: A Job retries failed Pod executions up to its backoff limit, but increasing retries does not repair an invalid command or missing dependency. The recurring exposure in the current case is: CrashLoopBackOff is a restart backoff symptom, not a root cause; the preceding container logs often preserve the terminating process error. The matching preventive check is “Capture prior-container logs and restart reasons in workload incident runbooks”.

Question 853

At Northstar finance, in an isolated training cluster during a scheduled maintenance rehearsal: Pod invoice-api in ledger terminates with OOMKilled after a workload peak; identify the memory issue before raising limits. Work only within the stated target and verify before declaring success. Which command or initial safe diagnostic step best addresses the stated lab task?

  1. Run kubectl -n ledger logs pod/invoice-api --previous and inspect Pod events before changing the workload.
  2. Run kubectl -n ledger describe pod invoice-api and compare last termination reason, memory limit and measured working set.
  3. Run kubectl -n ledger describe pvc invoice-data and kubectl get storageclass fast-block before recreating either resource.
  4. Run kubectl -n ledger describe job daily-archive and get logs of its failed Pods before increasing retry limits.

Explanation

Correct Answer

B:

Run kubectl -n ledger describe pod invoice-api and compare last termination reason, memory limit and measured working set. This is the appropriate command-line action or first safe diagnostic. The technical reason is: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. Validate the result with: Run kubectl -n ledger get pod invoice-api -o jsonpath='{.status.containerStatuses[*].lastState.terminated.reason}' and verify healthy replacements after a tested memory correction. Execute changes only in an authorized disposable lab or after normal production change controls.

Incorrect Answers

A:

The offered action targets: CrashLoopBackOff is a restart backoff symptom, not a root cause; the preceding container logs often preserve the terminating process error. The case facts point instead to: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. Implement “Run kubectl -n ledger describe pod invoice-api and compare last termination reason, memory limit and measured working set” to address that specific condition.

C:

The proposed action belongs to the mechanism: A PVC binds only to compatible available storage or successful dynamic provisioning; absent provisioners, quotas or delayed binding can leave it Pending. Here the stated fault follows a different mechanism: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. The corrective choice is “Run kubectl -n ledger describe pod invoice-api and compare last termination reason, memory limit and measured working set”.

D:

The offered action targets: A Job retries failed Pod executions up to its backoff limit, but increasing retries does not repair an invalid command or missing dependency. The case facts point instead to: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. Implement “Run kubectl -n ledger describe pod invoice-api and compare last termination reason, memory limit and measured working set” to address that specific condition.

Question 854

At Northstar finance, in an isolated training cluster during a scheduled maintenance rehearsal: Pod invoice-api in ledger terminates with OOMKilled after a workload peak; identify the memory issue before raising limits. Work only within the stated target and verify before declaring success. Which Kubernetes behavior best explains the required change or diagnosis?

  1. The Service routes to its configured backend target port; working DNS does not establish that the destination process is listening there.
  2. Liveness failure triggers restarts, while startup and readiness probes serve different lifecycle purposes.
  3. The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure.
  4. Node memory pressure can cause evictions and scheduling instability independent of one container's OOMKilled status.

Explanation

Correct Answer

C:

The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. This explains the stated condition. The corresponding action is: Run kubectl -n ledger describe pod invoice-api and compare last termination reason, memory limit and measured working set. The direct acceptance evidence is: Run kubectl -n ledger get pod invoice-api -o jsonpath='{.status.containerStatuses[*].lastState.terminated.reason}' and verify healthy replacements after a tested memory correction.

Incorrect Answers

A:

This principle describes a separate cause: The Service routes to its configured backend target port; working DNS does not establish that the destination process is listening there. The reported condition is governed by: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. The two mechanisms should not be conflated.

B:

Liveness failure triggers restarts, while startup and readiness probes serve different lifecycle purposes. That explanation applies to a different technical failure. Here the controlling principle is: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure.

D:

This principle describes a separate cause: Node memory pressure can cause evictions and scheduling instability independent of one container's OOMKilled status. The reported condition is governed by: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. The two mechanisms should not be conflated.

Question 855

At Northstar finance, in an isolated training cluster during a scheduled maintenance rehearsal: Pod invoice-api in ledger terminates with OOMKilled after a workload peak; identify the memory issue before raising limits. Work only within the stated target and verify before declaring success. Which observation best verifies the requested outcome rather than an unrelated state?

  1. Run authorized allowed and denied connectivity probes after creating the precise required policy exception.
  2. Run kubectl -n ledger get pvc invoice-data and confirm Bound with capacity and the intended StorageClass after correction.
  3. Run kubectl -n ledger get daemonset invoice-api and inspect desired/ready counts after the specific node issue is fixed.
  4. Run kubectl -n ledger get pod invoice-api -o jsonpath='{.status.containerStatuses[*].lastState.terminated.reason}' and verify healthy replacements after a tested memory correction.

Explanation

Correct Answer

D:

Run kubectl -n ledger get pod invoice-api -o jsonpath='{.status.containerStatuses[*].lastState.terminated.reason}' and verify healthy replacements after a tested memory correction. This validates the affected object or control path, rather than only showing a command completed. The underlying reason is: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. The intended action is: Run kubectl -n ledger describe pod invoice-api and compare last termination reason, memory limit and measured working set.

Incorrect Answers

A:

The alternative verifies a different condition: NetworkPolicy allows only explicitly selected paths once Pod ingress or egress isolation applies, and both directions may matter. The current case instead depends on: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. Confirm that “Run kubectl -n ledger get pod invoice-api -o jsonpath='{.status.containerStatuses[*].lastState.terminated.reason}' and verify healthy replacements after a tested memory correction”.

B:

That test belongs to another control with this basis: A PVC binds only to compatible available storage or successful dynamic provisioning; absent provisioners, quotas or delayed binding can leave it Pending. In the current case, the governing reason is: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. The direct verification is “Run kubectl -n ledger get pod invoice-api -o jsonpath='{.status.containerStatuses[*].lastState.terminated.reason}' and verify healthy replacements after a tested memory correction”.

C:

This observation would test a different technical dependency: DaemonSets schedule according to node selection and toleration rules; unavailable node agents can break networking or logging on selected workers. The current issue is governed by: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. Its decisive check is “Run kubectl -n ledger get pod invoice-api -o jsonpath='{.status.containerStatuses[*].lastState.terminated.reason}' and verify healthy replacements after a tested memory correction”.

Question 856

At Northstar finance, in an isolated training cluster during a scheduled maintenance rehearsal: Pod invoice-api in ledger terminates with OOMKilled after a workload peak; identify the memory issue before raising limits. Work only within the stated target and verify before declaring success. Which operational control most directly prevents this failure or configuration drift?

  1. Monitor peak memory with appropriate safety margins and evaluate application leaks rather than unlimited resource increases.
  2. Validate selector and template-label consistency before initial resource creation.
  3. Baseline memory requests and track node allocatable resources and eviction signals.
  4. Review sizing and autoscaling headroom against known resource requests.

Explanation

Correct Answer

A:

Monitor peak memory with appropriate safety margins and evaluate application leaks rather than unlimited resource increases. This reduces recurrence of the specific operational failure. It reinforces the action: Run kubectl -n ledger describe pod invoice-api and compare last termination reason, memory limit and measured working set. The relevant mechanism is: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure.

Incorrect Answers

B:

This routine guards against another mechanism: A Deployment selector identifies Pods it owns and is generally immutable after creation; patching Service selectors alone does not repair ownership. The recurring exposure in the current case is: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. The matching preventive check is “Monitor peak memory with appropriate safety margins and evaluate application leaks rather than unlimited resource increases”.

C:

The suggested review tracks a different technical risk: Node memory pressure can cause evictions and scheduling instability independent of one container's OOMKilled status. Here the sustained control must address: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. Choose “Monitor peak memory with appropriate safety margins and evaluate application leaks rather than unlimited resource increases”.

D:

That safeguard is relevant to: The scheduler places Pods by requested resources and constraints, not the current shell's observed free CPU alone. The current failure instead follows from: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. Its prevention measure is “Monitor peak memory with appropriate safety margins and evaluate application leaks rather than unlimited resource increases”.

Question 857

At Horizon observability, in a disposable simulated environment during a monitored release window: Pod metrics-api in observability terminates with OOMKilled after a workload peak; identify the memory issue before raising limits. Work only within the stated target and verify before declaring success. Which command or initial safe diagnostic step best addresses the stated lab task?

  1. Run kubectl describe node worker-a and kubectl top node worker-a where metrics are available before altering Pod requests.
  2. Run kubectl -n observability exec metrics-api -- cat /etc/resolv.conf and query metrics-svc.observability.svc.cluster.local from that Pod.
  3. Run kubectl -n observability describe pod metrics-api and compare last termination reason, memory limit and measured working set.
  4. On worker-b, run sudo systemctl status containerd and sudo journalctl -u containerd -n 80 --no-pager before modifying runtime configuration.

Explanation

Correct Answer

C:

Run kubectl -n observability describe pod metrics-api and compare last termination reason, memory limit and measured working set. This is the appropriate command-line action or first safe diagnostic. The technical reason is: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. Validate the result with: Run kubectl -n observability get pod metrics-api -o jsonpath='{.status.containerStatuses[*].lastState.terminated.reason}' and verify healthy replacements after a tested memory correction. Execute changes only in an authorized disposable lab or after normal production change controls.

Incorrect Answers

A:

This alternative is a response to another technical cause: Node memory pressure can cause evictions and scheduling instability independent of one container's OOMKilled status. The reported case instead depends on: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. The action that directly addresses it is “Run kubectl -n observability describe pod metrics-api and compare last termination reason, memory limit and measured working set”.

B:

The proposed action belongs to the mechanism: Cluster DNS search domains and dnsPolicy control short-name resolution; resolving a public hostname is not proof of Kubernetes Service resolution. Here the stated fault follows a different mechanism: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. The corrective choice is “Run kubectl -n observability describe pod metrics-api and compare last termination reason, memory limit and measured working set”.

D:

This alternative is a response to another technical cause: Kubelet relies on a CRI-compatible runtime for container creation; restarting application Pods cannot repair an unavailable runtime. The reported case instead depends on: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. The action that directly addresses it is “Run kubectl -n observability describe pod metrics-api and compare last termination reason, memory limit and measured working set”.

Question 858

At Horizon observability, in a disposable simulated environment during a monitored release window: Pod metrics-api in observability terminates with OOMKilled after a workload peak; identify the memory issue before raising limits. Work only within the stated target and verify before declaring success. Which Kubernetes behavior best explains the required change or diagnosis?

  1. Node memory pressure can cause evictions and scheduling instability independent of one container's OOMKilled status.
  2. A Deployment selector identifies Pods it owns and is generally immutable after creation; patching Service selectors alone does not repair ownership.
  3. Liveness failure triggers restarts, while startup and readiness probes serve different lifecycle purposes.
  4. The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure.

Explanation

Correct Answer

D:

The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. This explains the stated condition. The corresponding action is: Run kubectl -n observability describe pod metrics-api and compare last termination reason, memory limit and measured working set. The direct acceptance evidence is: Run kubectl -n observability get pod metrics-api -o jsonpath='{.status.containerStatuses[*].lastState.terminated.reason}' and verify healthy replacements after a tested memory correction.

Incorrect Answers

A:

Node memory pressure can cause evictions and scheduling instability independent of one container's OOMKilled status. That explanation applies to a different technical failure. Here the controlling principle is: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure.

B:

The offered statement is true for this other mechanism: A Deployment selector identifies Pods it owns and is generally immutable after creation; patching Service selectors alone does not repair ownership. It does not explain the facts described here, which follow from: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure.

C:

This principle describes a separate cause: Liveness failure triggers restarts, while startup and readiness probes serve different lifecycle purposes. The reported condition is governed by: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. The two mechanisms should not be conflated.

Question 859

At Horizon observability, in a disposable simulated environment during a monitored release window: Pod metrics-api in observability terminates with OOMKilled after a workload peak; identify the memory issue before raising limits. Work only within the stated target and verify before declaring success. Which observation best verifies the requested outcome rather than an unrelated state?

  1. Run kubectl -n observability get pod metrics-api -o jsonpath='{.status.containerStatuses[*].lastState.terminated.reason}' and verify healthy replacements after a tested memory correction.
  2. Verify the replacement Deployment has matching immutable selector and template labels plus desired available replicas.
  3. Run kubectl -n observability get daemonset metrics-api and inspect desired/ready counts after the specific node issue is fixed.
  4. Run an in-cluster connection test to Service port 8080 after aligning targetPort with 3000.

Explanation

Correct Answer

A:

Run kubectl -n observability get pod metrics-api -o jsonpath='{.status.containerStatuses[*].lastState.terminated.reason}' and verify healthy replacements after a tested memory correction. This validates the affected object or control path, rather than only showing a command completed. The underlying reason is: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. The intended action is: Run kubectl -n observability describe pod metrics-api and compare last termination reason, memory limit and measured working set.

Incorrect Answers

B:

This observation would test a different technical dependency: A Deployment selector identifies Pods it owns and is generally immutable after creation; patching Service selectors alone does not repair ownership. The current issue is governed by: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. Its decisive check is “Run kubectl -n observability get pod metrics-api -o jsonpath='{.status.containerStatuses[*].lastState.terminated.reason}' and verify healthy replacements after a tested memory correction”.

C:

The alternative verifies a different condition: DaemonSets schedule according to node selection and toleration rules; unavailable node agents can break networking or logging on selected workers. The current case instead depends on: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. Confirm that “Run kubectl -n observability get pod metrics-api -o jsonpath='{.status.containerStatuses[*].lastState.terminated.reason}' and verify healthy replacements after a tested memory correction”.

D:

That test belongs to another control with this basis: The Service routes to its configured backend target port; working DNS does not establish that the destination process is listening there. In the current case, the governing reason is: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. The direct verification is “Run kubectl -n observability get pod metrics-api -o jsonpath='{.status.containerStatuses[*].lastState.terminated.reason}' and verify healthy replacements after a tested memory correction”.

Question 860

At Horizon observability, in a disposable simulated environment during a monitored release window: Pod metrics-api in observability terminates with OOMKilled after a workload peak; identify the memory issue before raising limits. Work only within the stated target and verify before declaring success. Which operational control most directly prevents this failure or configuration drift?

  1. Monitor CSI provisioning events and test StorageClass compatibility in advance.
  2. Monitor peak memory with appropriate safety margins and evaluate application leaks rather than unlimited resource increases.
  3. Validate selector and template-label consistency before initial resource creation.
  4. Baseline memory requests and track node allocatable resources and eviction signals.

Explanation

Correct Answer

B:

Monitor peak memory with appropriate safety margins and evaluate application leaks rather than unlimited resource increases. This reduces recurrence of the specific operational failure. It reinforces the action: Run kubectl -n observability describe pod metrics-api and compare last termination reason, memory limit and measured working set. The relevant mechanism is: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure.

Incorrect Answers

A:

This routine guards against another mechanism: A PVC binds only to compatible available storage or successful dynamic provisioning; absent provisioners, quotas or delayed binding can leave it Pending. The recurring exposure in the current case is: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. The matching preventive check is “Monitor peak memory with appropriate safety margins and evaluate application leaks rather than unlimited resource increases”.

C:

That safeguard is relevant to: A Deployment selector identifies Pods it owns and is generally immutable after creation; patching Service selectors alone does not repair ownership. The current failure instead follows from: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. Its prevention measure is “Monitor peak memory with appropriate safety margins and evaluate application leaks rather than unlimited resource increases”.

D:

This routine guards against another mechanism: Node memory pressure can cause evictions and scheduling instability independent of one container's OOMKilled status. The recurring exposure in the current case is: The container runtime can terminate a container when it exceeds its memory cgroup limit; increasing CPU requests does not repair a memory limit failure. The matching preventive check is “Monitor peak memory with appropriate safety margins and evaluate application leaks rather than unlimited resource increases”.