OneProvision is the tool that allows you to quickly deploy and configure Edge Clusters into your OpenNebula cloud. You can create them at the edge using your own nodes or resources from public infrastructure providers, use that additional compute capacity on-demand, and then delete them when you don’t need those resources anymore. In order to manage this process more easily, you can now use FireEdge – the new graphical user interface that integrates providers and provisions.
In our latest release, OpenNebula EE 6.2.1, we have implemented a new method to easily add more resources to an existing Edge Cluster. With this new feature, you can add more hosts and more IP addresses to the provision. In this post, we will show you how to use this feature from both the CLI and FireEdge.
First of all, we assume that you have already created the provider and the provision. If you need to, you can check this to find out how to do it. Let’s assume you have already deployed an Edge Cluster in Equinix Metal with two hosts:
|$ oneprovision list ID NAME CLUSTERS HOSTS NETWORKS DATASTORES STAT 1 equinix-cluster 1 2 1 0 RUNNING
Having the Edge Cluster in RUNNING state means that all the resources are correctly configured and ready to be used by OpenNebula.
We are going to start by adding more IP addresses to the provision. Each provision has a public network that is used to give VMs connectivity, so with the command oneprovision ip add you can add the number of IPs you want to have at the same time. Let’s add two more IPs to the provision:
|$ oneprovision ip add 1 –amount 2
This will automatically request the IP from the remote provider and add one more address range to the public virtual network. The operation is really straightforward and you don’t need to wait long to have the IP available to use.
Let’s now add more hosts. This operation will take a bit longer because the hosts need to:
- Be provisioned in the remote provider, which means they need to connect to it and then deploy the resources. This is done using Terraform behind the scenes.
- Be added into OpenNebula host pool.
- Be configured using Ansible in order to install all the OpenNebula software and distribute the required SSH keys so OpenNebula can connect to them without any issues.
The command to add more hosts to the provision is very similar to the one used to add more IPs:
|$ oneprovision host add 1 –amount 2
It is important to note that you can use all the parameters that are available when deploying a provision from zero, for example, you can set the debug level.
With these two new commands, you achieve full elasticity with Edge Clusters because you can easily add more resources to them or delete resources from them. This last feature was already present in the 6.2.0 release.