Google Cloud Storage FUSE CSI Driver
The Google Cloud Storage FUSE Container Storage Interface (CSI) Plugin.
WARNING: Manual deployment of this driver to your GKE cluster is not recommended. Instead users should use GKE to automatically deploy and manage the CSI driver as an add-on feature. See the GKE documentation Access Cloud Storage buckets with the Cloud Storage FUSE CSI driver.
DISCLAIMER: Manual deployment of the driver to your cluster is not officially supported by Google.
Project Overview
Cloud Storage FUSE is an open source FUSE adapter that lets you mount Cloud Storage buckets buckets as file systems. Your applications can upload and download objects using Cloud Storage FUSE file system semantics. The Cloud Storage FUSE CSI driver lets you use the Kubernetes API to consume pre-existing Cloud Storage buckets as volumes.
The driver natively supports the following ways for you to provision your Cloud Storage buckets-backed volumes:
-
CSI ephemeral volumes: You specify the Cloud Storage buckets bucket in-line with the Pod specification. To learn more about this volume type, see the CSI ephemeral volumes overview in the open source Kubernetes documentation.
-
Static provisioning: You create a PersistentVolume resource that refers to the Cloud Storage buckets bucket. Your client Pod can then reference a PersistentVolumeClaim that is bound to this PersistentVolume. To learn more about this workflow, see Configure a Pod to Use a PersistentVolume for Storage.
Currently, the driver does not support Dynamic Volume Provisioning.
Benefits
-
The Cloud Storage FUSE CSI driver on your cluster turns on automatic deployment and management of the driver. The driver works on both GKE Standard and Autopilot clusters. To leverage this benefit, you need to use GKE to automatically deploy and manage the CSI driver as a add-on feature. See the GKE documentation Access Cloud Storage buckets with the Cloud Storage FUSE CSI driver.
-
The Cloud Storage FUSE CSI driver does not need privileged access that is typically required by FUSE clients. This enables a better security posture.
-
The Cloud Storage FUSE CSI driver supports the ReadWriteMany
, ReadOnlyMany
, and ReadWriteOnce
access modes.
-
You can use GKE Workload Identity to easily manage authentication while having granular control over how your Pods access Cloud Storage buckets objects.
Project Status
Status: Public Preview
GKE Compatibility
Cloud Storage FUSE CSI Driver Version |
Cloud Storage FUSE Version |
Supported GKE Kubernetes Version |
v0.1.2 |
v0.42.3 |
1.26.3-gke.400 or later |
v0.1.3 |
v0.42.4 |
1.26.3-gke.400 or later |
Get Started
Development and Contribution
Refer to the Cloud Storage FUSE CSI Driver Development Guide.
Attribution
This project is inspired by the following open source projects:
References