Giter Site home page Giter Site logo

msau42 / gcs-fuse-csi-driver Goto Github PK

View Code? Open in Web Editor NEW

This project forked from googlecloudplatform/gcs-fuse-csi-driver

0.0 0.0 0.0 26.06 MB

The Google Cloud Storage FUSE Container Storage Interface (CSI) Plugin.

License: Apache License 2.0

Shell 3.91% Python 1.75% Go 91.38% Makefile 1.94% Dockerfile 1.03%

gcs-fuse-csi-driver's Introduction

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

Filesystem in Userspace (FUSE) is an interface used to export a filesystem to the Linux kernel. Cloud Storage FUSE allows you to mount Cloud Storage buckets as a file system so that applications can access the objects in a bucket using common File IO operations (e.g. open, read, write, close) rather than using cloud-specific APIs.

The Google Cloud Storage FUSE CSI Driver lets you use the Kubernetes API to mount pre-existing Cloud Storage buckets as volumes which are consumable from a Pod. Your applications can upload and download objects using Cloud Storage FUSE file system semantics.

The driver natively supports the following ways for you to configure 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 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 allows applications to access data stored in Cloud Storage buckets using file system semantics.

  • 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.

  • Many AI/ML/Batch workloads store data in Cloud Storage buckets. The Cloud Storage FUSE CSI driver enables GKE customers running ML training and serving workloads using frameworks like Ray, PyTorch, Spark, and TensorFlow to run their workloads directly on a GKE cluster without requiring any change to the code. This provides portability and simplicity with file semantics.

Project Status

Status: General Availability

GKE Compatibility

Refer to the Google Cloud Storage FUSE CSI Driver Release Notes.

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

gcs-fuse-csi-driver's People

Contributors

songjiaxun avatar hime avatar amacaskill avatar dependabot[bot] avatar judemars avatar renovate-bot avatar tulsishah avatar tyuchn avatar sethiay avatar mattcary avatar ahmedwaleedmalik avatar vsoch avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.