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?
Explanation
Correct Answer
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
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”.
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”.
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”.