电脑蓝屏重启后k8s-api服务未响应

问题描述

在这里插入图片描述

电脑蓝屏,虚拟机中的k8s集群不可用。

在这里插入图片描述
1、systemctl status kubelet
发现出现error,master节点not found
尝试重启kubelet,没用。。。

2、cat /etc/kubernetes/manifests/kube-apiserver.yaml
查看api-server的配置是否正确,是否是master节点ip,端口是否正确

3、查看kube报错日志
journalctl -u kubelet -n 100 --no-pager -a

在这里插入图片描述
确定是api的问题

3、查看是否是kube-apiserver的容器没启动起来
docker ps -a | grep kube-apiserver

在这里插入图片描述

容器没启动,docker logs 37e90eb2e90d查看docker日志
在这里插入图片描述
错误:dial tcp 127.0.0.1:2379: connect: connection refused
ETCD 连接错误。。。
ETCD 默认端口:ETCD 服务默认通过 2379 端口提供客户端(如 Kubernetes API Server)通信服务,通过 2380 端口处理节点间通信。
连接被拒绝:客户端无法连接到 ETCD 的 2379 端口,通常是因为 ETCD 服务未运行、端口未监听 或 配置错误。

4、查看ETCD是否正常
docker ps -a | grep etcd

在这里插入图片描述
docker logs fb4fa2c40e52
在这里插入图片描述
问题:panic: freepages: failed to get all reachable pages (page 1084: multiple references)
磁盘损坏。。。

解决方式——重新配置一下

1、可以先备份一下

cp -r /var/lib/etcd ~/etcd-backup

2、停止 kubelet 和 ETCD 容器

systemctl stop kubelet
docker stop $(sudo docker ps -a | grep etcd | awk '{print $1}')

3、清除目录

rm -rf /var/lib/etcd/*

4、重启 kubelet 并重建 ETCD

kubelet 会自动重新创建静态 Pod(包括 ETCD)

systemctl start kubelet

docker ps -a | grep etcd# 检查 ETCD 容器状态

5、重新初始化 Kubernetes 集群

kubeadm reset -f

kubeadm init \
  --apiserver-advertise-address=192.168.30.100 \
  --image-repository registry.aliyuncs.com/google_containers \
  --kubernetes-version v1.23.6 \
  --service-cidr=10.96.0.0/12 \
  --pod-network-cidr=10.244.0.0/16

6、恢复网络和组件

mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config

7、查看结果

在这里插入图片描述
主节点好了。从节点需要再join一遍

node节点

sudo kubeadm reset -f#清除之前的记录

主节点

执行:kubeadm token create --print-join-command
执行结果再在各node节点运行一遍。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值