为K8S增加swap support

正如前文所说,k8s 的node节点配置太垃圾,故在之前的测试方案中增加了swap的support,实际生产环境不推荐这么跑,这么做的目的无非是一种穷屌丝的做法。

首先,开启kubelet的swap support,在/etc/sysconfig/kubelet中追加如下字段:

--fail-swap-on=false

比如我的配置文件内容为:

KUBELET_EXTRA_ARGS="--node-ip=11.22.33.44 --runtime-cgroups=/systemd/system.slice --kubelet-cgroups=/systemd/system.slice --fail-swap-on=false"
重启kubelet服务:
# systemctl restart kubelet

然后dd一块“盘”出来:

dd if=/dev/zero of=/swap bs=2M count=1024

接着修改/etc/sysctl.d/k8s.conf中关于swapiness部分,将其有0改为20,即:内存不足20%的情况下才允许使用swap

cat /etc/sysctl.d/k8s.conf
...
vm.swappiness=20
...

接下来就是最基本的挂载swap分区的过程了:

# grep swap /etc/fstab
/swap        swap        swap        defaults    0 0

# mount -a && swapon -a

最后查看一下成果吧!

#free -m
      total        used        free      shared  buff/cache   available
Mem:  1990       1359     92          22     538         540
Swap: 2047           0        2047
This entry was posted in Kubernetes, Linux, OS, Platform and tagged , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *