Проблема:
Глядя на детали модуля для logstash, я смог определить проблему .. У меня есть запись, подобная следующей.
I0414 19:41:24.402257 3338 prober.go:104] Liveness probe for "mypod:mycontainer" failed (failure): Get http://10.168.0.3:80/: dial tcp 10.168.0.3:80: connection refused
Указано "соединение"отказано" для датчика живучести, и после 50 ~ 60 секунд безотказной работы перезапустил модуль.
Причина:
Если посмотреть на датчик живучести на рулевом столе Values.yaml
, он показывает следующие настройки.
...
livenessProbe:
httpGet:
path: /
port: monitor
initialDelaySeconds: 20
# periodSeconds: 30
# timeoutSeconds: 30
# failureThreshold: 6
# successThreshold: 1
...
Устанавливается только InitialDelaySeconds
, поэтому остальные значения должны быть по умолчанию Kubernetes, как показано здесь до следующего.
# periodSeconds: 10
# timeoutSeconds: 1
# failureThreshold: 1
# successThreshold: 3
Это означает, что следующие операции дадут или займут несколько секунд:
+------+-----------------------------+
| Time | Event |
+------+-----------------------------+
| 0s | Container created |
| 20s | First liveness probe |
| 21s | First liveness probe fails |
| 31s | Second liveness probe |
| 32s | Second liveness probe fails |
| 42s | Third liveness probe |
| 43s | Third liveness probe fails |
| 44s | Send SIGTERM to application |
+------+-----------------------------+
Решение:
После некоторого устранения неполадок, чтобы найти правильное значение InitialDelaySeconds
, я вставил следующее в мой override.yaml
файл для решения проблемы.
livenessProbe:
initialDelaySeconds: 90
Похоже, что в зависимости от используемых плагинов Logstash может не отвечать на запросы HTTP свыше 100 с.