Dar*_*tel 6 out-of-memory kubernetes
最近,我们在非生产和生产集群上都遇到了问题,其中节点遇到了“系统 OOM 遇到”问题。
非生产集群中的节点似乎没有共享 Pod。看起来某个给定的节点正在运行所有 Pod 并给系统带来负载。
此外,Pod 还停留在以下状态:“等待:ContainerCreating”。
对于上述问题的任何帮助/指导将不胜感激。我们正在这个集群中构建越来越多的服务,并希望确保不存在不稳定和/或环境问题,并在上线之前进行适当的检查/配置。
小智 3
“我建议您在 Kubernetes 集群中正确管理容器计算资源。创建 Pod 时,您可以选择指定每个容器需要多少 CPU 和内存 (RAM),以避免 OOM 情况。
\n\n当容器指定了资源请求时,调度程序可以更好地决定将 Pod 放置在哪些节点上。当容器指定了其限制时,可以以指定的方式处理节点上的资源争用。CPU规格以核心为单位,内存以字节为单位指定。
\n\n每次调度程序失败时都会产生一个事件,使用以下命令查看事件的状态:
\n\n$ kubectl describe pod <pod-name>| grep Events\n
Run Code Online (Sandbox Code Playgroud)\n\n另外,请阅读有关 \xe2\x80\x9cConfigure Out Of Resource Handling\xe2\x80\x9d 的官方 Kubernetes 指南。始终确保:
\n\n为 kubelet 和操作系统内核等系统守护进程预留10-20%
内存容量\n识别可在内存使用时驱逐的 Pod,90-95%
以减少系统抖动和 OOM 发生率。
为了促进这种情况,kubelet 将使用如下选项启动:
\n\n--eviction-hard=memory.available<xMi\n--system-reserved=memory=yGi\n
Run Code Online (Sandbox Code Playgroud)\n\n将 x 和 y 替换为实际内存值。
\n\n对Heapster 容器进行监控应该有助于可视化”。
\n\n阅读有关Kubernetes 和 Docker 管理的更多内容
\n 归档时间: |
|
查看次数: |
10099 次 |
最近记录: |