-
Notifications
You must be signed in to change notification settings - Fork 65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add gp3 storageclass #2941
Add gp3 storageclass #2941
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||
---|---|---|---|---|
@@ -0,0 +1,18 @@ | ||||
apiVersion: storage.k8s.io/v1 | ||||
kind: StorageClass | ||||
metadata: | ||||
name: gp3 | ||||
# Use the AWS EBS CSI provisioner | ||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||
provisioner: ebs.csi.aws.com | ||||
parameters: | ||||
# gp3 is cheaper than gp2 | ||||
type: gp3 | ||||
fsType: ext4 | ||||
# Do not delete the underlying EBS volume whenever this PV & PVC | ||||
# are deleted! This allows us recovery in case of accidental deletion | ||||
reclaimPolicy: Retain | ||||
# Create the EBS volume only when the pod consuming it tries to use it. | ||||
# This ensures the EBS volume is created in the correct *zone*, so we | ||||
# don't end up with issues where the volume is in a different zone (but | ||||
# same region) as our pods. | ||||
volumeBindingMode: WaitForFirstConsumer | ||||
Comment on lines
+1
to
+18
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Provisioner value?This is from a gp2 StorageClass resource in a recent AWS cluster (catalystproject-africa), and it looked the same in the older allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
storageclass.kubernetes.io/is-default-class: "true"
name: gp2
parameters:
fsType: ext4
type: gp2
provisioner: kubernetes.io/aws-ebs
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer Note that Default storage class?Reading up about StorageClass defaults, it seems that the annotation controls it, and having two with the same annotation is not good. It would be good if we could have this a default storage class, but it seems out of control for the Helm chart to make it so. I guess we can't make it the default without also having a pre-setup step for new clusters to make the gp2 StorageClass no longer the default storage class. So, let's not think about this now. Installable in GKE/AKS?Is it okay to create a storageclass that references a provisioner that isn't available? Yes maybe, but its also a bit confusing that we create a resource of no relevance. Can we make this install only in AWS/EKS based clusters? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
I agree that we should not make this the default, don't want to fiddle with that. Let me think about the optionality question. We have been shipping a GKE SSD provisioner (with a deprecated provisioner even!) for all our clusters apparently. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah, making this not be present by default but explicitly be set is the right thing to do! I'll do that. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
I think making the choice to install a StorageClass resource explicit is a great! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.