Почему мне нужно указывать команду -sh - -c - вместо просто команды - в команде k8s livenessProbe exec (и, возможно, гдеLinux

Anonymous
Почему мне нужно указывать команду -sh - -c - вместо просто команды - в команде k8s livenessProbe exec (и, возможно, где

Сообщение Anonymous »

Я пытаюсь выполнить команду в livenessProbe, я подключился к контейнеру в интерактивном режиме и протестировал команду:

Код: Выделить всё

exit $(test $(date +%H) -eq 3 && echo 1 || echo 0)
который дал желаемый результат, однако, когда я указываю livenessProbe:

Код: Выделить всё

livenessProbe:
exec:
command:
- exit $(test $(date +%H) -eq 3 && echo 1 || echo 0)
выдает ошибку:

(объединено из аналогичных событий): Ошибка проверки работоспособности: ошибка rpc: code = Неизвестное описание = не удалось выполнить в контейнере: не удалось запустить exec «53fd8ffa05772ae7cebf99fadbf3767d902e40a58a8910f3fd501cfc8a65757d»: сбой выполнения во время выполнения OCI: сбой выполнения: невозможно запустить процесс контейнера: exec: «exit $(test $(date +%H) -eq 3 && echo 1 || echo 0)": исполняемый файл не найден в $PATH: неизвестно

он ​​отлично работает с:
< pre class="lang-yaml Prettyprint-override">

Код: Выделить всё

livenessProbe:
exec:
command:
- sh
- -c
- exit $(test $(date +%H) -eq 3 && echo 1 || echo 0)
Я хочу понять, почему это так? Есть ли случаи, когда мне не нужно указывать (ba)sh -c?

Подробнее здесь: https://stackoverflow.com/questions/787 ... -k8s-liven

Вернуться в «Linux»