online-gluster-subvol
by
openshift

Description: Subdirectories of Gluster volumes as PVs in Kubernetes and OpenShift

View on GitHub ↗

Summary Information

Updated 34 minutes ago
Added to GitGenius on June 23rd, 2023
Created on February 1st, 2018
Open Issues & Pull Requests: 0 (+0)
Number of forks: 4
Total Stargazers: 2 (+0)
Total Subscribers: 270 (+0)

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

The online-gluster-subvol repository provides tooling and infrastructure to enable Kubernetes and OpenShift clusters to use subdirectories of Gluster volumes as persistent volumes. This addresses a specific storage provisioning need where organizations want to partition a single Gluster volume into multiple independent persistent volume claims rather than allocating entire volumes to individual workloads. The repository is written primarily in Shell and is licensed under Apache v2.0, with the exception of bundled JQ code covered under the MIT license.

The repository consists of three core components that work together to enable this functionality. The glfs-subvol component is a flex volume plugin that handles the actual mounting of Gluster subdirectories into containers. This plugin integrates with Kubernetes and OpenShift's volume plugin architecture to make subdirectories accessible to pods as if they were independent volumes. The volcreator is a script designed to run on Gluster servers and performs preparatory work by pre-creating the subdirectories that will be exposed as persistent volumes and establishing quotas on those subdirectories to control storage consumption. The volrecycler is a pod that runs within the cluster itself and manages the lifecycle of released persistent volumes by watching for PVs that have been released, deleting their contents, and marking them as available for reuse by other workloads.

This architecture enables efficient storage utilization in Kubernetes and OpenShift environments by allowing multiple applications to share a single Gluster volume while maintaining isolation through subdirectory boundaries and quota enforcement. Rather than requiring a separate Gluster volume for each persistent volume claim, administrators can create a single large volume and subdivide it into smaller allocations. The quota mechanism ensures that individual applications cannot consume more storage than allocated, preventing one workload from exhausting shared storage resources.

The repository falls within the broader categories of data management, container storage, and storage orchestration for cloud-native environments. It specifically addresses the intersection of Kubernetes integration and distributed file system management, providing a practical solution for organizations using GlusterFS as their storage backend. The subvolume management approach represents a storage driver implementation that enables volume provisioning at a finer granularity than traditional volume-per-claim models.

The combination of these three components creates a complete workflow for subvolume-based persistent volume provisioning. Administrators use volcreator to prepare storage on the Gluster side, the glfs-subvol plugin enables Kubernetes to mount those subdirectories, and volrecycler handles the operational task of reclaiming and recycling storage when applications release their claims. This design pattern is particularly valuable in multi-tenant or densely-packed cluster environments where storage efficiency and resource utilization are important considerations. The repository provides the necessary glue between Gluster's capabilities and Kubernetes's persistent volume abstraction, making it possible to implement more granular storage allocation strategies than would be possible using standard volume plugins alone.

online-gluster-subvol
by
openshiftopenshift/online-gluster-subvol

Repository Details

Fetching additional details & charts...