Bai*_*nik 6 amazon-web-services heap-dump kubernetes persistent-volumes amazon-eks
当 java 进程出现 OOM 且 pod 重新启动时,我需要保留堆转储。
我在 jvm 参数中添加了以下内容
-XX:+ExitOnOutOfMemoryError -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/dumps
Run Code Online (Sandbox Code Playgroud)
...并且emptydir安装在同一路径上。
但问题是,如果 Pod 重新启动并且它被安排在不同的节点上,那么我们就会丢失堆转储。即使 pod 被安排到不同的节点,如何保留堆转储?
我们正在使用 AWS EKS,并且我们有超过 1 个 Pod 副本。
有人可以帮忙解决这个问题吗?
由于在您的情况下写入 EFS 太慢,因此 AWS EKS 还有另一种选择 - awsElasticBlockStore。
EBS 卷的内容会被持久化,并且当 Pod 被删除时,该卷也会被卸载。这意味着 EBS 卷可以预先填充数据,并且数据可以在 Pod 之间共享。
注意:您必须先使用 aws ec2 create-volume 或 AWS API 创建 EBS 卷,然后才能使用它。
使用 awsElasticBlockStore 卷时存在一些限制:
请查看有关此主题的官方 k8s 文档页面。以及如何在 EKS 中使用持久存储。
| 归档时间: |
|
| 查看次数: |
5349 次 |
| 最近记录: |