MAAS KVM Pods
by Canonical on 18 October 2017
This is a guest post by Michael Iatrou, cloud solutions architect at Canonical
OpenStack is the dominant solution in the IaaS space, fueled by the need for reliable, scalable and interoperable private cloud infrastructure to accommodate cloud native applications. Through OpenStack’s open APIs, tenants can easily deploy elaborate virtual (overlay) networks, integrate with a variety of storage backends, even leverage modern hypervisor-like machine containers (LXD) for bare metal performance. Although the tooling allows a full fledged OpenStack deployment on just a single machine, the intrinsic efficiencies that OpenStack’s design promises, materialize at a certain scale — typically at least 12 servers.
There is a large number of environments which would benefit from the merits of virtualization, including but not limited to hydrocarbon exploration sites, diagnostic imaging for health centers, backoffice for restaurants and retail store IT operations. But their per location server footprint is very small, usually no more than a handful of machines. We will explore here how to use the same tooling that delivers operational efficiency for large OpenStack and Kubernetes deployments, in order to revamp small scale environments.
MAAS stands for Metal As A Service and enables you to treat physical servers like an elastic cloud-like resource. As of MAAS 2.2 “pod” is introduced as an operational concept. A MAAS pod effectively describes the availability of resources and enables the creation (or composition) of machines with a set of those resources. A user can allocate the needed CPU, RAM, and (local or remote) storage resources manually (using the MAAS UI or CLI) or dynamically (using Juju or the MAAS API). That is, machines can be allocated “just in time”, based on CPU, RAM, and storage constraints of a specific workload. MAAS 2.2. supports two types of pods, (1) Physical systems with Intel RSD and (2) Virtual Machines with KVM (using the virsh interface).
We have published a detailed tutorial with step by step instructions on how to install and configure a testbed environment for MAAS KVM pods. You can quickly transform a physical server into a lightweight, reliable virtual machine management node. You can even test it on your laptop.
MAAS has been designed to be a modern, agile machine provisioning and infrastructure modelling solution, enabling both physical and virtual infrastructure. Beyond MAAS’ extensive adoption in cloud native environments, it can optimize the utilisation of existing in-house, small scale IT infrastructure using VM pods. The pod abstraction is very powerful and flexible, and it has quickly gained attention, with many new features coming soon! Try it out!