高频 IO 的 POD 并不适合设置 Limit
原文中文,约2000字,阅读约需5分钟。
📝
内容提要
基于Kubernetes的Elasticsearch频繁重启,导致服务几乎不可用。内存使用持续增长,超过限制后导致异常退出。系统内核版本、节点负载都正常。大量的Cache使用导致内存压力。解决方案是重启应用,推荐修改ECK的配置值来触发重启。
❓
Q&A
为什么基于Kubernetes的Elasticsearch会频繁重启?
Elasticsearch频繁重启是因为Pod内存使用持续增长,接近限制后触发异常退出。
Elasticsearch Pod的内存限制是多少?
Elasticsearch Pod的内存限制为64GB,JVM内存限制为32GB。
如何解决Elasticsearch Pod的内存压力问题?
推荐重启应用以释放Cache,重启方式包括删除Pod、重启StatefulSet和ECK Operator重启。
Cache对Elasticsearch的内存使用有什么影响?
大量Cache使用导致内存压力,触发容器Memory OOM,影响Elasticsearch的稳定性。
直接清理Cache有什么问题?
直接清理Cache会影响其他应用,并且清理时间较长,可能导致训练任务的缓存失效。
如何修改ECK配置以避免新Pod被识别为新的Elasticsearch Node?
建议修改ECK的Request配置值来触发重启应用,以避免新Pod被识别为新的Elasticsearch Node。