exec 探针配置举例:
    image.png

    [root@master manifests]# vim liveness-exec.yaml
    apiVersion: v1
    kind: Pod
    metadata:
    name: liveness-exec-pod
    namespace: default
    spec:
    containers:
    - name: liveness-exec-container
    image: busybox
    imagePullPolicy: IfNotPresent
    command: [“/bin/sh”,”-c”,”touch /tmp/healthy;sleep 30;rm -f /tmp/healthy;sleep 600”]
    livenessProbe:
    exec:
    command: [“test”,”-e”,”/tmp/healthy”]
    initialDelaySecond: 1
    periodSecond: 3

    解释说明:

    上面的资源清单中定义了一个Pod对象,基于busybox镜像启动一个运行“touch /tmp/healthy;sleep 30;rm -f /tmp/healthy;sleep 600”命令的容器,此命令在容器启动时创建/tmp/healthy文件,并于60秒之后将其删除,存活性探针运行“test -e /tmp/healthy”命令检查/tmp/healthy文件的存在性,若文件存在则返回状态码0,表示成功通过测试

    image.png
    #运行并查看pod

    [root@master manifests]# kubectl apply -f liveness-exec.yaml
    pod/liveness-exec-pod created

    [root@master manifests]# kubectl get pods -w
    NAME READY STATUS RESTARTS AGE
    client-f5cdb799f-pklmc 1/1 Running 0 25h
    liveness-exec-pod 1/1 Running 0 5s
    myapp-9b4987d5-47sjj 1/1 Running 0 25h
    myapp-9b4987d5-684q9 1/1 Running 0 25h
    myapp-9b4987d5-djdr9 1/1 Running 0 25h
    nginx-deploy-84cbfc56b6-tcssz 1/1 Running 0 29h
    pod-demo 2/2 Running 4 4h33m
    liveness-exec-pod 1/1 Running 1 87s

    #重启次数变成1

    相关文献:https://www.cnblogs.com/wlbl/p/10694301.html#pod%E7%9A%84%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F