High available kubernetes cluster? bootkube or kubeadm self-hosting

5/22/2020

I am already running a single master kubernetes cluster now and I am doing research about setting up Highly available Kubernetes clusters. I was thinking of Multi master cluster setup then realized self-hosted cluster might be a better option to go future ready.

Additional challenge is I am doing it in Bare Metal (Meaning, I am going to use cloud vms from these cloud provider, Hetzner, Linode, DigitialOcean and they have CSI driver, cloud controller manager etc., )

In this case, I see 2 options.

  1. Setup with bootkube (https://github.com/kubernetes-sigs/bootkube)
  2. Setup with kubeadm self-hosting. (https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/self-hosting/)

I assume this is still an early topic hence I am not able to find guidance to choose the right approach and then correct documentation. I need this for a scalable production environment where I will start small with at least 8 nodes and can grow faster.

Is bootkube considerable for future readiness? or kubeadm self-hosting is still in alpha stage, am I getting into a risk running a production environment? Any good, documentation, blog, article to go in this direction?

-- Ashok Krishnamoorthy
kubeadm
kubelet
kubernetes
kubernetes-ha

1 Answer

5/27/2020

I use Keepalived + Haproxy and Ansible to deploy HA kubernetes cluster. Now kubeadm supports join control plane command, so it easy to integrate with ansible.

You can also refer: https://github.com/kubernetes-sigs/kubespray.

-- user5771365
Source: StackOverflow