<p>This is my worker node:</p>

<pre><code>root@ivu:~# kubeadm join 10.16.70.174:6443 --token hl36mu.0uptj0rp3x1lfw6n --discovery-token-ca-cert-hash sha256:daac28160d160f938b82b8c720cfc91dd9e6988d743306f3aecb42e4fb114f19 --ignore-preflight-errors=swap
[preflight] Running pre-flight checks.
        [WARNING Swap]: running with swap on is not supported. Please disable swap
        [WARNING FileExisting-crictl]: crictl not found in system path
Suggestion: go get github.com/kubernetes-incubator/cri-tools/cmd/crictl
[discovery] Trying to connect to API Server "10.16.70.174:6443"
[discovery] Created cluster-info discovery client, requesting info from "https://10.16.70.174:6443"
[discovery] Requesting info from "https://10.16.70.174:6443" again to validate TLS against the pinned public key
[discovery] Cluster info signature and contents are valid and TLS certificate validates against pinned roots, will use API Server "10.16.70.174:6443"
[discovery] Successfully established connection with API Server "10.16.70.174:6443"

This node has joined the cluster:
* Certificate signing request was sent to master and a response
  was received.
* The Kubelet was informed of the new secure connection details.

Run 'kubectl get nodes' on the master to see this node join the cluster.
</code></pre>

<p>While checking in master nodes using command <code>kubectl get nodes</code>, I can only able to see master:</p>

<pre><code>ivum01@ivum01-HP-Pro-3330-SFF:~$ kubectl get nodes
NAME                     STATUS    ROLES     AGE       VERSION
ivum01-hp-pro-3330-sff   Ready     master    36m       v1.10.0
</code></pre>

<hr>

<p>For question answer:</p>

<ol>
<li>docker kubelet kubeadm kubectl installed fine</li>
<li><code>kubectl get node</code> can not see the current added node; of cause <code>kubectl get pods --all-namespaces</code> has no result for this node;</li>
<li><code>docker</code> which in current node has no report for <code>kubeadm</code> command(means no k8s images pull, no running container for that)</li>
<li>must import is <code>kubelet</code> not running in work node </li>
<li><p>run <code>kubelet</code> output: </p>

<blockquote>
  <p>Failed to get system container stats for "/user.slice/user-1000.slice/session-1.scope": failed to get cgroup stats for "/user.slice/user-1000.slice/session-1.scope": failed to get container info for "/user.slice/user-1000.slice/session-1.scope": unknown container "/user.slice/user-1000.slice/session-1.scope"</p>
</blockquote>

<p>same as <a href="https://github.com/kubernetes/kubernetes/issues/57080" rel="nofollow noreferrer">this issue said</a></p></li>
<li>tear down and reset cluster(<code>kubeadm reset</code>) and redo that has no problem in my case. </li>
</ol>

<p>I had this problem and it was solved by ensuring that cgroup driver on the <em>worker</em> nodes also were set properly.</p>

<p>check with:</p>

<pre><code>docker info | grep -i cgroup
cat /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
</code></pre>

<p>set it with:</p>

<pre><code>sed -i "s/cgroup-driver=systemd/cgroup-driver=cgroupfs/g" /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
</code></pre>

<p>then restart kubelet service and rejoin the cluster:</p>

<pre><code>systemctl daemon-reload
systemctl restart kubelet
kubeadm reset
kubeadm join ...
</code></pre>

<p>Info from docs: <a href="https://kubernetes.io/docs/tasks/tools/install-kubeadm/#configure-cgroup-driver-used-by-kubelet-on-master-node" rel="nofollow noreferrer">https://kubernetes.io/docs/tasks/tools/install-kubeadm/#configure-cgroup-driver-used-by-kubelet-on-master-node</a></p>
