title: Adding node to kubernetes cluster gives failed to load Kubelet config file /var/lib/kubelet/config.yaml and no networks found in /etc/cni/net.d
body: <p>I have a two node k8s cluster working.  I added another node to the cluster and the <code>sudo kubeadm join ...</code> command reported that the node had joined the cluster.  The new node is stuck in the NotReady state:</p>
  <pre><code>kubectl get nodes
  NAME               STATUS     ROLES    AGE    VERSION
  msi-ubuntu18       NotReady   &lt;none&gt;   29m    v1.19.0
  tv                 Ready      master   131d   v1.18.6
  ubuntu-18-extssd   Ready      &lt;none&gt;   131d   v1.17.4
  </code></pre>
  <p>The <code>journalctl -u kubelet</code> shows this error:</p>
  <pre><code>Started kubelet: The Kubernetes Node Agent.
    22039 server.go:198] failed to load Kubelet config file /var/lib/kubelet/config.yaml, error failed to read kubelet config file &quot;/var/l...
  </code></pre>
  <p>But the file /var/lib/kubelet/config.yaml exists and looks OK.</p>
  <p>The <code>sudo systemctl status kubelet</code> shows a different error:</p>
  <pre><code>kubelet.go:2103] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plu
  cni.go:239] Unable to update cni config: no networks found in /etc/cni/net.d
  </code></pre>
  <p>And there is no /etc/cni/ directory on the new node.  (The existing node has /etc/cni/net.d/ with calico files in it.)  If I run</p>
  <p><code>kubectl apply -f https://docs.projectcalico.org/v3.11/manifests/calico.yaml</code></p>
  <p>on the master again it doesn't solve the problem.  There is still no /etc/cni/ dir on the new node.</p>
  <p>I must have missed a step when creating the new node.  How do I get the /etc/cni/ directory on the new node?  It's also puzzling that the <code>kubeadm join ...</code> command indicates success when the new node is stuck in NotReady.</p>