docker - 谷歌 Kubernetes 日志
问题描述
Memory cgroup out of memory: Kill process 545486 (python3) score 2016 or sacrifice child Killed process 545486 (python3) total-vm:579096kB, anon-rss:518892kB, file-rss:16952kB
该节点记录并且我的容器不断随机重启。运行具有 4 个副本的 python cotnainer。
Python 应用程序包含带有烧瓶的套接字。Docker 镜像包含python3.5:slim
Kubectl get nodes
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
gke-XXXXXXX-cluster-highmem-pool-gen2-f2743e02-msv2 682m 17% 11959Mi 89%
今天早上节点日志:0/1 nodes are available: 1 Insufficient cpu.
但节点 CPU 使用率仅为 17%
吊舱内没有太多运行。
解决方案
查看最佳实践并尝试调整CPU和内存的资源请求和限制。如果您的应用开始达到 CPU 限制,Kubernetes 就会开始限制您的容器。因为没有办法限制内存使用,如果容器超过其内存限制,它将被终止(并重新启动)。因此,使用合适的限制应该可以帮助您解决重新启动容器的问题。
如果您的容器请求超出限制,Kubernetes 将抛出一个错误,类似于您的错误,并且不会让您运行容器。
调整限制后,您可以使用一些监控系统(如Stackdriver)来查找潜在内存泄漏的原因。
推荐阅读
- php - Magento 2.3 中的可售数量不显示
- mysql - MySQL 未启动且意外停止
- javascript - 字符串中的“字符串”是 JavaScript 中的保留字吗?
- amazon-web-services - ClientError: lst 应该至少有三个部分,但只有 1 个部分
- angular - Ionic 4 - 如何在一个页面上使用选项卡按钮及其内容创建选项卡布局
- git - 如何让其他组织团队成员可以使用私有 GitHub 存储库?
- python - AttributeError:“numpy.ndarray”对象没有属性“历史”
- ruby-on-rails - 防止 ActiveRecord 关系转换为数组
- html - 创建 xml 到 html 的样式表
- html - 为什么 z-index 不适用于 display: flex; 和负边距?