K8S中,用到SWAP可以吗,会有什么坑?

就目前打开swap的场景看,在真实使用到swap时,与虚机还是有不少区别。
请教各位大佬,SWAP如果一定要开,会有什么坑?谢谢

1回答

强哥之神强哥之神  容器云架构师及技术经理 , 上汽云计算中心
chenlii赞同了此回答
K8S 中不建议使用 swap 的,主要是因为如果把 swap 作为资源加进来,会有很多工作要做,也就是说目前的实现还不能完全上生产,根本原因还是 K8S 对于 pod 使用 MEM 资源的 request/limit 的  QoS 的定义,因为 K8S 对 POD 的调度与杀死都是基于资源来操作的,举...显示全部

K8S 中不建议使用 swap 的,主要是因为如果把 swap 作为资源加进来,会有很多工作要做,也就是说目前的实现还不能完全上生产,根本原因还是 K8S 对于 pod 使用 MEM 资源的 request/limit 的  QoS 的定义,因为 K8S 对 POD 的调度与杀死都是基于资源来操作的,举个简单的例子,如果没有开启 swap,那么 POD MEM 资源的  request/limit  就完全依赖于物理内存,有足够物理内存我就调度,没有我就不调度或者杀死其他同宿主机的 POD 来满足。如果有了 swap,pod 还需要维护一个 swap 资源项来表示某个 pod 占用了多少 swap,swap 用完了再给其他的 pod 使用,也要相应的累计,这个实现起来,不是 K8S 单纯的增增减减的事情,还会考虑 Linux 内核实现相关 。再比如,如果有两个POD都使用了同样的mem/cpu,也定义了同样的 QoS,但使用的 swap 不一样,这个时候假设宿主机资源不够了,K8S 会很为难的,它不知道要 KILL 谁,因为它把握不好 swap 使用情况。总之,目前还不建议使用。

收起
 2021-05-06
  • 的确啊,但是毒也要喝了。有些应用改造容器跑,不给SWAP直接OOM,内存吃成无底洞,头疼。
    2021-05-06

提问者

mtming333系统架构师, 某电子支付

容器云管理平台选型优先顺序调查

发表您的选型观点,参与即得50金币。

问题状态

  • 发布时间:2021-05-06
  • 关注会员:2 人
  • 问题浏览:792
  • 最近回答:2021-05-06