Termination Grace Period — time allowed for Pod to shut down gracefully.
1apiVersion: apps/v12kind: Deployment3metadata:4 name: myapp5spec:6 replicas: 37 template:8 metadata:9 labels:10 app: myapp11 spec:12 terminationGracePeriodSeconds: 6013 containers:14 - name: app15 image: myapp:latest16 lifecycle:17 preStop:18 exec:19 command: ["sh", "-c", "sleep 15"]20---21# Pod-level override22apiVersion: v123kind: Pod24metadata:25 name: critical-pod26spec:27 terminationGracePeriodSeconds: 12028 containers:29 - name: app30 image: myapp:latest31 lifecycle:32 preStop:33 httpGet:34 path: /shutdown35 port: 8080
1# Check current grace period2kubectl get pod my-pod -o jsonpath='{.spec.terminationGracePeriodSeconds}'34# Force delete (bypass grace period)5kubectl delete pod my-pod --grace-period=0 --force67# Check events during shutdown8kubectl get events --field-selector reason=Killing
Shutdown Flow:
Best Practices: