From CloudStack to KubeVirt: The Journey to a New Cloud

From CloudStack to KubeVirt: The Journey to a New Cloud #

Emil Karlsson, 2024-04-14

Introduction #

Ever since the inception of kthcloud, we have been using CloudStack as our cloud management platform. While CloudStack has served us well, it has also had its limitations. As we have grown, we have found that CloudStack might not be the best fit for our needs due to its complexity and lack of flexibility. Late last year, we started looking into alternatives and decided to move to Kubernetes, with KubeVirt as the virtualization layer. This blog post will take you through our journey from CloudStack to KubeVirt.

Why KubeVirt? #

KubeVirt is a virtualization add-on for Kubernetes that allows you to run virtual machines alongside containers in the same cluster. This means that we can run our VMs and containers on the same platform, simplifying our infrastructure and making it easier to manage.

kubevirt overview

Our solution #

When moving away from CloudStack it was imperative that we found a solution that was easy to manage and maintain. Since KubeVirt is built on top of Kubernetes, it meant we could harness any platform that support Kubernetes. We decided to use Rancher to manage our Kubernetes clusters, as it provides a user-friendly interface and simplifies the management of our clusters. While Rancher offer tools for creating and managing the entire life cycle of a Kubernetes cluster, it left us with one last crux: How would the cluster hosting Rancher be created? We opted for the light weight route and chose to use K3s, a Kubernetes distribution that is easy to install and manage. This means we were able to spin up a K3s cluster in no time and install Rancher on top of it. We called this cluster the sys-cluster. The sys-cluster thus forms the foundation for all our other clusters that Rancher will manage, which we call deploy-clusters. To keep things simple, we decided to only run the sys-cluster in the main zone se-flem.

Progress so far #

We have been working on this project for a few months now and have made significant progress. We have set up a new sys-cluster in the se-flem zone using K3s and Rancher that will be used to manage our deploy-clusters. We have also set up a deploy-cluster in the se-flem zone, which is currently running KubeVirt. The se-kista zone will be set up once we have completed the migration of all hosts in the se-flem zone (apart from the management server for CloudStack, which will be migrated last).

ZoneHostStatus
se-flemse-flem-001Pending
se-flemse-flem-002Migrated
se-flemse-flem-003Migrated
se-flemse-flem-006Migrated
se-flemse-flem-013Migrated
se-flemse-flem-015Migrated
se-flemse-flem-016Migrated
se-flemse-flem-017Migrated
se-flemse-flem-018Migrated
se-flemse-flem-019Migrated
se-kistat01n05Migrated
se-kistat01n14Migrated
se-kistat01n15Migrated
se-kistat01n16Migrated
se-kistat01n22Migrated
se-kistat01n23Migrated