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

问题描述

在使用kubeadmjoin命令,想要将Worker节点加入到K8S集群,命令如下:

kubeadm join cluster-endpoint:6443 --token x5g4uy.wpjjdbgra92s25pp \
--discovery-token-ca-cert-hash sha256:6255797916eaee52bf9dda9429db616fcd828436708345a308f4b917d3457a22

但是,执行过程中出现了卡顿报错现象,等待数分钟后,控制台报错,内容如下:

error execution phase preflight: couldn't validate the identity of the API Server: 
abort connecting to API servers after timeout of 5m0s

通过分析得知,join命令的本身是没有问题的,根本原因:Token信息过期

解决方式

在Master节点使用kubeadm生成新的token信息

# 1、在Worker节点使用该命令生成token值:3400h7.kckjsl7fur8h80k6
kubeadm token generate

# 2、通过token值,生成join命令:
kubeadm token create 3400h7.kckjsl7fur8h80k6 --print-join-command --ttl=0

# 3、Worker节点执行主节点生成的join命令
kubeadm join cluster-endpoint:6443 --token 3400h7.kckjsl7fur8h80k6     --discovery-token-ca-cert-hash sha256:99e5f84d98ab59851b009b9246af0fa5d2eba991fa57f690778bd84dd292bc73

补充

还有一种更简洁的命令直接生成join命令,如下:

# 如果token过期,可以使用该命令重新生成join命令
kubeadm token create --print-join-command

你可能感兴趣的:(kubernetes,容器,云原生,k8s)