Guest post by Dong Zhu, IOMesh
On July 11, the KubeVirt community officially announced the release of KubeVirt v1.0. As a fully matured Virtual Machine Management solution for Kubernetes, KubeVirt provides VM users another option to modernize IT infrastructure: in conjunction with Kubernetes persistent storage, users can conveniently run both VMs and containers on top of Kubernetes with no need to worry about the stability and performance of Kubernetes clusters.
As a leading enterprise-grade Kubernetes-native distributed storage, IOMesh can enhance VMs and containers in KubeVirt with outstanding performance and high availability. In the following sections, we will dive into key capabilities of Kubernetes storage in supporting KubeVirt, and explore how IOMesh performs through a case study.
Gartner: Convergence of VM and Container Management is Dominating Kubernetes Deployment
Cloud-native technologies accelerate the modernization progress of IT infrastructure, and yet introduce new management challenges. One such challenge is how to combine existing virtualized workloads with new container workloads on one platform and achieve unified management of both. To address this issue, projects focusing on the convergence of VM and container management have emerged.
Currently, there are two basic routes to converge VM and container management:
- Container-centric: With container-centric solutions, users create, run, and manage VMs in Kubernetes clusters that are deployed on bare metal. Using Kubernetes API, users can achieve central management of both VMs and containers in the same cluster. Example solution: KubeVirt.
- Coexist: With these solutions, users create, run, and manage VMs and containers in virtualization. Users deploy hypervisors (or HCI) and use several VMs to support Kubernetes clusters. These Kubernetes clusters are together managed with VMs through virtual networks. Example solutions: VMware Tanzu and SmartX SKS. To learn more about coexist solutions, please refer to: Kubernetes on VMs vs. Bare Metal: Comparison of Architecture and Capabilities.
As a container-centric solution, KubeVirt enables users to centralize the management of containers and VMs through the Kubernetes API. This reduces complexity in operations and maintenance (O&M) since administrators only need to familiarize themselves with Kubernetes operations. Moreover, unlike traditional virtualization that depends on vendors’ proprietary APIs, KubeVirt seamlessly integrates with Kubernetes through Kubernetes API. This close integration allows users to effortlessly tap into the rich ecosystem of Kubernetes and use its wide range of tools for monitoring, logging, networking, storage, etc.
This is why Gartner highlights in Market Guide for Container Management that compared to using bare-metal servers, more users are turning to solutions that converge VM and container management; with a unified platform, users can enjoy advantages of both IT architectures and undertake IT transformation at their preferred pace.
How to Select KubeVirt-Friendly Storage?
To fully leverage KubeVirt’s potential in central management, it is essential to have underlying storage that can provide high performance for both containers and VMs. Therefore, block storage can be a better choice. Moreover, the storage solution should be KubeVirt-friendly, meaning that it can provide advanced features for VMs in KubeVirt.
- Production-ready Kubernetes-native block storage
- Kubernetes-native: The storage solution should use Kubernetes-native technologies (e.g., native CSI Driver and declarative APIs) to provide stable support for stateful applications in production environments.
- Integrated deployment: Converged deployment of storage and computing can improve performance (i.e., through I/O localization) and the efficiency of VM and container management.
- High scalability: Allow users to start from a small scale and later scale up on demands, without the need to replace IT infrastructure components frequently.
- KubeVirt-friendly features
- VM snapshots, restoration, and cloning: KubeVirt achieves VM snapshot and restoration through the VolumeSnapshot functionality of Kubernetes CSI Driver. Therefore, the storage solution’s CSI Driver should support such functionality. Users should also ensure Kubernetes Volume Snapshot API’s version to be v1. KubeVirt uses snapshot and restoration APIs to achieve VM cloning.
- Live migration: Storage’s persistent volumes should support RWX to achieve VM live migration.
IOMesh: Reliable and Performant Distributed Storage for Containers and VMs in KubeVirt
IOMesh is an enterprise Kubernetes-native distributed storage solution. Leveraging Kubernetes native operation and tools, IOMesh can be fully integrated into the Kubernetes ecosystem, providing production-ready storage services to containers and VMs in KubeVirt through converged deployment.
Case Study
A video technological research company is developing offline video rendering services, with core applications running on VMs (Windows + Linux) and containers in KubeVirt.
Since these applications have high requirements for storage performance and availability, the user has evaluated and tested multiple cloud-native storage solutions. Yet, none of these solutions could meet their expectations. The user’s key requirements are listed below:
- Storage type: Cloud-native distributed storage.
- Advanced features: Multi-replica policy to ensure high availability.
- Performance requirements: High random read/write IOPS and sequential read/write bandwidth.
- Random read IOPS (single node): 100K+.
- Random write IOPS (single node): 40K+.
- Sequential read/write bandwidth (single node): 1GiB/s.
- Other features: Production-ready reliability and stability. Low overhead.
To find the right storage solution, the user tried out more options and conducted a performance test on IOMesh. The results were impressive: In the simulated production environment, IOMesh demonstrated outstanding single-node random read/write IOPS, achieving 130K+ and 45K+ respectively, while the sequential read/write bandwidth exceeded 1.6GiB/s+. Additionally, IOMesh’s extensive advanced features contributed to the enhanced availability of Kubernetes clusters.
To learn more about IOMesh, please refer to IOMesh Docs, and join the IOMesh community on Slack for more updates and community support.
Reference
1. Market Guide for Container Management, Gartnerhttps://www.gartner.com/document/4012524