fluid
fluid copied to clipboard
[FEATURES] Support Pod-Specific Scaling Down in Fluid using Advanced StatefulSet
Background
Fluid provides elastic scaling capabilities for distributed caching, which is crucial for on-demand cache usage and cost reduction. However, currently, Fluid's cache scaling down relies on StatefulSet, which lacks the ability to scale down specific Pods. We can leverage OpenKruise's Advanced StatefulSet to implement this capability. However, this should be done without a strong dependency on OpenKruise and should be enabled via a flexible mechanism like a feature switch.
features:
- AdvancedStatefulSet=true
Objectives
- Enable the capability to scale down specific Pods using a feature switch.
- Implement a proof-of-concept using AlluxioRuntime, defining the entire scaling-down process:
- Clear cache on the specified node and bring the worker offline.
- Perform the scaling down.
- Ensure backward compatibility for this capability.
Reference Materials
Fluid uses the native StatefulSet. So, is the goal of this feature to implement a complete Advanced StatefulSet controller to replace the native StatefulSet and support for deleting specific pods?