重启服务器后,使用kubectl命令出现报错“The connection to the server 172.16.16.205:6443 was refused - did you specify

文章提供了三种处理方法来解决kubelet服务相关的问题。首先,检查并调整系统时间与硬件时间同步,然后更新ntp时间。其次,确认6443等关键端口是否被占用,并启用firewalld或调整iptables规则。最后,检查并修复环境变量或containerd容器的状态,重启kubelet服务并查看日志以定位问题。
摘要由CSDN通过智能技术生成

处理方法一:
systemctl status kubelet #首先检查服务是否启动有无报错,如果服务报错进行排查

date #确认系统时间

hwclock #确认硬件

#如果此时系统时间和硬件时间同步,但明显不是服务器重启之前的时间。请继续往下看。否则就不是本情况,请查看其他案例。

date -s “2023-03-25 12:00:00” #首先进行系统时间的修改

hwclock --hctosys #然后用硬件时钟同步系统时钟

timedatectl |awk -F":" ‘/synchronized/{print $2}’ #检查ntp时间同步是否就绪,一般等待20-30分钟左右后会显示yes

kubectl get node #检查是否还会报错

处理方法二:
systemctl status kubelet #首先检查服务是否启动有无报错,如果服务报错请进行排查

netstat -napt | grep 6443 #首选确认端口是否被占用

#如果使用firewalld服务,通过firewall添加相应的端口来解决问题
systemctl enable firewalld|
systemctl start firewalld|
firewall-cmd --permanent --add-port=6443/tcp|
firewall-cmd --permanent --add-port=2379-2380/tcp|
firewall-cmd --permanent --add-port=10250-10255/tcp|
firewall-cmd –reload
#iptables相关规则/做过相关的安全加固等措施禁用了端口

iptables -nL #查看是否存在6443端口相关规则被禁止,如果出现相关的问题,进行相关排查

kubectl get node #检查是否还会报错
在这里插入图片描述

处理方法三:
systemctl status kubelet #首先检查服务是否启动有无报错,如果服务报错进行排查

1、通用方案
#重新声明环境变量
ll /etc/kubernetes/admin.conf #查看文件是否存在,如果不存在执行下面的步骤

echo “export KUBECONFIG=/etc/kubernetes/admin.conf” >> ~/.bash_profile #重新写入环境变量

source ~/.bash_profile #立即生效

2、containerd容器解决方案
systemctl restart kubelet #尝试重启kubelet测试是否可以重新恢复正常

journalctl -xefu kubelet #查看kubelet的日志,里面寻找相应报错

nerdctl -n k8s.io ps #根据iomp版本是用docker或者nerdctl,来查看k8s容器状态
确认相关k8s容器是否正常,如果容器出现异常,进行相关排查

kubectl get node #检查是否还会报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值