webootkube / proposals

wbk proposals
9 stars 1 forks source link

Adding support for cluster API #1

Open mbovo opened 4 years ago

mbovo commented 4 years ago

As per https://github.com/kubernetes-sigs/cluster-api supporting cluster API will bring ability to boostrap clusters directly from wbk I guess basic tools needed should be kubectl and kubeadm

fntlnz commented 4 years ago

I like this idea ! Definitely something we need to expand ! Feel free to add more details so that we can follow up when there’s a plan to implement this.

fntlnz commented 4 years ago

@prometherion on Twitter was mentioning that to support this we also need systemd - adding a note about it here so that we remember when we design

fntlnz commented 4 years ago

We need to explore if systemd is really needed and for what exact reasons so we can decide if we want to include it in the init process or not. It comes with pros and cons to evaluate as anything

prometherion commented 4 years ago

As pointed privately by @mbovo, kubeadm is supporting systemd and OpenRC as well to spin up the requested services according to the selected node role.

The reason for init services resides on keeping primary services up and running, as providing effective changes reload. Actually, I would consider kubeadm the most mature Kubernetes tool for clusters bootstrap, and it seems Cluster API is tightly coupled with it (pointing to KubeadmConfig CRD).

kubeadm is playing an effective role during Kubernetes cluster creation by Cluster API since each Machine is getting a bootstrap configuration reference as explained here.

If the aim of the project is to build a minimal distribution (tl;dr; don't implement systemd or any other init system), it means we have to implement a proper WeBootKube bootstrap strategy for Cluster API.

fntlnz commented 4 years ago

@prometherion do you have any resources around implementing a bootstrap strategy I can look at ? I think it’s worth exploring both options pros and cons. At the moment the init service we have is just a go program. I’m not very proud of it, but ill try to make a repo here to show you the code so that we have some scaffolding. Then, I’d love your help in understanding where to go from there.

prometherion commented 4 years ago

Sure @fntlnz , I'm happy to help with this: still figuring to find out a spare time slot to investigate it :sweat_smile: