Categories: BlogCanonicalUbuntu

OpenStack with Sunbeam for small-scale private cloud infrastructure

Whenever it comes to a small-scale private cloud infrastructure project roll-out, organisations usually face a serious dilemma. The implementation process often seems complex due to a lack of knowledge, tricky migrations and an immediate need from management to run various extensions, such as Kubernetes, on top. The most obvious way to overcome this complexity is to bring in costly professional services to handle the project, but this option can be prohibitively expensive for small and mid-size businesses.

Fortunately, there are now ways to easily address all these challenges yourself. In this short blog, we will showcase how you can use project Sunbeam to seamlessly deploy a small-scale private cloud with no need for experience or costly consulting.

Before
Sponsored
we start

Before we start, let’s briefly clarify some terms that we’ll be using in this blog.

What is Sunbeam?

Sunbeam is an upstream project under the governance of the OpenInfra Foundation (OIF) created to lower the entry barrier for OpenStack, simplify its adoption process and set the foundation for an autonomous private cloud. By using cloud-native architecture and total bottom-up automation, Sunbeam makes OpenStack more accessible to newcomers and helps users get to grips with the platform immediately.

What is MicroStack?

MicroStack (based on Sunbeam) is an OpenStack distribution designed for small-scale cloud environments. While it is available with full commercial support from Canonical, it can be self-deployed with no friction, effectively eliminating the need for a paid consulting engagement. MicroStack currently includes core OpenStack services only but is expected to evolve quickly to ensure full feature parity with Canonical’s Charmed OpenStack soon.

OpenStack for small-scale private cloud infrastructure

People tend to think about OpenStack as something overly complex. And to be frank, they are basically right. OpenStack is well-known for its excessive complexity. However, when using proper tooling, OpenStack can be effectively tamed, making it a technology that is accessible to anyone. This includes people with no previous experience with OpenStack or Linux.

Getting started with OpenStack

Historically, getting started with OpenStack has always been a challenge. The overall number of steps and design decisions to kick off the installation has been overwhelming for newcomers. Fortunately, with project Sunbeam, this is no longer the case.

With Sunbeam, users can install OpenStack in five simple steps. The entire process takes less than an hour, and what you get at the end of this journey is a fully functional cloud. Obviously, bootstrapping a multi-node, production-grade cluster requires a little bit more effort. However, in essence, the process is mostly the same.

The most important thing is to simply give it a try. OpenStack isn’t as intimidating as it seems. I got it running on my laptop when writing this blog.

Openstack dashboard

Performing the migration

Once the cloud is bootstrapped, it is high time to start migrating workloads and data. A Sunbeam-based OpenStack installation can serve as a reasonable alternative to small-scale VMware vSphere infrastructure, Proxmox Virtualization Environment (VE), Hyper-V or Citrix Hypervisor.

This is also something that might be easier than many people think. In order to migrate a virtual machine (VM) from one platform to another, first export its disk image. Obviously, exact instructions vary depending on the platform, but usually, they’re very well documented.

Sponsored

Then, an exported image has to be converted into a QCOW2 format, which is the image format used by OpenStack. In order to convert a VMware-exported VMDK image to a QCOW2 format, use the qemu-img tool:

qemu-img convert -f vmdk -O qcow2 my_vmware_image.vmdk my_openstack_image.qcow2

The QCOW2 image can further be imported into the OpenStack Glance service and launched as a VM by the OpenStack Nova service.

In more advanced scenarios, when downtime is not an option, organisations can also consider dedicated migration-as-a-service tools. A good example of a tool like that is Coriolis by Cloudbase Solutions.

Running K8s on top of your cloud infrastructure

A modern cloud platform wouldn’t be versatile enough without a Kubernetes layer running on the top. This is also something that project Sunbeam is fully capable of. By using OpenStack Magnum service and its built-in plugin architecture, an optional K8s-on-demand functionality can be enabled almost with a single click.

In order to enable the Container-as-a-Service (CaaS) plugin on top of your multi-node Sunbeam-based cloud, execute the following command:

sunbeam enable caas

This will install Magnum components so that you can start using its APIs. Then, to create a K8s cluster template, use the OpenStack client:

openstack coe cluster template create k8s-cluster-template-ovn 
   --image fedora-coreos-38 
   --keypair sunbeam 
   --external-network external-network 
   --flavor m1.small 
   --docker-volume-size 15 
   --master-lb-enabled 
   --labels octavia_provider=ovn 
   --labels octavia_lb_algorithm=SOURCE_IP_PORT 
   --network-driver flannel 
   --coe kubernetes

Starting from now, you can use a single command to create K8s clusters on demand:

openstack coe cluster create 
   --cluster-template k8s-cluster-template-ovn 
   --node-count 1 
   --timeout 60 
   sunbeam-k8s-ovn

Always refer to the official documentation for the most up-to-date instructions.

Conclusions

Project Sunbeam effectively makes OpenStack suitable for small-scale private cloud infrastructure implementation purposes. It lowers the barrier to entry, enabling a production-grade OpenStack cluster to be installed in a few simple steps. Other typical cloud functions, such as K8s-on-demand, are also natively available with almost a single click. All of this makes the platform accessible to all users, irrespective of experience, and puts the power of OpenStack within reach of organisations of any size.

Learn more about Sunbeam

Now that you’ve got a basic understanding of project Sunbeam and how it can be used for various use cases, you might be wondering where to find more information about it. If that’s the case, we have prepared some interesting follow-up materials for you:

Ubuntu Server Admin

Recent Posts

Building RAG with enterprise open source AI infrastructure

One of the most critical gaps in traditional Large Language Models (LLMs) is that they…

20 hours ago

Life at Canonical: Victoria Antipova’s perspective as a new joiner in Product Marketing

Canonical is continuously hiring new talent. Being a remote- first company, Canonical’s new joiners receive…

2 days ago

What is patching automation?

What is patching automation? With increasing numbers of vulnerabilities, there is a growing risk of…

3 days ago

A beginner’s tutorial for your first Machine Learning project using Charmed Kubeflow

Wouldn’t it be wonderful to wake up one day with a desire to explore AI…

4 days ago

Ubuntu brings comprehensive support to Azure Cobalt 100 VMs

Ubuntu and Ubuntu Pro supports Microsoft’s Azure Cobalt 100 Virtual Machines (VMs), powered by their…

4 days ago

Ubuntu Weekly Newsletter Issue 870

Welcome to the Ubuntu Weekly Newsletter, Issue 870 for the week of December 8 –…

5 days ago