Возможно ли использовать Http и Command livenessProbe в одном и том же развертывании?

#kubernetes #health-check #livenessprobe

#kubernetes #проверка работоспособности #livenessprobe

Вопрос:

Я просто сомневаюсь в том, возможно ли запускать несколько тестов живучести в одном и том же deployment.yaml . Например: у меня уже есть проверка живучести, которая запускает скрипт python, который проверяет мое приложение, например:

 livenessProbe:
  failureThreshold: 5
  initialDelaySeconds: 15
  timeoutSeconds: 10
  periodSeconds: 60
  exec:
    command: ["/usr/local/bin/python", "/app/check_application_health.py"]
  

Возможно ли включить другой тест на живучесть, который проверяет работоспособность httpGet ? Или я должен httpGet включить проверку работоспособности в этот скрипт python и запустить все в одном?

Спасибо!

Ответ №1:

Привет, в настоящее время это невозможно,

в качестве обходного пути вы можете сделать что-то вроде этого

 "livenessProbe": {
         "exec": {
            "command": ["sh", "-c",
               "reply=$(curl -s -o /dev/null -w %{http_code} http://< healthcheck url>); if [ "$reply" -lt 200 -o "$reply" -ge 400 ]; then exit 1; fi; /app/check_application_health.py;"
            ]
         }
      }
  

Источник: https://github.com/kubernetes/kubernetes/issues/37218#issuecomment-372887460