Quobyte is real software storage and runs entirely on Kubernetes. It's just another application on your Kubernetes Cluster that you can install in minutes.
Quobyte’s distributed file system provides persistent volumes with scalable high performance for even the most demanding scale-out applications like AI/ML, simulations, or big data.
Quobyte provides persistent volumes for all use-cases - from low latency flash storage classes for transactional databases to shared volumes for massive scale-out workloads like machine learning, big data analytics, or video transcoding.
Quobyte runs entirely in Kubernetes or directly on Linux servers or VMs. No matter if it's on dedicated storage nodes or shared with other containers, in your own data center, or the public clouds, you get the same reliability, performance, and ease of use wherever your infrastructure runs.
Quobyte comes with multiple layers of security to ensure data protection, including end-to-end encrypted volumes, TLS, X.509 certificate support, or ACLs.
Quobyte provides you with a storage infrastructure that enhances your Kubernetes cluster: Multi-tenancy support that maps onto Kubernetes namespaces, oversubscription to ensure to minimize cost and automation that integrates well with Kubernetes.
Quobyte protects your data across machines using erasure coding, synchronous replication, and asynchronous geo-replication to ensure that your Kubernetes cluster can run 24/7 with zero downtime.
Quobyte CSI Plugin
Automatic storage provisioning with support for quotas and snapshots.
Quobyte Helm Chart
Fully automated installation and updates of entire Quobyte clusters.
Quobyte delivers scalable performance to demanding applications without bottlenecks like NFS gateways or block storage.
Easy migration and failover
Each volume is accessible concurrently from all worker nodes so you can easily move your containers or restart stateful applications on any node.
Policy-based data management
Optimize the performance and space utilization of your applications. Reconfigure storage on the fly or recode files for archival.
Native HDFS driver
High-performance storage for big data analytics in Kubernetes clusters.
Flash and HDD in one cluster
Optimize cost and performance: Quobyte can combine flash and HDD even inside the same file and transparently migrate data between the tiers.
Access the same data via any protocol: File system, Object/S3, HDFS, Windows, and more.
Quobyte supports any number of Kubernetes Storage Classes for your persistent storage. The Storage classes are connected to the Quobyte policy engine and allow administrators fine granular control over data placement. Read more in our tutorial.
ReadWriteMany Persistent Volumes
Quobyte volumes are backed by a true scale-out parallel file system. The volume and all files in them are accessible simultaneously from all worker nodes. Quobyte supports scalable file locking for distributed applications.
ReadWriteOnce Persistent Volumes
Since Quobyte volumes are backed by a shared file system even ReadWriteOnce volumes are immediately accessible from another host when the pod is rescheduled on another worker. There is no need for data transfer to another host and applications can start immediately.
The Quobyte CSI plugin comes with support for snapshots on the shared Quobyte volumes.
Quotas and Volume Expansion
Quobyte volumes are thinly provisioned and can grow as large as the entire cluster. Volume sizes are translated automatically to Quobyte quotas. User requests for volume resizing through changes to the persistent volume claim are automatically translated to Quota updates, which become effective immediately without any interruption of access to the persistent volume.
Multi-Tenancy integrated with Kubernetes Namespaces
The Quobyte CSI Plugin maps Kubernetes namespaces onto Quobyte tenants. Read more about how to configure multi-tenancy with Kubernetes.
Object Storage (S3) for Kubernetes
All Quobyte volumes are simultaneously accessible via the object storage (S3) interface. Users and applications can share data via file system and object storage from the same namespaces.
Encrypted Kubernetes Volumes
Quobyte Volumes can be AES encrypted with individual keys per volume. In addition, Quobyte supports optional TLS for secure communication.
Security Tokens for User Authentication
The Quobyte CSI plugin and client support Access Keys for proper access control in shared volumes. Users provide their credentials as part of the deployment. All access from the user's pod is mapped onto a specific user id that is tied to the access key, regardless of the uid/gid from inside the container.
Docker Volume Plugin
The Quobyte Docker Volume plugin makes it easy to map Quobyte volumes into docker containers. Learn more about the plugin on github.com
These services run on worker nodes with local drives (nvme, HDD...) and implement the actual Quobyte file system. We recommend running these services on a pool of dedicated worker nodes to avoid the negative impact of other workloads on the file system performance. As an alternative, you can run the entire Quobyte cluster on bare metal Linux and simply connect it to your Kubernetes cluster.
The Quobyte CSI Plugin communicates with your Quobyte cluster via the API service e.g. to provision volumes or updated quotas. You'll also use this service for managing your cluster.
The Quobyte client runs on all worker nodes in your Kubernetes cluster. The client runs as DaemonSet on all worker nodes in your Kubernetes cluster. Quobyte clients automatically mount new volumes and make them available to the host via a bi-directional volume mapping. The Quobyte client receives the file system operations from the applications on the worker nodes and translates them to RPC calls to the various Quobyte core services.
You can create as many StorageClasses as you need and connect them to Quobyte by selecting csi.quobyte.com as the provisioner. For each StorageClass you can specify labels to tell the Quobyte Policy Engine how you'd like the data for these volumes stored. Learn more in this tutorial.
The Quobyte CSI Plugin connects your Kubernetes cluster with your Quobyte cluster by dynamically provisioning persistent volumes. The plugin listens for PersistentVolumeClaims (PVC) that have a StorageClass that is configured to use Quobyte. Once a new persistent volume claim is received, the Quobyte CSI plugin communicates with the Quobyte API to provision the new persistent volume on Quobyte. For PVCs that have a size, the CSI plugin also creates a Quobyte volume quota.
Once the new volume has been created, all Quobyte clients across the cluster automatically mount it. The CSI plugin tells Kubernetes where the volume is mounted on the local worker nodes, e.g.
/home/quobyte/mounts/pvc-volume-123. Kubernetes then maps this path into the application's container at the requested location, e.g. in
The Quobyte Helm Chart makes it easy to install or update all three components (Core Services, Clients, and CSI Plugin) on a Kubernetes cluster. You can also use it to install just the CSI plugin and client if your Quobyte cluster runs outside of Kubernetes.
One of the big security gaps with containers is the arbitrary uid/gids that applications in containers can use to issue IO operations. On shared file systems this renders any access control useless as applications can impersonate any user on the system.
Quobyte uses Access Keys - the same tokens your users can use for object access - to map all IO from a container to the user that owns the application. When deploying an applications users have to provide their credentials (access key plus secret key). These credentials are passed on to the Quobyte client, which maps all IO from the container onto the user matching the Access Key. Hence, providing proper access control on shared volumes, including ReadWriteMany.
Volumes can be encrypted end-to-end with AES-XTS. This feature can be enabled on a per-volume basis using the Quobyte Policy Engine. The data is encrypted and decrypted by the Quobyte client, i.e. data is encrypted at rest and in transit.
In addition to data encryption, the communication between Quobyte clients and services can be protected with TLS. Administrators can configure which networks require TLS and which networks are trusted for plaintext communication.
Deploy Quobyte on your Kubernetes cluster with our Helm chart and deploy reliable and scalable persistent volumes in minutes.Learn More
How to set up shared file system (ReadWriteMany, RWX) persistent volumes on Kubernetes with Quobyte
Connect Kubernetes StorageClasses with Quobyte's Policy Engine and give your users options
Consolidate your Kubernetes Storage with Multi-tenancy and Self-service for real file system as a service
Combine SSD or NVMe with HDD for cost effective and fast persistent volumes for Kubernetes