Development of a cloud virtualization system for VPS hosting and public cloud platform.
Objective:
The project aimed to develop a cloud virtualization system for creating VPS hosting and a public cloud platform.
Implementation:
Given the large number of servers, the management of OpenNebula was completely shifted into Kubernetes. This transition was facilitated by the development of the kube-opennebula project, which included fully automatic configuration of OpenNebula with all users, images, and data stores.
A highly-customizable script was used for node configuration, executed by Kubernetes on each node. The storage system initially utilized LINSTOR SDS and was later transitioned to HPE 3par. An extensive API reference was prepared for integration with billing systems and the client’s system, covering various scenarios. The project also involved the development of a system for automatic preparation and unification of images. Several storage drivers like linstor_un and 3par were developed, along with a monitoring system and a multitude of plugins.
Outcomes:
The project successfully enabled the maintenance of multiple environments, such as production, devel and staging. The similarity for enviroments allowed for seamless development and integration of new features, significantly enhancing the efficiency and scalability of the cloud infrastructure.
Screenshots:
Additional links: