请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

kubespray部署成功后,虚拟机重启后集群无法使用?

老师您好,通过kubespray部署成功,虚拟机重新启动后,在master节点执行“kubectl get nodes”命令报错,返回“The connection to the server 192.168.66.11:6443 was refused - did you specify the right host or port?”,截图如下。我尝试执行“ctr -n k8s.io run -d -t k8s.gcr.io/kube-apiserver:v1.19.7 api-server”命令创建api-server,但通过“crictl logs api-server”查看日志,还是显示“an error occurred when try to find container “api-server”: does not exist”,这种情况该怎么处理?
图片描述
图片描述

正在回答 回答被采纳积分+3

2回答

刘果国 2021-05-07 08:16:46

我给你们整理一下,首先看etcd,它是单独的谁也不依赖。保证它是ok的。接下来启动的是kubelet,启动完看看日志,如果kubelet启动都不正常的话肯定不行的。

kubelet如果完全正常就可以看apiserver了(apiserver是kubelet带起来的),如果端口6443没启动就看进程是否在、启动日志的错误。

另外,虚拟机这块之前遇到过同学用的virtualbox,换成vmware就没问题的情况。但我觉得本质不是virtualbox问题,主要检查几个点,虚拟机的内存是否足够,ip是否有变化,网络是否都能联通(公网、内网)

0 回复 有任何疑惑可以回复我~
  • 提问者 慕UI1542582 #1
    感谢老师,我们再排查一下。
    回复 有任何疑惑可以回复我~ 2021-05-07 08:49:34
刘果国 2021-04-29 10:05:08

apiserver是以staticpod run起来的,这个目录的配置关注一下/etc/kubernetes/manifests/。staticpod是kubelet带起来的 所以要先检查kubelet服务

0 回复 有任何疑惑可以回复我~
  • 提问者 慕UI1542582 #1
    老师,我昨天又搭建了一遍集群,容器用的是docker,相比与containerd,我对docker更熟悉一些,这是我搭建的第5遍了。搭建成功,虚拟机关机后(本地虚拟机搭建,所以不可能不关闭虚拟机),又是同样的情况,“The connection to the server 192.168.66.11:6443 was refused - did you specify the right host or port?”。这次我不是直接关闭虚拟机,而是先停止systemctl stop docker,然后停止了etcd,最后才执行了关闭虚拟机的命令。我在停止docker前,用docker ps 命令查看了所有的容器信息,然后将它们保存到了文件中。上午集群出现问题后,我用docker ps查看发现只有一个容器在运行,好像是etcd相关的容器。然后我按照导出文件中的容器运行时间先后,手动重启了容器,docker start 容器编号,但集群还是无法正常运行。您遇到过这类重启之后集群无法正常运行的情况嘛,是怎么处理的呢?我实在是没有办法了,您看您最近有时间嘛,我想在阿里云上搭一套集群,搭好之后您看一下重启之后会不会出现这个问题,然后怎么修复?
    回复 有任何疑惑可以回复我~ 2021-04-29 14:37:23
  • 刘果国 回复 提问者 慕UI1542582 #2
    首先既然用的是虚拟机可以确定你是学习而不是生产环境,既然是学习为目的,遇到问题最好先定位原因,盲目的重新搭建不是好方法。解决问题是非常好的学习机会,比如你这个问题,你就要知道组件之前的依赖关系,谁先启动谁后启动?每个组件以什么方式启动?怎么查看组件的状态?状态不正常如何排查?看似解决一个不大的问题,但涉及到的东西非常多,遇到问题多思考多查资料,可以学到很多知识。如果回避问题去一遍遍的做重复劳动,浪费了时间也没有收获。加油~
    回复 有任何疑惑可以回复我~ 2021-04-30 10:39:29
  • 提问者 慕UI1542582 回复 刘果国 #3
    好的老师,我再查查。
    回复 有任何疑惑可以回复我~ 2021-04-30 11:36:31
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信