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

来源:2-3 kubernetes的架构设计

慕UI1542582

2021-04-28

老师您好,通过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”,这种情况该怎么处理?
图片描述
图片描述

写回答

2回答

刘果国

2021-05-07

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

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

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

0
1
慕UI1542582
感谢老师,我们再排查一下。
2021-05-07
共1条回复

刘果国

2021-04-29

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

0
8
慕UI1542582
回复
三生三途
直接用容器命令可以重启,如果是docker,用docker ps -a可以看到之前的容器记录,找到apiserver用docker start 启动,但启动后kubectl还有别的问题。
2021-05-07
共8条回复

Kubernetes生产落地全程实践

一个互联网公司落地Kubernetes全过程点点滴滴

2293 学习 · 2211 问题

查看课程