# How to create HA cluster after having created a single control-pane with kubeadm?

**URL:** <https://discuss.kubernetes.io/t/how-to-create-ha-cluster-after-having-created-a-single-control-pane-with-kubeadm/8018>\
**Category:** General Discussions\
**Created:** [September 19, 2019, 11:26pm UTC](https://discuss.kubernetes.io/t/how-to-create-ha-cluster-after-having-created-a-single-control-pane-with-kubeadm/8018 "2019-09-19T23:26:47Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![eldorico](https://avatars.discourse-cdn.com/v4/letter/e/3be4f8/32.png) [@eldorico](https://discuss.kubernetes.io/u/eldorico)\
**Post date:** [September 19, 2019, 11:26pm UTC](https://discuss.kubernetes.io/t/how-to-create-ha-cluster-after-having-created-a-single-control-pane-with-kubeadm/8018/1 "2019-09-19T23:26:47Z")

</div>

Hi everyone!

I have installed a kubernetes cluster with one control pane (1 etcd / master) and 3 worker nodes with the kubeadm procedure: [Creating a single control-plane cluster with kubeadm - Kubernetes](https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/)

```
   root@pi0:~# kubectl get nodes          
NAME STATUS ROLES AGE VERSION 
pi0 Ready master 19d v1.15.3 
pi1 Ready <none> 12d v1.15.3 
pi2 Ready <none> 19d v1.15.3 
pi3 Ready <none> 19d v1.15.3 
root@pi0:~#              

```

Would you have some procedure to convert my cluster to a HA cluster? I hope to move the kube api to a haproxy load balancer, then create other masters, but I’m overwhelmed by the documentation and dont know where to start without breaking my cluster.

Does somebody could guide me to a correct procedure?

Thanks in advance!  
Eldorico

---

<div class="post-metadata">

**Author:** ![riking](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.kubernetes.io/riking/32/3661_2.png) [@riking](https://discuss.kubernetes.io/u/riking)\
**Post date:** [September 20, 2019, 4:58am UTC](https://discuss.kubernetes.io/t/how-to-create-ha-cluster-after-having-created-a-single-control-pane-with-kubeadm/8018/2 "2019-09-20T04:58:26Z")

</div>

-\> #general-discussions

Does simply running `kubeadm join` in control plane node mode - with all the nodes still believing there’s a single master for now - not work?

This (single-master to multi-master upgrade) also feels like something that should be covered in e2e tests. (sig-cluster-lifecycle)

---

<div class="post-metadata">

**Author:** ![eldorico](https://avatars.discourse-cdn.com/v4/letter/e/3be4f8/32.png) [@eldorico](https://discuss.kubernetes.io/u/eldorico)\
**Post date:** [September 20, 2019, 1:25pm UTC](https://discuss.kubernetes.io/t/how-to-create-ha-cluster-after-having-created-a-single-control-pane-with-kubeadm/8018/3 "2019-09-20T13:25:45Z")

</div>

Thanks I will try it later 🙂 But how / where would I define the new IP address for the kube api?

I would like to use a load balancer like haproxy that serves the api in frontend, and using all master nodes as backend.
