IEEE Access (Jan 2024)
PVA: The Persistent Volume Autoscaler for Stateful Applications in Kubernetes
Abstract
With the evolution of container technology, there has been increasing interest in the operation of stateful applications in cloud environments. Kubernetes supports the management and scaling of stateful applications using features, such as StatefulSets and autoscaling mechanisms. However, current autoscaling targets CPU and memory without supporting volumes, which are essential resources for stateful applications. This can result in service downtime and volume resource waste. In response to these challenges, this study proposes a Persistent Volume Autoscaler (PVA) that automatically manages the volume resources in Kubernetes. PVA automatically adjusts the various components required for stateful applications to use volumes. It offers autoscaling that supports both the scale-up and scale-down of the volumes. We designed and implemented algorithms to achieve this, and evaluated the performance of the PVA across diverse storage solutions. Our results demonstrated that PVA improves the availability and efficiency of stateful applications. Additionally, we found that PVA performs effectively across various environments, including Ceph, Longhorn, and Synology. This demonstrates its capability to improve the flexibility and scalability of volume resources. By optimizing the operation of stateful applications, PVA contributes to enhanced efficiency and improved service availability.
Keywords