一。 kube-apiserver启动报错,修改配置,KUBE-ADMISSION_CONTROL去除serviceAccount
在这里插入图片描述
二。etcd启动报错,修改配置文件,etcd_listen_client_urls
在这里插入图片描述
三。master节点获取报错(该报错是kube-apiserver没有正常启动)
在这里插入图片描述

修改node节点flanneld为master节点ip地址
在这里插入图片描述
修改node节点kubelet为master节点ip地址
在这里插入图片描述

修改node节点config为master节点ip地址
在这里插入图片描述
四。关闭swapoff -a
K8s 必须保持全程关闭交换内存,之前我安装是只是使用 swapoff -a 命令暂时关闭 swap。而机器重启后,swap 还是会自动启用
五。根据日志排查
1.查看错误日志后50行
在这里插入图片描述
2.从kube-scheduler 开始报错
在这里插入图片描述
3.查看kube-sheduler状态,发现从kube-scheduler.service开始加载
在这里插入图片描述
4.查看kube-scheduler.service
在这里插入图片描述
5.重启master主机服务(修改了配置文件)
systemctl restart kube-apiserver.service
systemctl restart kube-controller-manager.service
systemctl restart kube-scheduler.service
在这里插入图片描述
6.查看端口master(不是端口的问题)
ssh -v -p 192.168.124.132 8080
端口被拒绝,node节点端口是否开启,netstat -aptn
在这里插入图片描述
开启端口
在这里插入图片描述

8.日志导出
journalctl -u etcd > a.log导出日志慢慢分析,生成一个a.log文件
9.etcd启动报错
Etcd集群搭建报publish error: etcdserver: request timed out解决方式
1.进入到保存到保存etcd集群的包:cd /var/lib/etcd
2.调用删除命令:rm -rf etcd1.etcd
在这里插入图片描述

启动etcd和apiserver成功
10.获取systemctl get nodes报错
在这里插入图片描述
查看运行日志
命令一般是服务启动情况的日志
journalctl -u kube-scheduler
journalctl -xefu kubelet #实时刷新
journalctl -u kube-apiserver
journalctl -u kubelet |tail
journalctl -xe
查看node节点kubelet运行情况,有报错
在这里插入图片描述
重启node节点所在机器就可以了(应该是网络初始化连接问题)

一。node节点启动报错(node节点不需要启动etcd)。查看状态:systemctl status etcd.service
在这里插入图片描述
1。排查etcd.conf:cat 、etc/etcd/etcd.conf
ETCD_INITIAL_CLUSTER配置文件与master文件不一致
ETCD_NAME名称和ip配置也有问题。修改保存。
2。修改ETCD-initial-cluster-state配置
初始化集群状态(“new” or “existing”)。在初始化静态(initial static)或者 DNS 启动 (DNS bootstrapping) 期间为所有成员设置为 new 。如果这个选项被设置为 existing , etcd 将试图加入已有的集群。如果设置为错误的值,etcd 将尝试启动但安全失败。
3。/var/log/messages文件里面查看具体的报错日志
4.kube-apiserver也启动不起来
调试方法。ps-ef|grep kube-apiserver
用查出来的发法执行一遍,应该是配置问题
在这里插入图片描述

Logo

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

更多推荐