<p>I'm trying to setup Kubernetes locally.</p>

<p>I've just run <code>kubeadm init</code>, and it's provided me with a <code>join</code> command, however it seems I can't join the cluster on the same machine. As running the provided join command results in:</p>

<pre><code>[preflight] Running pre-flight checks.
    [WARNING FileExisting-crictl]: crictl not found in system path
[preflight] Some fatal errors occurred:
    [ERROR Port-10250]: Port 10250 is in use
    [ERROR DirAvailable--etc-kubernetes-manifests]: /etc/kubernetes/manifests is not empty
    [ERROR FileAvailable--etc-kubernetes-pki-ca.crt]: /etc/kubernetes/pki/ca.crt already exists
    [ERROR FileAvailable--etc-kubernetes-kubelet.conf]: /etc/kubernetes/kubelet.conf already exists
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
</code></pre>

<p>Is this possible? If so how?</p>

<p>This is for production purposes, I'm aware of minikube but I'd like to investigate if this is possible without it (less overhead of needing to run a VM also I'd imagine).</p>

<p>I would suggest using <code>kubeadm</code> to provision the master and then remove the taint that is causing master to be unschedulable for normal workloads. Gives you great flexibility for future expansion if you need, and it's a well established tool in kube comuunity.</p>
