Your submission was sent successfully! Close

Thank you for contacting us. A member of our team will be in touch shortly. Close

You have successfully unsubscribed! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates about Ubuntu and upcoming events where you can meet our team.Close

OpenStack with Sunbeam for small-scale private cloud infrastructure

Tytus Kurek

on 2 January 2024

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 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. Sunbeam uses cloud-native architecture and total bottom-up automation to make OpenStack more accessible to newcomers and to help 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 also 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.

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:

Further Reading

Learn more about Canonical’s open source infrastructure solutions.

cloud icon

What is a private cloud?

There is no one size fits all cloud architecture.
Developing the optimum cloud strategy requires evaluating your business needs and aligning them with the different solutions available.

Find out which cloud architecture suits you best ›

Newsletter signup

Get the latest Ubuntu news and updates in your inbox.

By submitting this form, I confirm that I have read and agree to Canonical's Privacy Policy.

Related posts

OpenStack with Sunbeam as an on-prem extension of the OpenStack public cloud

One of the biggest challenges that cloud service providers (CSPs) face these days is to deliver an extension of the public cloud they host to a small-scale...

How telcos are building carrier-grade infrastructure using open source

Telco cloud implementation with Canonical and HPE Service providers need cloud infrastructure everywhere, from modern 5G and 6G network functions running in...

Cloudify your data centre – A guide to VMware infrastructure transformation

You know what’s going on. You’ve been monitoring the situation around VMware for at least a year now. There is no need to convince you that whatever comes...