踩坑篇-服务器重启后重启集群
昨天不知道说明原因,测试环境的物理机挂了,安装k8s的3台虚拟机正好全在这台物理机上面,现在要把他们全部启动起来,安装的时候好像没有相关的步骤,今天研究一下手动重启。
kubectl get pod
报错:The connection to the server 10.100.1.236:6443 was refused
很明显apiserver没有起来,但是apiserver安装的时候是以容器的方式安装的
docker ps
显示一个容器也没起来,完全不知道咋整,搜索k8s重启,看了好几篇文章,有的文章居然是kubeadm init,这txx还有什么好说的呢。不过民间的高手也是很多的,如下:
静态pod可以直接被kubelet启动,那很有可能是kubelet没有正确启动,尝试如下:每台机器上都要操作
swapoff -a
setenforce 0
systemctl daemon-reload
systemctl restart kubelet
然后用 docker ps 查看,可以看到master节点上的很多k8s容器已经启动起来了,但是worker node上的容器依然没有启动,用 kubectl get nodes ,看到node的状态还是notReady,那就很有可能是防火墙的问题了,直接关闭防火墙,看到worker node上的容器也起来了。
等待所有的calico pod启动完毕,node状态就变成ready了。
但是之前启动的 nignx pod 都不存在了,原因可能是:etcd的启动方式也是容器化的,重启后etcd内的数据被初始化了。
---本来怀疑是 systemctl daemon-reload 命令造成的,但是,今天这台服务器又重启了,我又试了一遍,不执行 systemctl daemon-reload 命令是无法重启k8s的。
---但是今天重启k8s,完成之后,昨天新建的2个pod仍然是存在的,那很有可能是我昨天不熟悉流程参杂了误操作,但是现在也想不起来了,就暂时告一段落了,后面遇到问题再说吧。