prole/k8s/knoe/storageclass-gcp-standard-hdd.yaml

31 lines
1.2 KiB
YAML

# Generic HDD (pd-standard) StorageClass for GKE — the cluster-wide default.
#
# Why this exists
# ---------------
# GKE ships with `standard-rwo` as the default StorageClass, which under the
# hood provisions `pd-balanced` (SSD-backed hybrid). That draws from the
# SSD_TOTAL_GB quota and has repeatedly caused provisioning to wedge on small
# projects. For workloads that don't need SSD latency (OpenBao, registry
# storage, generic scratch PVCs, Garage) we want `pd-standard` (HDD) — which
# uses the separate HDD quota and is cheaper per GiB.
#
# This class is the canonical cluster-wide default. Workloads that DO need
# SSD latency (CNPG) opt in explicitly via storageClassName=premium-rwo in
# their PVC template.
#
# To make this the default, apply this manifest and then run
# etc/ensure_default_storage_class.sh --apply (which clears the default
# annotation off standard-rwo and sets it here).
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: standard-hdd
annotations:
storageclass.kubernetes.io/is-default-class: "true"
provisioner: pd.csi.storage.gke.io
parameters:
type: pd-standard
reclaimPolicy: Retain
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true