Size: a a a

Kubernetes — русскоговорящее сообщество

2020 October 22

EP

Evgen Pr in Kubernetes — русскоговорящее сообщество
Lucky SB
вам чо ? буквы в интернете жалко ?
сорри, я просто писал вывод в первом сообщении
источник

АМ

Артем Мещеряков... in Kubernetes — русскоговорящее сообщество
success и failure это не успехи/провалы проб, это сокращения от successThreshold и failureThreshold
источник

АМ

Артем Мещеряков... in Kubernetes — русскоговорящее сообщество
все часть конфигурации поведения пробы
источник

АМ

Артем Мещеряков... in Kubernetes — русскоговорящее сообщество
и если присмотреться, там значок # это символизирует )
источник

L

Lucky SB in Kubernetes — русскоговорящее сообщество
Артем Мещеряков
success и failure это не успехи/провалы проб, это сокращения от successThreshold и failureThreshold
телепатия прокачана.
источник

L

Lucky SB in Kubernetes — русскоговорящее сообщество
Evgen Pr
сорри, я просто писал вывод в первом сообщении
ну ты написал что получил. а вот в чем у тебя проблема и что тебе в полученном не нравится как-то забыл рассказать.
источник

EP

Evgen Pr in Kubernetes — русскоговорящее сообщество
проблема в том, что результат пробы failure, меня смутило http-get http://:80/live delay=60s timeout=5s  - думал должен быть урл корректный, если его достаточно, то буду разбираться, может с таймаутами что то, подставить свой урл а ля service.name нельзя?
источник

АМ

Артем Мещеряков... in Kubernetes — русскоговорящее сообщество
Evgen Pr
проблема в том, что результат пробы failure, меня смутило http-get http://:80/live delay=60s timeout=5s  - думал должен быть урл корректный, если его достаточно, то буду разбираться, может с таймаутами что то, подставить свой урл а ля service.name нельзя?
чтобы понять почему пробы падают, можно убрать их вообще из конфигурации, запустить приложение и сделать
kubectl exec <pod_name> -- curl localhost/live

если приложение умеет отвечать ошибкой, то именно так ее и можно достать
источник

L

Lucky SB in Kubernetes — русскоговорящее сообщество
Артем Мещеряков
чтобы понять почему пробы падают, можно убрать их вообще из конфигурации, запустить приложение и сделать
kubectl exec <pod_name> -- curl localhost/live

если приложение умеет отвечать ошибкой, то именно так ее и можно достать
это херовая предложенька.
источник

L

Lucky SB in Kubernetes — русскоговорящее сообщество
Evgen Pr
проблема в том, что результат пробы failure, меня смутило http-get http://:80/live delay=60s timeout=5s  - думал должен быть урл корректный, если его достаточно, то буду разбираться, может с таймаутами что то, подставить свой урл а ля service.name нельзя?
самая частая ошибка - приложуха биндится только на локалхост.
а кублет запросы шлет конкретно на адрес пода.
источник

EP

Evgen Pr in Kubernetes — русскоговорящее сообщество
суть в том, что когда я настраивал для этого же приложения пробу по руту, все работало корректно, но возникла необходимость в специфической пробе, поэтому на рут ее нельзя цеплять
источник

EP

Evgen Pr in Kubernetes — русскоговорящее сообщество
эндпаоинт просто при определенных условиях отдает 200, а при других 404
источник

DS

Dmitry Sergeev in Kubernetes — русскоговорящее сообщество
Артем Мещеряков
чтобы понять почему пробы падают, можно убрать их вообще из конфигурации, запустить приложение и сделать
kubectl exec <pod_name> -- curl localhost/live

если приложение умеет отвечать ошибкой, то именно так ее и можно достать
В кубе есть механизм, который дает приложению возможность сообщать ошибки, из-за которых приложение терминируется
При проверках liveness probe, приложение может писать ошибки в файл /var/termination-reason. Который задается terminationMessagePath в спеке.
И тогда ты увидешь в describe в разделе Last State: Terminated в поле Message эту ошибку
источник

АМ

Артем Мещеряков... in Kubernetes — русскоговорящее сообщество
Dmitry Sergeev
В кубе есть механизм, который дает приложению возможность сообщать ошибки, из-за которых приложение терминируется
При проверках liveness probe, приложение может писать ошибки в файл /var/termination-reason. Который задается terminationMessagePath в спеке.
И тогда ты увидешь в describe в разделе Last State: Terminated в поле Message эту ошибку
Да, это отличный механизм, спасибо.
источник

EP

Evgen Pr in Kubernetes — русскоговорящее сообщество
Dmitry Sergeev
В кубе есть механизм, который дает приложению возможность сообщать ошибки, из-за которых приложение терминируется
При проверках liveness probe, приложение может писать ошибки в файл /var/termination-reason. Который задается terminationMessagePath в спеке.
И тогда ты увидешь в describe в разделе Last State: Terminated в поле Message эту ошибку
спасибо большое
источник

DS

Dmitry Sergeev in Kubernetes — русскоговорящее сообщество
Evgen Pr
спасибо большое
вряд-ли ты хочешь, чтобы твое приложение падало из-за 404, поэтому тебе надо сделать нормальный endpoint для пробы
источник

EP

Evgen Pr in Kubernetes — русскоговорящее сообщество
Dmitry Sergeev
вряд-ли ты хочешь, чтобы твое приложение падало из-за 404, поэтому тебе надо сделать нормальный endpoint для пробы
да. так и сделали, просто он отдает 404ю при отсутствии определенных данных, а падало потому, что на старте данных и не должно быть :), а я думал что из-за неправильного урла. вроде разобрались. спасибо всем большое за помощь
источник

DS

Dmitry Sergeev in Kubernetes — русскоговорящее сообщество
Evgen Pr
да. так и сделали, просто он отдает 404ю при отсутствии определенных данных, а падало потому, что на старте данных и не должно быть :), а я думал что из-за неправильного урла. вроде разобрались. спасибо всем большое за помощь
а тебе точно надо чтобы приложение падало при отсутсвтии данных? Может имеет смысл redinessProbe использовать?
источник

EP

Evgen Pr in Kubernetes — русскоговорящее сообщество
угу. если их нет то надо ребутать
источник

DS

Dmitry Sergeev in Kubernetes — русскоговорящее сообщество
Evgen Pr
угу. если их нет то надо ребутать
тогда сделай отложенный запуск liveness. И вроде там еще добавили init пробы или что-то такое
источник