On prem cluster install (dev or prod) - project purely on kubeadm + popular helm charts

Few years back we got in love with kubeadm (way before it was “GA”).
We noticed kubeadm still requires some preparations which could be automated (from installing ipvs kernel modules to optionally deploying the docker engine, and more).
We focused to on-prem deployments, with vms from either vsphere or virtualbox&vagrant or physical. This ansible project accepts the actual kubeadm formatted yamls, so one can use configuration interchangeably (for this project or for pure kubeadm).
And once we finished that, we said, what about a post-cluster deploy step, where we optionally allow install of what some consider the usual/minimum required addons, using their official helm charts:

  • networking (fluentd/calico/etc)
  • nginx ingress controller
  • dashboard
  • heapster
  • prometheus operator
  • kured
    (all easily plugable via the addons.yaml).

While kops and others do support now kubeadm, this is a very light, kubeadm only project.
It fully supports ha for masters, structures the cluster in groups like: “master nodes”, “infra nodes” and “compute nodes”.
It can be used for either one machine deployment, or master HA, production like installations. It detects it dynamically and adjusts.
HA deployments support either loadbalancers(LB) or floating VIPs (using keepalived in docker or OS package).

https://github.com/ReSearhITEng/kubeadm-playbook/

For any questions, get in touch on slack channels.
Feedbacks and PRs are welcome :slight_smile:

1 Like