I just noticed that I have multiple storage classes that are set to (default). Which one will be used as a default then?
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
fast kubernetes.io/aws-ebs Delete Immediate false 15m
gp2 (default) kubernetes.io/aws-ebs Delete WaitForFirstConsumer false 2d14h
slow (default) kubernetes.io/aws-ebs Retain Immediate false 15m
It will be "gp2"
I’ve not actually tested this, however per this GitHub issue https://github.com/kubernetes/kubernetes/issues/34549#issuecomment-700115626 there is no validation for two different Storage Classes (SC) set to "(Default)".
There is validation around provisioning a Persistent Volume Claim (PVC) when more than 1 SC is set to "Default". You will not be able to provision a PVC as you will see a forbidden error "forbidden: Internal error occurred: 2 default StorageClasses were found"