Azure Kubernetes:OOM已终止-退出代码:137,自动缩放未启动以添加其他节点[已关闭]

xurqigkl  于 2023-11-17  发布在  Kubernetes
关注(0)|答案(1)|浏览(126)

**已关闭。**此问题需要debugging details。目前不接受回答。

编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答问题。
19小时前关闭
Improve this question
我在Azure Kubernetes中有以下配置


的数据
在尝试在集群中部署应用程序时,我收到以下错误


的数据
如果这是由于资源而失败,我希望集群根据自动扩展配置添加额外的节点,但没有发生。
有什么想法吗?问题是什么,我该如何解决?

2vuwiymt

2vuwiymt1#

即使在Azure中启用了自动缩放,您也可能会遇到OOM 137,因为OOMKilled code 137意味着容器或Pod因使用的内存超过允许的内存而被终止。OOM代表“Out Of Memory”。当Pod内存不足时会发生OOM kill,它会被kill,因为 * 您已为其提供了资源限制 *。OOM依赖的另一个因素是kubernetes QoS
有3个不同的类:

BestEffort:没有定义资源的Pod,当节点资源耗尽时,第一个被杀死。
Burstable:当您将资源请求和限制设置为不同的值时,限制请求是有保证的,但如果它需要“突发”,它将与其他对象共享,并取决于在该点上使用了多少资源,而不是保证。
保证:当您将资源请求和限制设置为相同的值时,在这种情况下,资源将被保证到Pod。如果节点资源不足,将最后被杀死。

您可以使用以下命令识别pod类型

kubectl get pod example-solrcloud-0 -o jsonpath='{.status.qosClass}'

字符串
x1c 0d1x要更好地理解为什么Kubernetes决定使用OOMKilled错误终止pod,您可以使用

kubectl describe pod <yourpodname>


你会看到一些消息沿着错误-

Reason:         Evicted
Message:        Pod The node had condition:


您也可以检查您的Horizontal Pod Autoscaling配置,验证您是否在容器上设置了任何资源限制。如果内存使用率一直很高并且没有自动缩放,则可能需要调整节点缩放设置。

az aks update --resource-group <resource-group-name> --name <aks-cluster-name> --enable-cluster-autoscaler --min-count 5 --max-count 50


也可以尝试将虚拟机大小设置为更高的配置

参考文件-
Automatically scale a cluster to meet application demands
MS Doc memory troubleshooting
Fix OOM
Similar SO Thread

相关问题