K8S集群节点加入报错:error execution phase preflight: couldn‘t validate the identity of the API Server: could

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。


场景描述

搭建K8S集群,将节点加入集群时报错
在需要加入集群的节点执行命令如下

sudo kubeadm join 192.168.193.128:6443 --token 1cd07a.h2z8wrgngllonwjt \
        --discovery-token-ca-cert-hash sha256:0cc0df38925079b35a0e45e0c43f50f62dc7b3aad2e8414177a18f613c44c9fb

报错内容

执行后报错,内容如下

error execution phase preflight: couldn't validate the identity of the API Server: could not find a JWS signature in the cluster-info ConfigMap for token ID "1cd07a"
To see the stack trace of this error execute with --v=5 or higher

截图
在这里插入图片描述

解决方法(逐步排查)

1. 确保防火墙关闭

查看命令如下

sudo ufw status

以及命令

systemctl status ufw

确保两条命令查看到的结果都是inactive
如果有一个结果是未关闭则执行以下命令关闭
先停止使用

sudo stop ufw

再执行禁用

systemctl ufw disable

再次执行加入节点命令,如未解决,请看下一步

2. 确保token未过期

主节点初始化完成后生成的token命令,其中token是有时效性的,24小时过期,即使没过期,也可以重新生成新的token进行尝试
以下为两个关于生成新token的命令,二选一即可

2.1 重新生成包含新token的完整命令

在master节点执行以下命令生成包含新token的完整命令,如下(如果不是root权限下,一定要加sudo前缀,不然会报错哦)
在使用远程连接的时候可以鼠标左键选中后即可将生成的命令复制,鼠标右键即可粘贴

sudo kubeadm token create --print-join-command

在这里插入图片描述
然后再到报错的工作节点执行该命令将其加入集群即可
成功界面如下
在这里插入图片描述

2.2 重新生成新的token

主节点中执行命令生成新的token

kubeadm token generate

在这里插入图片描述
然后再去报错的工作节点将命令中的token替换后执行即可

sudo kubeadm join 192.168.193.128:6443 --token 413rdl.e8l6081wqcs9n32f \
        --discovery-token-ca-cert-hash sha256:0cc0df38925079b35a0e45e0c43f50f62dc7b3aad2e8414177a18f613c44c9fb

以上都没解决,请继续百度解决方法,不要放弃


感谢阅读,祝君暴富!

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寒山李白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值