Pod
Create file sleep_po.yaml:
apiVersion: v1
kind: Pod
metadata:
name: sleep
spec:
restartPolicy: OnFailure
containers:
- image: busybox:1.37.0-glibc
imagePullPolicy: IfNotPresent
name: sleep-busybox
command: ["sh", "-c", "trap exit INT TERM; sleep 1m & wait"]
resources:
requests:
cpu: "1"
memory: 100Mi
limits:
cpu: "1"
memory: 100Mi
Apply to the cluster:
$ kubectl apply -f sleep_po.yaml
pod/sleep created
Note
The default value of spec.restartPolicy is Always, which makes the pod restart again and again.
Watch events:
$ kubectl get po sleep -owide -w
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
sleep 0/1 ContainerCreating 0 0s <none> las1 <none> <none>
sleep 0/1 ContainerCreating 0 1s <none> las1 <none> <none>
sleep 1/1 Running 0 1s 192.168.135.2 las1 <none> <none>
sleep 0/1 Completed 0 61s 192.168.135.2 las1 <none> <none>
sleep 0/1 Completed 0 62s 192.168.135.2 las1 <none> <none>
sleep 0/1 Completed 0 63s 192.168.135.2 las1 <none> <none>
sleep 0/1 Completed 0 7m18s 192.168.135.2 las1 <none> <none>
sleep 0/1 Completed 0 7m18s 192.168.135.2 las1 <none> <none>
The last two lines of output have not be produced until we terminate it on another console with:
$ kubectl delete po sleep
pod "sleep" deleted