0

0

K3s server 重启后 agent 全部掉线但日志没明显错误

舞姬之光

舞姬之光

发布时间:2026-01-17 23:23:02

|

829人浏览过

|

来源于php中文网

原创

K3s server重启后agent掉线主因是信任状态失效或连接参数不匹配,需依次检查server地址与端口、token有效性、证书信任链完整性及节点名称唯一性。

k3s server 重启后 agent 全部掉线但日志没明显错误

K3s server 重启后 agent 全部掉线但日志无明显错误,通常不是证书或网络连通性问题,而是 agent 与 server 之间信任状态失效或连接参数不匹配导致的“静默失联”。重点排查 server 地址、token 有效性、证书信任链和 agent 启动时的连接行为。

检查 agent 是否仍在使用旧的 server 地址或端口

K3s server 重启后若监听地址、端口或 TLS 终止方式(如从 HTTPS 切到 HTTP)有变化,agent 会持续尝试旧配置并静默失败。agent 日志里可能只显示“Failed to connect to”或反复重试,但不报错细节。

  • 在任一 agent 节点上执行:sudo cat /var/lib/rancher/k3s/agent/etc/k3s-agent-env,确认 K3S_URLK3S_TOKEN 是否仍指向当前 server 的正确地址(如 https://192.168.1.10:6443
  • 检查 server 是否实际监听了该端口:sudo ss -tlnp | grep :6443(注意:K3s 默认用 6443,非 8443)
  • 若 server 启用了 --tls-san 或绑定了特定 IP,请确保 agent 连接的地址在 SAN 列表中,否则 TLS 握手会失败且日志可能只显示 “x509: certificate is valid for ... not ...”

确认 agent 使用的 token 是否仍然有效

K3s server 重启不会自动刷新 token,但若 server 是全新初始化(如误删 /var/lib/rancher/k3s/server),旧 token 就彻底失效。agent 持有已过期或不存在的 token 时,server 会直接拒绝连接,且默认不记录详细拒绝原因。

京点点
京点点

京东AIGC内容生成平台

下载
  • 在 server 上查看当前有效 token:sudo cat /var/lib/rancher/k3s/server/node-token
  • 对比 agent 的 K3S_TOKEN 值是否一致;若不一致,需用新 token 重启 agent:sudo k3s agent --server https://SERVER_IP:6443 --token NEW_TOKEN
  • 注意:token 文件仅在 server 首次启动时生成,重启不会覆盖;但如果 server 数据目录被清空或重装,token 就变了

验证 agent 证书是否被 server 认可

K3s agent 首次注册时会生成证书并由 server 签发,后续复用。server 重启后若 CA 证书或私钥丢失(如 /var/lib/rancher/k3s/server/tls 被删),就无法校验 agent 证书,导致连接被拒。

  • 检查 server 证书目录完整性:ls -l /var/lib/rancher/k3s/server/tls/{client-ca.crt,server-ca.crt,server-ca.key}
  • 若缺失关键文件(尤其是 server-ca.key),server 无法签发或校验证书,agent 会卡在 TLS handshake 阶段。此时需从备份恢复,或重新初始化 server 并让 agent 重新入网
  • agent 端可临时加 --debug 启动,观察日志中是否有 x509 相关报错,定位是证书不可信还是握手超时

检查 agent 是否因节点名称冲突被 server 拒绝

K3s server 重启后会加载已有 node 状态。如果 agent 启动时使用的 --node-name(或主机名)与之前注册的节点名重复,且旧节点状态未清理,server 可能拒绝新连接以避免冲突。

  • 在 server 上运行:kubectl get nodes,确认掉线节点是否还显示为 NotReady 或残留状态
  • 若存在同名旧节点,手动删除:kubectl delete node node-name,再重启对应 agent
  • 也可在 agent 启动时显式指定唯一名称:--node-name $(hostname)-$(date +%s),避免命名冲突

相关专题

更多
登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

6093

2023.09.14

登录token无效怎么办
登录token无效怎么办

登录token无效的解决办法有检查Token是否过期、检查Token是否正确、检查Token是否被篡改、检查Token是否与用户匹配、清除缓存或Cookie、检查网络连接和服务器状态、重新登录或请求新的Token、联系技术支持或开发人员等。本专题为大家提供token相关的文章、下载、课程内容,供大家免费下载体验。

806

2023.09.14

token怎么获取
token怎么获取

获取token值的方法:1、小程序调用“wx.login()”获取 临时登录凭证code,并回传到开发者服务器;2、开发者服务器以code换取,用户唯一标识openid和会话密钥“session_key”。想了解更详细的内容,可以阅读本专题下面的文章。

1062

2023.12.21

token什么意思
token什么意思

token是一种用于表示用户权限、记录交易信息、支付虚拟货币的数字货币。可以用来在特定的网络上进行交易,用来购买或出售特定的虚拟货币,也可以用来支付特定的服务费用。想了解更多token什么意思的相关内容可以访问本专题下面的文章。

1241

2024.03.01

数据库Delete用法
数据库Delete用法

数据库Delete用法:1、删除单条记录;2、删除多条记录;3、删除所有记录;4、删除特定条件的记录。更多关于数据库Delete的内容,大家可以访问下面的文章。

269

2023.11.13

drop和delete的区别
drop和delete的区别

drop和delete的区别:1、功能与用途;2、操作对象;3、可逆性;4、空间释放;5、执行速度与效率;6、与其他命令的交互;7、影响的持久性;8、语法和执行;9、触发器与约束;10、事务处理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

209

2023.12.29

http500解决方法
http500解决方法

http500解决方法有检查服务器日志、检查代码错误、检查服务器配置、检查文件和目录权限、检查资源不足、更新软件版本、重启服务器或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

353

2023.11.09

http请求415错误怎么解决
http请求415错误怎么解决

解决方法:1、检查请求头中的Content-Type;2、检查请求体中的数据格式;3、使用适当的编码格式;4、使用适当的请求方法;5、检查服务器端的支持情况。更多http请求415错误怎么解决的相关内容,可以阅读下面的文章。

409

2023.11.14

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

43

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
HTML5/CSS3/JavaScript/ES6入门课程
HTML5/CSS3/JavaScript/ES6入门课程

共102课时 | 6.7万人学习

前端基础到实战(HTML5+CSS3+ES6+NPM)
前端基础到实战(HTML5+CSS3+ES6+NPM)

共162课时 | 18.9万人学习

第二十二期_前端开发
第二十二期_前端开发

共119课时 | 12.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号