TechOps Examples
Hey — It's Govardhana MK 👋
Welcome to another technical edition.
Every Tuesday – You’ll receive a free edition with a byte-size use case, remote job opportunities, top news, tools, and articles.
Every Thursday and Saturday – You’ll receive a special edition with a deep dive use case, remote job opportunities and articles.
👋 👋 A big thank you to today's sponsor PERFECTSCALE
AI-generated code isn’t the problem.
Testing it is.
In this hands-on workshop, you’ll learn how to safely test AI-generated code directly against your staging K8s environment without deploying.
Using mirrord and Cursor, we’ll show how local code can run in the real context of your Kubernetes cluster alongside existing services — giving you fast, realistic feedback without risk.
You’ll learn how to:
Catch integration issues earlier
Reduce reliance on slow CI pipelines
Test AI-generated changes without impacting production
IN TODAY'S EDITION
🧠 Use Case
Understanding Kubernetes OOMKilled Practically
👀 Remote Jobs
Effectual is hiring a Devops Engineer
Remote Location: Worldwide
Leaseweb is hiring a VMware Infrastructure Engineer
Remote Location: Worldwide
📚 Resources
If you’re not a subscriber, here’s what you missed last week.
To receive all the full articles and support TechOps Examples, consider subscribing:
🛠 TOOL OF THE DAY
Kubernetes Goat - A "Vulnerable by Design" cluster environment to learn and practice Kubernetes security using an interactive hands-on playground.
Kubernetes Goat has intentionally created vulnerabilities, applications, and configurations to attack and gain access to your cluster and workloads.
DO NOT run alongside your production environments and infrastructure.
Highly recommended running this in a safe and isolated environment.
To be used for educational purposes only.
🧠 USE CASE
Understanding Kubernetes OOMKilled Practically
OOMKilled occurs in Kubernetes when a container exceeds its memory limit or tries to access unavailable resources on a node, flagged by exit code 137.
Typical OOMKilled looks like
NAME READY STATUS RESTARTS AGE
techops-pod-1 0/1 OOMKilled 0 4m7s"Pods must use less memory than the total available on the node; if they exceed this, Kubernetes will kill some pods to restore balance."
Learn more about OOMKilled visually here:

How to Fix OOMKilled Kubernetes Error (Exit Code 137)
1. Identify OOMKilled Event: Run kubectl get pods and check if the pod status shows OOMKilled.
2. Gather Pod Details: Use kubectl describe pod [pod-name] and review the Events section for the OOMKilled reason.
Check the Events section of the describe pod, and look for the following message:
State: Running
Started: Mon, 05 Jan 2026 19:15:00 +0200
Last State: Terminated
Reason: OOMKilled
Exit Code: 137
...3. Analyze Memory Usage: Check memory usage patterns to identify if the limit was exceeded due to a spike or consistent high usage.
4. Adjust Memory Settings: Increase memory limits in pod specs if necessary, or debug and fix any memory leaks in the application.
5. Prevent Overcommitment: Ensure memory requests do not exceed node capacity by adjusting pod resource requests and limits.
Point worth noting:
"If a pod is terminate due to a memory issue. it doesn’t necessarily mean it will be removed from the node. If the node’s restart policy is set to ‘Always’, the pod will attempt to restart"
To check the QoS class of a pod, run this command:
kubectl get pod -o jsonpath='{.status.qosClass}'
To inspect the oom_score of a pod:
1. Run kubectl exec -it /bin/bash
2. To see the oom_score, run cat/proc//oom_score
3. To see the oom_score_adj, run cat/proc//oom_score_adj
The pod with the lowest oom_score is the first to be terminated when the node experiences memory exhaustion.
🔴 Get my DevOps & Kubernetes ebooks! (free for Premium Club and Personal Tier newsletter subscribers)
Looking to promote your company, product, service, or event to 58,000+ DevOps and Cloud Professionals? Let's work together.



