Is it possible to provision onpremise hci cluster in my local datacenter using hosted frontend on the cloud(aws, google etc)?

hello everyone, if i host opennebula frontend on the cloud such as aws, google or digitalocean, then use it to provision hci cluster on my local datacenter is it possible?

we are an startup that provide api services related to AI and we have one public ip and domain name here and few servers, which we plan to use one for haproxy to able to route different subdomains to services over http and tcp and few other stuff for internal purposes, and we want to able to utilize multi-cloud as well for high availability, so we were thinking of setting up hyper-converged infra which consist of our local datacenters + aws and then setup kubernetes for all our api services.

from your documentation regarding to use oneprovision to provision onpremise cluster, it seems to be not clear to us that is it only able to provision local setup only or as long as the frontend able to communicate to the host using ip/fqdn given that the host is reachable and network rule is allowed? and for hci cluster say If I able to setup onpremise + aws, if any node fail it will fail over to any node that is available to run the vm regardless if it is onpremise or cloud? and also does the provision support rockylinux also instead of just ubuntu?

thanks very much before hand

Hi @hengly :smiley:

I’m glad to hear that you’re thinking about using OpenNebula!

if i host opennebula frontend on the cloud such as aws, google or digitalocean, then use it to provision hci cluster on my local datacenter is it possible?

Sure! This requires some tunning to work in AWS or other cloud providers (configuring security gruoups, open ports and so on) but it’s totally functional. As far I know, there are so many users that uses OpenNebula inside a VM in this way since is very convenient way to, for example, restore the OpenNebula frontend from a crash by restoring the VM.

from your documentation regarding to use oneprovision to provision onpremise cluster, it seems to be not clear to us that is it only able to provision local setup only or as long as the frontend able to communicate to the host using ip/fqdn given that the host is reachable and network rule is allowed?

Oneprovision is used to add resources in the public cloud, if you want to add on-premises resources (such a host or datastore), you can add them add to OpenNebula directly if the VM where OpenNebula’s Frontend is deployed has network access to your local datacenter.

and for hci cluster say If I able to setup onpremise + aws, if any node fail it will fail over to any node that is available to run the vm regardless if it is onpremise or cloud?

Absolutely, that is exactly the model behind OpenNebula and hybrid cloud. OpenNebula manages resources in the same way and doesn’t differentiate between local resources and public cloud resources.

and also does the provision support rockylinux also instead of just ubuntu?

Unfortunately, OpenNebula doesn’t support Rocky Linux, if you mean the OS where OpenNebula is installed. If you’re talking about manage Rocky Linux VMs instead, OpenNebula has out-of-the-box Rocky Linux images available in the OpenNebula Public Marketplace. OpenNebula also provides support for contextualization packages in Rocky Linux VMs.

A complete list of supported platforms is available here.

hello thanks for the reply.

currently I already setup ansible and terraform to deploy frontend into vm in google cloud and next is to test on adding hosts with ceph datastore in my onpremise datacenter and on aws.

so based on your replies and suggestions I can just add hosts in my onpremise datacenter directly, use ceph datastore to turn it into hyper-converged, and same could be done in public cloud as well as long as we have working ceph cluster and all host is using ceph then this will achieve hyper-converged and thus fail over to whatever storage pool being set to right?

Hi @hengly

Cloud resources have some limitations in terms of datastore types supported, so you can only use the local system datastore on cloud/edge hosts, transferring the images through SSH. Besides that, as far I know, you design can be achieved with OpenNebula. Please take a look to this section of the documentation for more information.