问题原因
由于 K8s 必须保持全程关闭交换内存,之前我安装是只是使用 swapoff -a 命令暂时关闭 swap。而机器重启后,swap 还是会自动启用,从而导致 kubelet 无法启动。
解决办法(ubuntu)
编辑/etc/fstab ,sudo vim /etc/fstab,找到如下行
/dev/disk/by-uuid/5fea4562-481e-4bdc-9373-0a55b3420cc0 none swap sw 0 0
修改成
/dev/disk/by-uuid/5fea4562-481e-4bdc-9373-0a55b3420cc0 none swap sw,noauto 0 0
将如下行注释,即在行首添加#
/swap.img none swap sw 0 0
重启系统并验证
sudo swapon --show
输出为空即表示生效

解决办法(centos)
(1)首先执行如下命令关闭 swap。
swapoff -a
(2)接着编辑 /etc/fstab 文件。
vi /etc/fstab
(3)将 /dev/mapper/centos-swap swap swap default 0 0 这一行前面加个 # 号将其注释掉。

(4)编辑完毕后保存退出。这样机器重启后 kubelet 也可以正常自动启动了。
网友评论