Use pre-configured Google Kubernetes Engine YAML files to optimize Cloud Storage FUSE performance
This page provides pre-configured Google Kubernetes Engine YAML files to help you optimize
Cloud Storage FUSE performance for your specific workload. Whether you're using
Cloud GPUs or Cloud TPU for training, serving, or checkpointing, you can
use the sample configurations provided in this page to quickly deploy your
GKE pods and access your Cloud Storage bucket.
Configure and deploy GKE workloads with Cloud Storage FUSE using sample YAML files
To utilize sample configurations, perform the following steps:
Verify that the Cloud Storage FUSE CSI driver for Google Kubernetes Engine is running on
GKE clusters of GKE versions 1.32.2-gke.1297001
or later.
Verify that the Google Kubernetes Engine service account possesses the necessary
permissions to access the target Cloud Storage bucket.
Locate the sample configurations you want to apply based on your machine
type and workload by using one of the following YAML files:
GPU
Use one of the following Cloud GPUs-specific YAML files based on your
workload type:
Deploy the PersistentVolume and PersistentVolumeClaim by applying the
PersistentVolume file.
The GKE pod admission webhook
inspects the PersistentVolume's attributes to apply potential optimizations
such as the injection of sidecar containers before the pod is scheduled.
kubectl apply -f PERSISTENT_VOLUME_YAML_FILE_NAME
Where:
PERSISTENT_VOLUME_YAML_FILE_NAME is the name of the
PersistentVolume YAML filename. For example, serving-pv.yaml.
Deploy the pod specification that references the PersistentVolumeClaim:
kubectl apply -f POD_YAML_FILE_NAME
Where:
POD_YAML_FILE_NAME is the name of the pod YAML
configuration file. For example, serving-pod.yaml.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[],[],null,["# Use pre-configured Google Kubernetes Engine YAML files to optimize Cloud Storage FUSE performance\n\nThis page provides pre-configured Google Kubernetes Engine YAML files to help you optimize\nCloud Storage FUSE performance for your specific workload. Whether you're using\nCloud GPUs or Cloud TPU for training, serving, or checkpointing, you can\nuse the sample configurations provided in this page to quickly deploy your\nGKE pods and access your Cloud Storage bucket.\n| **Note:** This page provides instructions for tuning Cloud Storage FUSE performance in Google Kubernetes Engine-specific pre-configured YAML files. To learn about tuning Cloud Storage FUSE using the configuration file and CLI options, see [Cloud Storage FUSE performance tuning best practices](/storage/docs/cloud-storage-fuse/performance).\n\nConfigure and deploy GKE workloads with Cloud Storage FUSE using sample YAML files\n----------------------------------------------------------------------------------\n\nTo utilize sample configurations, perform the following steps:\n\n1. Verify that the Cloud Storage FUSE CSI driver for Google Kubernetes Engine is running on\n GKE clusters of GKE versions 1.32.2-gke.1297001\n or later.\n\n2. Verify that the Google Kubernetes Engine service account possesses the necessary\n permissions to access the target Cloud Storage bucket.\n\n3. Locate the sample configurations you want to apply based on your machine\n type and workload by using one of the following YAML files:\n\n ### GPU\n\n Use one of the following Cloud GPUs-specific YAML files based on your\n workload type:\n - [Training](https://github.com/GoogleCloudPlatform/gcsfuse/blob/master/samples/gke-csi-yaml/gpu/training-pv.yaml)\n\n - [Serving](https://github.com/GoogleCloudPlatform/gcsfuse/blob/master/samples/gke-csi-yaml/gpu/serving-pv.yaml)\n\n - [Checkpointing and JIT cache](https://github.com/GoogleCloudPlatform/gcsfuse/blob/master/samples/gke-csi-yaml/gpu/checkpointing-pv.yaml)\n\n ### TPU\n\n Use one of the following Cloud TPU-specific YAML files based on your\n workload type:\n - [Training](https://github.com/GoogleCloudPlatform/gcsfuse/blob/master/samples/gke-csi-yaml/tpu/training-pv.yaml)\n\n - [Serving](https://github.com/GoogleCloudPlatform/gcsfuse/blob/master/samples/gke-csi-yaml/tpu/serving-pv.yaml)\n\n - [Checkpointing and JIT cache](https://github.com/GoogleCloudPlatform/gcsfuse/blob/master/samples/gke-csi-yaml/tpu/checkpointing-pv.yaml)\n\n4. Deploy the corresponding pod specification that accesses the\n PersistentVolumeClaim using one the following YAML files:\n\n ### GPU\n\n Deploy the corresponding Cloud GPUs-specific pod specification that\n accesses the PersistentVolumeClaim based on your workload type:\n - [Training](https://github.com/GoogleCloudPlatform/gcsfuse/blob/master/samples/gke-csi-yaml/gpu/training-pod.yaml)\n\n - [Serving](https://github.com/GoogleCloudPlatform/gcsfuse/blob/master/samples/gke-csi-yaml/gpu/serving-pod.yaml)\n\n - [Checkpointing and JIT cache](https://github.com/GoogleCloudPlatform/gcsfuse/blob/master/samples/gke-csi-yaml/gpu/checkpointing-pod.yaml)\n\n ### TPU\n\n Deploy the corresponding Cloud TPU-specific pod specification that\n accesses the PersistentVolumeClaim based on your workload type:\n - [Training](https://github.com/GoogleCloudPlatform/gcsfuse/blob/master/samples/gke-csi-yaml/tpu/training-pod.yaml)\n\n - [Serving](https://github.com/GoogleCloudPlatform/gcsfuse/blob/master/samples/gke-csi-yaml/tpu/serving-pod.yaml)\n\n - [Checkpointing and JIT cache](https://github.com/GoogleCloudPlatform/gcsfuse/blob/master/samples/gke-csi-yaml/tpu/checkpointing-pod.yaml)\n\n5. Deploy the PersistentVolume and PersistentVolumeClaim by applying the\n PersistentVolume file.\n\n The GKE pod admission webhook\n inspects the PersistentVolume's attributes to apply potential optimizations\n such as the injection of sidecar containers before the pod is scheduled. \n\n ```\n kubectl apply -f PERSISTENT_VOLUME_YAML_FILE_NAME\n ```\n\n Where:\n - \u003cvar translate=\"no\"\u003ePERSISTENT_VOLUME_YAML_FILE_NAME\u003c/var\u003e is the name of the PersistentVolume YAML filename. For example, `serving-pv.yaml`.\n6. Deploy the pod specification that references the PersistentVolumeClaim:\n\n ```\n kubectl apply -f POD_YAML_FILE_NAME\n ```\n\n Where:\n - \u003cvar translate=\"no\"\u003ePOD_YAML_FILE_NAME\u003c/var\u003e is the name of the pod YAML configuration file. For example, `serving-pod.yaml`.\n\nWhat's next\n-----------\n\n- [Learn how to monitor Cloud Storage FUSE performance using metrics](/storage/docs/cloud-storage-fuse/metrics)."]]