如何定义活动命令

jaz*_*sir 8 kubernetes kubernetes-health-check

下面的livenessProbe(从示例中提取)运行良好.

livenessProbe:
  exec:
    command:
    - cat
    - /tmp/healthy
Run Code Online (Sandbox Code Playgroud)

但是,我的livenessProbe无效.(pod不断重启).YAML在下面

apiVersion: v1
kind: Pod
metadata:
  labels:
    test: liveness-test
  name: liveness
spec:
  containers:
  - name: liveness
    args:
    - /bin/bash
    - -c
    - /home/my_home/run_myprogram.sh; sleep 20
    image: liveness:v0.6
    securityContext:
      privileged: true
    livenessProbe:
      exec:
        command:
        - /home/my_home/check.sh
      initialDelaySeconds: 10
      periodSeconds: 5
Run Code Online (Sandbox Code Playgroud)

/home/my_home/check.sh(在运行进程数为1或0时重新启动pod)低于预先测试.

#!/bin/sh
if [ $(ps -ef | grep -v grep | grep my-program | wc -l) -lt 2 ]; then
  exit 1
else
  exit 0
fi
Run Code Online (Sandbox Code Playgroud)

jaz*_*sir 10

此问题与Golang Command API有关。我如下更改了livenessProbe

livenessProbe:
  exec:
    command:
    - /bin/sh
    - -c
    - /home/test/check.sh
Run Code Online (Sandbox Code Playgroud)