(kubernetes) Add 'xcp-ng' provider to clusterapi
-
Kubernetes, being a declarative approach to infrastructure, has something called 'clusterapi' which allows a kubernetes cluster to be defined as 'yaml'. The yaml file is applied, and after awhile you have the defined kubernetes cluster. Later, the yaml file could be updated to add another node, or change the version of kubernetes, and again, after applying the yaml the existing kubernetes cluster would be updated adding a node or updating the nodes with the specified kubernetes version.
Kubernetes generally has multiple nodes, vms, and so this process requires integration into the vm server environments, this is accomplished through 'providers'.
Perhaps we could get on the roadmap to add an 'xcp-ng' provider:
https://cluster-api.sigs.k8s.io/reference/providers.htmlUsing this method allows the management of the lifecycle of kubernetes clusters without having to drop out of the world of kubernetes to use a tool such as ansible or terraform.
I noticed there was a clusterapi provider for xenserver for the apache cloudstack project, maybe all the code is there to support xcp-ng and could be pulled out to create an xcp-ng provider not dependent on the apache cloudstack project? https://github.com/kubernetes-sigs/cluster-api-provider-cloudstack
Additionally, having 'xcp-ng' on that list would gain attention as people will look at the list of supported providers and then go google the projects.
-
Hi,
If someone would build this, it should use Xen Orchestra API, as the central orchestrator, that would make most sense to do it that way
But yes, if someone want to start working on this, we'll be happy to assist on the API part