<p>I set up Kubernetes on CoreOS on bare metal using the <a href="https://coreos.com/kubernetes/docs/latest/kubernetes-on-generic-platforms.html" rel="noreferrer">generic install scripts</a>. It's running the current stable release, 1298.6.0, with Kubernetes version 1.5.4.</p>

<p>We'd like to have a highly available master setup, but we don't have enough hardware at this time to dedicate three servers to serving only as Kubernetes masters, so I would like to be able to allow user pods to be scheduled on the Kubernetes master. I set --register-schedulable=true in /etc/systemd/system/kubelet.service but it still showed up as SchedulingDisabled.</p>

<p>I tried to add settings for including the node as a worker, including adding worker TLS certs to /etc/kubernetes/ssl, adding those settings to kubelet.service, adding an /etc/kubernetes/worker-kubeconfig.yaml that pointed to those certs, and added that information to the /etc/kubernetes/manifests/kube-proxy.yaml. I used my existing nodes as a template for what to add. This registered another node under the master's hostname and then both it and the original master node showed up as NotReady,SchedulingDisabled.</p>

<p><a href="https://stackoverflow.com/questions/37873164/are-there-issues-with-running-user-pods-on-a-kubernetes-master-node">This question</a> indicates that scheduling pods on the master node should be possible, but there is barely anything else that I can find on the subject.</p>

<p>If you are using Kubernetes 1.7 and above:</p>

<pre><code>kubectl taint node mymasternode node-role.kubernetes.io/master:NoSchedule-
</code></pre>
