如何添加kubernetes活性探测以检查进程是否存活

时间:2017-05-31 20:19:53

标签: kubernetes

我有一个在Ubuntu容器内运行的进程,如果进程被杀死,我想重新部署容器。我在容器规范

中添加了以下活性探针
  livenessProbe:
    exec:
     command:
     - ps -ef | grep my_process_name
    initialDelaySeconds: 120
    periodSeconds: 30

然而这不起作用。当我做kubectl describe pods <pod_id>时,我得到以下事件。

  1h    6m      20      {kubelet k8s-agent-71e8d996-0}        spec.containers{my_process_name}       Warning Unhealthy       Liveness       probe failed: rpc error: code = 13 desc = invalid header field value "oci runtime error: exec failed: container_linux.go:247: starting container process caused \"exec: \\\"ps -ef | grep my_process_name\\\": executable file not found in $PATH\"\n"

它不断重新部署容器。如果我冲进容器并做一个&ps; ps -ef&#39;它有效但但并非如此 什么是使用活性探针检查进程是否正在运行的好方法?谢谢。

2 个答案:

答案 0 :(得分:3)

为了便于复制粘贴 OP 在问题下的评论:-)。

下面,worker.py是需要检查的进程:

livenessProbe:
  exec:
    command:
    - /bin/bash
    - -c
    - ps -ef | grep worker.py | grep -v grep
  initialDelaySeconds: 10
  periodSeconds: 10

答案 1 :(得分:0)

显然,路径中找不到ps。您可以尝试使用/bin/ps代替ps