kubernetes经典面试题:为啥k8s默认禁用了swap?

这个问题我通常会问一些面试k8s运维岗位的同学,因为这个报错是在安装启动kubelet中常见的错误。相比与知识点,我个人觉得的思考能力更重要,多问几个为什么,为啥k8s默认禁用了swap呢?

kubernetes经典面试题:为啥k8s默认禁用了swap?

我们都知道swap的作用主要是将部分内存中匿名页置换到磁盘中,等到内存缺页异常的时候再交换回来,通过磁盘扩展内存空间。看似是个好东西,但k8s却默认禁用了。

主要有两个方面原因:

第一是因为性能问题,在生产环境我们经常会遇到容器性能突然降低的情况,查看原因后,大部分都是因为开启了swap导致的。swap看似解决了有限内存的问题,但这种通过时间换空间的做法也给性能带来了很大问题,尤其是在高并发场景中,很容易导致系统不稳定。

第二是因为k8s定义的资源模型中,CPU和内存都是确定的可用资源,在调度的时候都会考虑在内。比如,设置了内存设置了limit 2G,就代表最大可用内存是2G,而引入swap(cgroup支持swap限制)后这个模型就变得复杂了,而且需要结合Qos,swap的使用完全是由操作系统根据水位自行调节的,并不直接受kubelet管理。

展开阅读全文

页面更新:2024-02-23

标签:都会   水位   知识点   磁盘   容器   内存空间   模型   岗位   异常   做法   很大   内存   性能   原因   经典   资源   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top