The Kubernetes Current Blog

Why Run Virtual Machines on Kubernetes?

Containers and Kubernetes are technologies that provide a repeatable, standard way to run applications. The main differences are in terms of scale and portability. The lightweight nature of containers and their shared operating system (OS) makes them very easy to move across multiple environments, such as clouds and data centers. Virtual Machines (VMs) contain their own OS, allowing them to emulate entire servers, OSs, databases, desktops, and networks. Container-first, cloud-native applications are the future, but not every application is suitable to be cloud-native, yet.

Four key pillars of cloud-native apps are containers, DevOps, CI/CD (Continuous Integration/Continuous Delivery), and microservices. Migrating a legacy, monolithic application to become cloud-native usually demands a significant refactoring effort. Sometimes a VM is better than a container, for example, with LDAP/Active Directory applications, tokenization applications, and applications requiring intensive GPU workloads. It can get complicated when you have some cloud-native applications running on Kubernetes while other applications run on VMs, especially as part of the same IT system. What if you could run both containers and VMs on a Kubernetes platform?

Rafay makes running VMs on Kubernetes easy

Rafay addresses the needs of development teams that have adopted or want to adopt Kubernetes but possess existing Virtual Machine-based workloads that cannot be easily containerized. More specifically, the technology provides a unified platform where developers can build, modify, and deploy container and VM-based applications in a common, shared environment. Teams with a reliance on existing VM-based workloads are empowered to rapidly containerize applications. With virtualized workloads placed directly in development workflows, teams can decompose them over time while still leveraging remaining virtualized components as is comfortably desired. Another advantage to running virtual machines on Kubernetes is the reduction of cognitive load on DevOps teams that are trying to deploy applications by leveraging a single technology automation stack.

The benefit from running VMs on Kubernetes can also include cost savings by consolidating technology stacks. Rather than running separate sets of infrastructure for virtualization and container platforms, you can begin centralizing these stacks for common purposes. Once you begin the journey of migrating virtual machines to Kubernetes, you could then begin to see additional savings in software and utility costs. Depending on your workloads, you may also be able to decrease your infrastructure footprint completely leveraging Kubernetes’ ability to package and schedule your applications.

Ready to find out why so many enterprises and platform teams have partnered with Rafay to streamline Kubernetes operations?  Sign up for a free trial today and learn more about running virtualized workloads on Rafay in our docs.


can kubernetes run vm , difference between kubernetes and virtual machine , how to run a vm on kubernetes , install kubernetes on virtual machines , kubernetes vs virtual machines

Trusted by leading companies