набор микросервисов, все в кубернтесе. Всем указал requests/limits, настроил hpa — все ок.
Но с одним подом какая-то дичь, подскажите, в какую сторону копать (?):
- контейнер по метрикам кушает около 0.4 CPU и 2ГБ RAM (.Net Core)
- ставлю лимиты для пода (неважно какие, хоть 8 ЦП и 8 ГБ Рам — под начинает падать прям при старте с OOMKilled, по графикам в Grafana вижу, что даже не было попытки аллоцировать памяти больше чем пару сотен мегабайт.
- снимаю лимиты — все работает, памяти используется более 1 ГБ стабильно.
Вопрос: почему при установленных лимитах, контейнер не пытается утилизировать выделенную для него память, когда при отсутствии оных — все работает исправно. Я не понимаю, подскажите плиз.
requests:
cpu: "200m"
memory: "1Gi"
limits:
cpu: "1"
memory: "6Gi"
думаешь тебе станет кто то врать что память кончилась? пром собирает недостаточно часто инфу чтобы показать, что в какой то момент твой процесс начинает просить слишком много рамы
Одним подом или всеми подами одного сервиса?
Обсуждают сегодня