事发背景

最近在 Ubuntu 16.04 安装 k8s v1.17,执行 kubeadm init 一直失败,kubectl 启动不了。

查看 kubectl 记录发现是 swap 没禁用的问题,但是我确定执行了 swapoff -a 暂时关闭swap的。

然后试了一下 swapoff -a 之后,再执行 free -m 检查一下,可以看到 Swap 的 free 为0,但是过了几秒之后再执行 free -m,发现 Swap 的 free 又恢复到了初始值,根本禁用不了 swap。

解决

直接永久禁用swap,参考Ubuntu 16.04 禁用启用虚拟内存swap

  • sudo mount -n -o remount,rw /
  • sudo gedit /etc/fstab
  • 在swap分区这行前加 # 禁用掉,保存退出
  • reboot
  • sudo free -m 看一下 swap 的 free 大小
  • sudo swapoff -a 之后 再用 sudo free -m 多看几次 swap 的 free 大小为 0 即可

之后再执行kubeadm reset,kubeadm init + 自己的参数 初始化k8s即可

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐