Kubernetes 使用kubeadm join命令加入现有群集时出现未经授权的错误

Kubernetes 使用kubeadm join命令加入现有群集时出现未经授权的错误,kubernetes,raspbian,kubeadm,Kubernetes,Raspbian,Kubeadm,我有两个树莓Pis,我正试图用它建立一个Kubernetes集群,用于学习目的 我已成功地在主节点上设置了控制平面。但是,当我尝试将工作节点加入集群时,会收到“超时等待条件/错误上载crisocket”消息 这是我的join命令(由主节点打印): 我尝试使用-v9选项运行它,发现它正在使用提供的令牌成功获取集群configMap(这告诉我我使用的令牌有效,而不是问题的根本原因): 但是,我还看到许多授权失败: I0916 13:44:53.146479 9187 round_tripper

我有两个树莓Pis,我正试图用它建立一个Kubernetes集群,用于学习目的

我已成功地在主节点上设置了控制平面。但是,当我尝试将工作节点加入集群时,会收到“超时等待条件/错误上载crisocket”消息

这是我的join命令(由主节点打印):

我尝试使用-v9选项运行它,发现它正在使用提供的令牌成功获取集群configMap(这告诉我我使用的令牌有效,而不是问题的根本原因):

但是,我还看到许多授权失败:

I0916 13:44:53.146479    9187 round_trippers.go:443] GET https://192.168.0.4:6443/api/v1/nodes/node-1?timeout=10s 401 Unauthorized in 8 milliseconds
I0916 13:44:53.146559    9187 round_trippers.go:449] Response Headers:
I0916 13:44:53.146618    9187 round_trippers.go:452]     Cache-Control: no-cache, private
I0916 13:44:53.146675    9187 round_trippers.go:452]     Content-Type: application/json
I0916 13:44:53.146729    9187 round_trippers.go:452]     Content-Length: 129
I0916 13:44:53.146782    9187 round_trippers.go:452]     Date: Wed, 16 Sep 2020 17:44:53 GMT
I0916 13:44:53.147654    9187 request.go:1097] Response Body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"Unauthorized","reason":"Unauthorized","code":401}
I0916 13:44:53.637836    9187 round_trippers.go:423] curl -k -v -XGET  -H "Accept: application/json, */*" -H "User-Agent: kubeadm/v1.19.1 (linux/arm) kubernetes/206bcad" 'https://192.168.0.4:6443/api/v1/nodes/node-1?timeout=10s'
查看curl命令,我发现缺少承载令牌(这可以解释401个响应)

我刚刚开始了解库伯内特斯,我不确定我是否做错了什么,以及如何解决这个问题

有关我的设置的一些信息:

kubeadm version: &version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.1", GitCommit:"206bcadf021e76c27513500ca24182692aabd17e", GitTreeState:"clean", BuildDate:"2020-09-09T11:24:31Z", GoVersion:"go1.15", Compiler:"gc", Platform:"linux/arm"}


docker 18.09.1

Raspbian GNU/Linux 10 (buster)
尝试为“join”启用
--v=10
,并观察API调用失败情况。
这可能会更好地说明发生了什么

您还可以执行命令。
kubeadm reset
负责从使用
kubeadm init
kubeadm join
命令创建的文件中清除节点本地文件系统。对于控制平面节点,
reset
还从etcd集群中删除此节点的本地堆叠etcd成员,并从kubeadm
ClusterStatus
对象中删除此节点的信息
ClusterStatus
是一个kubeadm管理的Kubernetes API对象,它包含kube apiserver端点列表


看看:,。

非常感谢@Malgorzata!在工作节点上运行kubeadm reset解决了我的问题。在那之后,我能够将它加入集群(出于某种原因,我认为kubeadm reset只适用于主节点)。我仍然不知道我的问题的根本原因是什么,但现在已经解决了。非常感谢您抽出时间!
I0916 13:44:53.146479    9187 round_trippers.go:443] GET https://192.168.0.4:6443/api/v1/nodes/node-1?timeout=10s 401 Unauthorized in 8 milliseconds
I0916 13:44:53.146559    9187 round_trippers.go:449] Response Headers:
I0916 13:44:53.146618    9187 round_trippers.go:452]     Cache-Control: no-cache, private
I0916 13:44:53.146675    9187 round_trippers.go:452]     Content-Type: application/json
I0916 13:44:53.146729    9187 round_trippers.go:452]     Content-Length: 129
I0916 13:44:53.146782    9187 round_trippers.go:452]     Date: Wed, 16 Sep 2020 17:44:53 GMT
I0916 13:44:53.147654    9187 request.go:1097] Response Body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"Unauthorized","reason":"Unauthorized","code":401}
I0916 13:44:53.637836    9187 round_trippers.go:423] curl -k -v -XGET  -H "Accept: application/json, */*" -H "User-Agent: kubeadm/v1.19.1 (linux/arm) kubernetes/206bcad" 'https://192.168.0.4:6443/api/v1/nodes/node-1?timeout=10s'
kubeadm version: &version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.1", GitCommit:"206bcadf021e76c27513500ca24182692aabd17e", GitTreeState:"clean", BuildDate:"2020-09-09T11:24:31Z", GoVersion:"go1.15", Compiler:"gc", Platform:"linux/arm"}


docker 18.09.1

Raspbian GNU/Linux 10 (buster)