unikorn-cloud / kubernetes

Cluster API driven PaaS Orchestrator
Apache License 2.0
3 stars 7 forks source link

Add support for Kubermatic machine-controller Cluster API implementation #143

Open evangineer opened 3 weeks ago

evangineer commented 3 weeks ago

Have spoken to @yankcrime last week about adding support for another Cluster API Provider and after some additional thought and research have decided against CAPH for now and am interested in looking at adding support for Kubermatic machine-controller instead.

I am happy to work on this myself, just wanted to let you know what I'm thinking and will be needing your advice and support to get it done.

The following is excerpted from the relevant page:


Kubermatic machine-controller is an open-source Cluster API implementation that takes care of:

Kubermatic machine-controller allows you define all worker nodes as Kubernetes object, more precisely, as MachineDeployments.

Kubermatic machine-controller works only with the following providers:

spjmurray commented 3 weeks ago

I am a) extatic for the interest b) more extatic for the possibility for a broader range of providers. Let me look into it a bit further, there's sadly more to life than just provisioning. I can guarantee there will be needs around billing etc etc that need consideration. Maybe Friday I can have a look. Tomorrow is all about dressing up and drinking too much!

evangineer commented 1 week ago

Hope you had a happy Halloween @spjmurray!

I'm curious about the billing stuff and I'm still learning about Kubernetes and OpenStack.

Is this a Ceilometer and/or CloudKitty thing or something else?

I've looked a little bit into custom pricing for OpenCost, so I presume that there's a similar feature in whatever Unikorn/nscale is using?

spjmurray commented 4 days ago

To be honest, we already have audit logs to define cluster creation/deletion, so it's not that big of a problem imo. Go for it I say!

spjmurray commented 4 days ago

Bit more context... The region that you are provisioning should define the provider type. After that it's just selecting the right cluster helm cluster implementation for the region ostensibly.