Pod Overhead — resources charged for running a Pod beyond its containers.
1# RuntimeClass with overhead2apiVersion: node.k8s.io/v13kind: RuntimeClass4metadata:5 name: kata6handler: kata7overhead:8 podFixed:9 memory: "160Mi"10 cpu: "250m"11---12# Pod using Kata runtime13apiVersion: 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 overhead: 500m+250m=750m CPU, 256Mi+160Mi=416Mi memory
1# Check Pod overhead2kubectl get pod kata-pod -o jsonpath='{.spec.overhead}' | jq34# Check RuntimeClass overhead5kubectl get runtimeclass kata -o jsonpath='{.overhead}' | jq67# Check node resource allocation8kubectl describe node node-1 | grep -A 10 "Allocated resources"910# Verify actual overhead11kubectl top pod kata-pod --containers12kubectl top pod kata-pod1314# Check scheduling behavior15kubectl get events --field-selector reason=Scheduled --sort-by=.lastTimestamp | tail -5
Overhead Sources:
Behavior: