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.
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
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.
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 \
--labels octavia_provider=ovn \
--labels octavia_lb_algorithm=SOURCE_IP_PORT \
--network-driver flannel \
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 \
Always refer to the official documentation for the most up-to-date instructions.
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: