<p>I have a Kubernetes cluster running on 3 servers, a master and 2 minions. I would like to add another minion. Is it possible to add a minion without having to do the complete installation again? So far when searching for guides to do this, I can only find excellent guides on getting the whole cluster up. </p>

<p>For me the difference between a master and a minion are the processes that get started and the orchestration (the master signals the minions that it is done and they can now come up, the minions wait for the signal).  To bring up a minion after things are up would not be any different, except the signaling is already done, so the minion will just come up.  This looked like a reasonable experiment to me, so I thought I'd try it! I am running in the digital ocean vps, using coreos (stable) and cloud-config to bring up fleet + flanneld + k8s. On the master I have:</p>

<ul>
<li>etcd</li>
<li>fleet</li>
<li>flanneld</li>
<li>docker</li>
<li>kube-apiserver</li>
<li>kube-controller-manager</li>
<li>kube-scheduler</li>
<li>kube-register</li>
</ul>

<p>The important process here is kube-register.  I look at its output with :</p>

<pre><code>journalctl -u kube-register
</code></pre>

<p>to see when minions register.  To see all the minions that I currently have :</p>

<pre><code>core@pa1 ~/tmp $ kubectl get minions
NAME              LABELS    STATUS
104.236.214.244   &lt;none&gt;    Ready
104.236.31.77     &lt;none&gt;    Ready
</code></pre>

<p>On the minion for processes I have:</p>

<ul>
<li>fleet</li>
<li>flanneld</li>
<li>docker</li>
<li>kube-proxy</li>
<li>kube-kubelet</li>
</ul>

<p>I think the kube-kubelet is the thing that registers with the master, but I could be wrong.  I do know that the master constantly queries the kubelet for healthz, so it knows if a minion is ready for work.  Anyway, I have a script that creates my cloud config for the master and for the minions.  I just modified that script to 'skip' the master cloud config and just do the minion config.  I run it and here is my minions now:</p>

<pre><code>core@pa1 / $ kubectl get minions
NAME              LABELS    STATUS
104.236.214.244   &lt;none&gt;    Ready
104.236.31.77     &lt;none&gt;    Ready
45.55.164.39      &lt;none&gt;    Ready
</code></pre>

<p>So, long story even longer, yes, it is possible to add a minion to an existing node cluster. I don't know how you are doing discovery, but, whatever method you used to 'introduce' your minion to the master in the first place will work.</p>
