摘要: k8s最佳实践:业务丢包问题排查 一.问题描述 有用户反馈大量图片加载不出来。 图片下载走的 k8s ingress,这个 ingress 路径对应后端 service 是一个代理静态图片文件的 nginx deployment,这个 deployment 只有一个副本,静态文件存储在 nfs 上, 阅读全文
posted @ 2022-05-16 18:53 西*风 阅读(378) 评论(0) 推荐(0) 编辑
摘要: k8s最佳实践:cgroup kmem的内存泄露问题 1.前言 这篇文章的全称应该叫:[在某些内核版本上,cgroup 的 kmem account 特性有内存泄露问题],如果你遇到过 pod 的 "cannot allocated memory"报错,node 内核日志的“SLUB: Unable 阅读全文
posted @ 2022-05-16 16:45 西*风 阅读(803) 评论(0) 推荐(0) 编辑
摘要: k8s 最佳实践:处理内存碎片化 内存碎片化造成的危害 节点的内存碎片化严重,导致docker运行容器时,无法分到大的内存块,导致start docker失败。最终导致服务更新时,状态一直都是启动中 在长时间运行的Linux操作系统中,系统日志有时会出现无法分配高阶内存的报错信息: Aug 4 22 阅读全文
posted @ 2022-05-16 15:47 西*风 阅读(450) 评论(0) 推荐(0) 编辑
摘要: K8S部分业务POD内存持续泄露问题 1.前言 线上K8S集群有极少量的PHP业务,它们的POD内存持续走高直到OOM,相信与特殊代码场景有关,需要展开分析。 我从POD的内存监控原理入手,分析到底内存用到了哪些地方。 2.分析过程 第一步:分析pod的内存限制原理 容器化依赖Cgroup限制内存资 阅读全文
posted @ 2022-05-16 15:31 西*风 阅读(2279) 评论(0) 推荐(0) 编辑
摘要: Kubernetes 最佳实践:解决长连接服务扩容失效 1.问题背景 在现网运营中,有很多场景为了提高效率,一般都采用建立长连接的方式来请求。我们发现在客户端以长连接请求服务端的场景下,K8S的自动扩容会失效。 原因是客户端长连接一直保留在老的Pod容器中,新扩容的Pod没有新的连接过来,导致K8S 阅读全文
posted @ 2022-05-16 15:27 西*风 阅读(445) 评论(0) 推荐(0) 编辑