<p>I init k8s cluster master with kubeadm, but I felt very confused. The version of kubeadm:</p>

<pre><code># ./kubeadm version
kubeadm version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.1", GitCommit:"82450d03cb057bab0950214ef122b67c83fb11df", GitTreeState:"clean", BuildDate:"2016-12-14T00:52:01Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
</code></pre>

<p>When I run command with <code>kubeadm init</code>, told me must start kubelet.service:</p>

<pre><code># ./kubeadm init
Running pre-flight checks
preflight check errors:
    kubelet service is not active, please run 'systemctl start kubelet.service'
</code></pre>

<p>And then When I retry this command after <code>systemctl restart kubelet.service</code>, told me <code>Port 10250 in use</code>:</p>

<pre><code># systemctl restart kubelet.service
# ./kubeadm init
Running pre-flight checks
preflight check errors:
    Port 10250 is in use
    /var/lib/kubelet is not empty
</code></pre>

<p>Is there any way to run kubelet with no port OR can I change the port of kubelet?</p>

<p>The reason that it mentions the port is in use is because you already ran <code>kubeadm init</code> once and it has already changed a number of things. </p>

<p>run <code>kubeadm reset</code> first to undo all of the changes from the first time you ran it.</p>

<p>Then run <code>systemctl restart kubelet</code></p>

<p>Finally, when you run <code>kubeadm init</code> you should no longer get the error.</p>

<p>Any time kubeadm does something that's not right or otherwise fails, it needs to be reset to work properly again.</p>
