互联网服务Kubernetes

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

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

参与6

1同行回答

强哥之神强哥之神架构师&技术经理上汽云计算中心(上海帆一尚行科技有限公司)
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
浏览1422

提问者

mtming333
系统架构师某电子支付
擅长领域: 云计算容器容器云

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2021-05-06
  • 关注会员:2 人
  • 问题浏览:2026
  • 最近回答:2021-05-06
  • X社区推广