探针-command方式探测

探针-command方式探测

存活探针liveness probe

检测到Pod问题,通过重启解决

探测方式:

  • command

创建Pod

vim exec-liveness.yaml

apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    run: exec-liveness
  name: exec-liveness
  namespace: openeuler
spec:
  containers:
  - image: nginx
    imagePullPolicy: IfNotPresent
    name: exec-liveness
    args:
    - /bin/sh
    - -c
    - touch /tmp/healthy; sleep 30; rm -f /tmp/healthy; sleep 600
    livenessProbe:
      exec:
        command:
        - cat
        - /tmp/healthy
      initialDelaySeconds: 5
      periodSeconds: 5
    resources: {}
  dnsPolicy: ClusterFirst
  restartPolicy: Always
status: {}

在配置文件中,periodSeconds字段指定kubelet每隔5秒执行一次存活探测。initialDelaySeconds字段告诉kubelet在执行第一次探测之前应该等待5秒钟。为了执行探测,kubelet在目标容器中执行命令cat /tmp/healthy。如果命令成功,它返回0,kubelet认为容器是活动的和健康的。如果命令返回一个非零值,kubelet会终止容器并重新启动它。

kubectl apply -f exec-liveness.yaml

30秒内,显示Pods events

kubectl describe pods -n openeuler exec-liveness | grep Events -A8
Events:
  Type    Reason     Age        From               Message
  ----    ------     ----       ----               -------
  Normal  Scheduled  29s        default-scheduler  Successfully assigned openeuler/exec-liveness to vms129.openeuler.cc
  Normal  Pulled     <invalid>  kubelet            Container image "nginx" already present on machine
  Normal  Created    <invalid>  kubelet            Created container exec-liveness
  Normal  Started    <invalid>  kubelet            Started container exec-liveness

下面显示探测器已经失败cat /tmp/healthy不存在

kubectl describe pods -n openeuler exec-liveness | grep Events -A8
Events:
  Type     Reason     Age        From               Message
  ----     ------     ----       ----               -------
  Normal   Scheduled  38s        default-scheduler  Successfully assigned openeuler/exec-liveness to vms129.openeuler.cc
  Normal   Pulled     <invalid>  kubelet            Container image "nginx" already present on machine
  Normal   Created    <invalid>  kubelet            Created container exec-liveness
  Normal   Started    <invalid>  kubelet            Started container exec-liveness
  Warning  Unhealthy  <invalid>  kubelet            Liveness probe failed: cat: /tmp/healthy: No such file or directory

根据事件中显示:Liveness: exec [cat /tmp/healthy] delay=5s timeout=1s period=5s #success=1 #failure=3

Pod已经重启

kubectl get pods -n openeuler 
NAME            READY   STATUS    RESTARTS            AGE
exec-liveness   1/1     Running   1 (<invalid> ago)   83s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gswcfl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值