前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >k8s 意外集锦 - oom 的连锁反应

k8s 意外集锦 - oom 的连锁反应

作者头像
LinkinStar
发布2022-09-01 14:37:11
4000
发布2022-09-01 14:37:11
举报
文章被收录于专栏:LinkinStar's Blog

一开始觉得 oom 是一个常见问题,应该没有什么大问题,反正 k8s 集群会调度的,但其实它造成的连锁反应很恐怖。

问题描述

具体简单描述过程:一台机器 OMM, 导致将对应的pod调度到了其他节点上,导致其他节点 OOM 然后开始疯狂输出日志信息,然后导致 master 磁盘不足开始清理并驱逐,然后导致驱逐(Evicted)的应用再次调度到其他节点,然后连锁反应,最终相关大量服务不可用….

pod 出现告警信息 The node had condition: [DiskPressure].

oom-master-df-lh
oom-master-df-lh

总的来说就是一个 应用的 oom 不停的被调度来调度去,导致日志疯狂的输出,导致磁盘不足了。

问题解决

设置合适的内存请求和限制条件

限制单个应用的使用内存还是非常有必要的,免得出现很多意外的情况

代码语言:javascript
复制
resources:
   requests:
     cpu: 100m
     memory: 128Mi
   limits:
     cpu: 200m
     memory: 256Mi

应用 bug 修复

代码 bug 肯定要修复的,这个毕竟是导致问题的主要原因

升级 ECS 的内存

确实当前的集群中的内存不够应用使用了(主要是非常容易出现问题)

定时清理 master 和 work 上的系统日志

之前都没有清理过 k8s 的日志文件,运行了很久,一直堆积也没有去管它,从而也是导致这次问题的一个原因之一,所以搞个脚本定时清理还是非常有必要的

添加磁盘监控

因为没有高存储类型的应用,之前完全就没有想到磁盘会出问题,所以添加磁盘的监控

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-03-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题描述
  • 问题解决
    • 设置合适的内存请求和限制条件
      • 应用 bug 修复
        • 升级 ECS 的内存
          • 定时清理 master 和 work 上的系统日志
            • 添加磁盘监控
            相关产品与服务
            容器服务
            腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档