<p>I have a couple of Raspberry Pis which I am trying to use to set up a Kubernetes cluster for learning purposes.</p>
<p>I've set up a control-plane on a master node successfully. However, when I try to join a worker node to the cluster I get &quot;timed out waiting for the condition / error uploading crisocket&quot; message.</p>
<p>Here is my join command (as printed by the master node):</p>
<pre><code>kubeadm join 192.168.0.4:6443 --token rbebts.cj9zl03jor3nt09m     --discovery-token-ca-cert-hash sha256:dfd705812b44887726abbdc7e91187c76a407498c1d1b73ebc1aa81c9486848c
</code></pre>
<p>I tried running it with -v9 option and I see that it is successfully fetching cluster configMap using the provided token (which tells me that the token I use is valid and it is not the root cause of the problem):</p>
<pre><code>I0916 13:44:44.248364    9187 round_trippers.go:423] curl -k -v -XGET  -H &quot;Accept: application/json, */*&quot; -H &quot;User-Agent: kubeadm/v1.19.1 (linux/arm) kubernetes/206bcad&quot; -H &quot;Authorization: Bearer rbebts.cj9zl03jor3nt09m&quot; 'https://192.168.0.4:6443/api/v1/namespaces/kube-system/configmaps/kube-proxy?timeout=10s'
I0916 13:44:44.256611    9187 round_trippers.go:443] GET https://192.168.0.4:6443/api/v1/namespaces/kube-system/configmaps/kube-proxy?timeout=10s 200 OK in 8 milliseconds
</code></pre>
<p>However, further I see a lot of authorization failures:</p>
<pre><code>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: {&quot;kind&quot;:&quot;Status&quot;,&quot;apiVersion&quot;:&quot;v1&quot;,&quot;metadata&quot;:{},&quot;status&quot;:&quot;Failure&quot;,&quot;message&quot;:&quot;Unauthorized&quot;,&quot;reason&quot;:&quot;Unauthorized&quot;,&quot;code&quot;:401}
I0916 13:44:53.637836    9187 round_trippers.go:423] curl -k -v -XGET  -H &quot;Accept: application/json, */*&quot; -H &quot;User-Agent: kubeadm/v1.19.1 (linux/arm) kubernetes/206bcad&quot; 'https://192.168.0.4:6443/api/v1/nodes/node-1?timeout=10s'
</code></pre>
<p>Looking at the curl command I see that Bearer token is missing (which could explain 401 responses).</p>
<p>I've just started learning about Kubernetes and I am not sure if I am doing something wrong here and how to resolve this.</p>
<p>Some info about my setup:</p>
<pre><code>kubeadm version: &amp;version.Info{Major:&quot;1&quot;, Minor:&quot;19&quot;, GitVersion:&quot;v1.19.1&quot;, GitCommit:&quot;206bcadf021e76c27513500ca24182692aabd17e&quot;, GitTreeState:&quot;clean&quot;, BuildDate:&quot;2020-09-09T11:24:31Z&quot;, GoVersion:&quot;go1.15&quot;, Compiler:&quot;gc&quot;, Platform:&quot;linux/arm&quot;}


docker 18.09.1

Raspbian GNU/Linux 10 (buster)
</code></pre>

irahavoi
<p>Try to enable <code>--v=10</code> for &quot;join&quot; and observe the API call failures.<br />
this might give a better indication of what is going on.</p>
<p>Also you can execute <a href="https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-reset/" rel="nofollow noreferrer"><code>kubeadm reset</code></a> command.
<code>kubeadm reset</code> is responsible for cleaning up a node local file system from files that were created using the <code>kubeadm init</code> or <code>kubeadm join</code> commands. For control-plane nodes <code>reset</code> also removes the local stacked etcd member of this node from the etcd cluster and also removes this node's information from the kubeadm <code>ClusterStatus</code> object. <code>ClusterStatus</code> is a kubeadm managed Kubernetes API object that holds a list of kube-apiserver endpoints.</p>
<p>Take a look: <a href="https://github.com/kubernetes/kubeadm/issues/1587" rel="nofollow noreferrer">kubeadm-join</a>, <a href="https://github.com/kubernetes/kubeadm/issues/1587" rel="nofollow noreferrer">kubeadm-reset-issue</a>.</p>
