Overhead Accounting — track resources used by runtime overhead.
1# RuntimeClass with overhead2apiVersion: node.k8s.io/v13kind: RuntimeClass4metadata:5 name: kata6handler: kata7overhead:8 podFixed:9 memory: "160Mi"10 cpu: "250m"11---12# Pod requesting resources13apiVersion: v114kind: Pod15metadata:16 name: kata-pod17spec:18 runtimeClassName: kata19 containers:20 - name: app21 image: myapp:latest22 resources:23 requests:24 cpu: "500m"25 memory: "256Mi"26 limits:27 cpu: "1000m"28 memory: "512Mi"29 # Total allocated: cpu=750m, memory=416Mi
1# Check overhead2kubectl get pod kata-pod -o jsonpath='{.spec.overhead}' | jq34# Check node allocation5kubectl describe node node-1 | grep -A 10 "Allocated resources"67# Verify runtime class overhead8kubectl get runtimeclass kata -o jsonpath='{.overhead}' | jq910# Check actual resource usage vs allocated11kubectl top pod kata-pod --containers12kubectl top pod kata-pod1314# Compare with non-overhead pod15kubectl top pod regular-pod --containers16kubectl top pod regular-pod1718# Check scheduling decisions19kubectl get events --field-selector reason=Scheduled --sort-by=.lastTimestamp | tail -5
Overhead Sources:
Accounting:
Best Practices: