如何否定要在 Kubernetes livenessProbe 中使用的退出代码状态?

How to negate exit code status to be used in Kubernetes livenessProbe?

如何取消要在 Kubernetes livenessProbe 中使用的退出代码状态?

我将使用 grep 命令,我想做下面的检查。

因为正常情况下,如果有命中,grep 会 return 0,我可以取消它吗,如下所示?

!$(cat filet.txt | grep keyword)

是的,你可以试试

示例:

    livenessProbe:
  exec:
    command:
    - /bin/bash
    - -c
    - cat filet.txt | grep keyword
  initialDelaySeconds: 10
  periodSeconds: 10

如果有帮助你应该结账

-v, --invert-match
          Invert the sense of matching, to select non-matching lines.

你也可以试试-c

echo 'Test' | grep -c T

1

echo 'Test' | grep -c N

0

shell 脚本

#!/bin/sh
if [ $(echo 'Test' | grep -c T) ]; then
  exit 1
else
  exit 0
fi

最简单的方法是编写 shell 脚本并根据需要管理活跃度的退出代码 0 或 1,并根据该活跃度重新启动 pod。

livenessProbe:
  exec:
    command:
    - /bin/sh
    - -c
    - /home/test/health.sh