之前我用kubeadm搭建了 一个master 一个node 的Kubernetes集群 ,后来有次我把这两个虚拟机重启了
我先启动master节点所在的虚拟机
重启之后
docker 先启动 (node节点所在的虚拟机 也一样 也要先启动 docker)
systemctl start docker
检验一下 docker是否启动
docker ps
docker启动后执行
systemctl start kubelet
然后再执行
kubectl get nodes
结果失败了
出现了错误:The connection to the server x.x.x.x:6443 was refused - did you specify the right host or port?
输入 systemctl status kubelet 命令查看kubelet的情况,发现kubelet没有启动。
解决:
需要关闭交换内存
swapoff -a
可能有人纳闷了,我不是安装的时候就已经关闭了吗
因为没有注释掉swap的自动挂载,机器重启后,swap还是会自动启用,从而导致kubelet无法启动。
设置swap开机不启动
修改/etc/fstab文件
vim /etc/fstab
free -m
若swap那一行输出为0,则说明已经关闭。
<font size="4’>node节点也是一样 把交换分区禁用
出现其他问题
若启动kubelet后 执行kubectl get nodes
发现 master节点 NotReady
可以再执行一遍:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
亲测有效…
有问题的地方欢迎指出,欢迎大家一起讨论