You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: latest/ug/automode/create-storage-class.adoc
+32-12Lines changed: 32 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,15 +1,15 @@
1
1
[.topic]
2
2
[#create-storage-class]
3
-
= Create a Storage Class
4
-
:info_titleabbrev: Create storage class
3
+
= Create a storage class
4
+
:info_titleabbrev: Create StorageClass
5
5
6
6
include::../attributes.txt[]
7
7
8
-
A StorageClass in Amazon EKS Auto Mode defines how Amazon EBS volumes are automatically provisioned when applications request persistent storage. This page explains how to create and configure a StorageClass that works with the Amazon EKS Auto Mode to provision EBS volumes.
8
+
A `StorageClass` in Amazon EKS Auto Mode defines how Amazon EBS volumes are automatically provisioned when applications request persistent storage. This page explains how to create and configure a `StorageClass` that works with the Amazon EKS Auto Mode to provision EBS volumes.
9
9
10
-
By configuring a StorageClass, you can specify default settings for your EBS volumes including volume type, encryption, IOPS, and other storage parameters. You can also configure the StorageClass to use {aws} KMS keys for encryption management.
10
+
By configuring a `StorageClass`, you can specify default settings for your EBS volumes including volume type, encryption, IOPS, and other storage parameters. You can also configure the `StorageClass` to use {aws} KMS keys for encryption management.
11
11
12
-
EKS Auto Mode does not create a StorageClass for you. You must create a StorageClass referencing `ebs.csi.eks.amazonaws.com` to use the storage capability of EKS Auto Mode.
12
+
EKS Auto Mode does not create a `StorageClass` for you. You must create a `StorageClass` referencing `ebs.csi.eks.amazonaws.com` to use the storage capability of EKS Auto Mode.
- `provisioner: ebs.csi.eks.amazonaws.com` - Uses EKS Auto Mode
41
41
- `volumeBindingMode: WaitForFirstConsumer` - Delays volume creation until a pod needs it
42
42
- `type: gp3` - Specifies the EBS volume type
43
-
- `encrypted: "true"` - EBS will encrypt any volumes created using the StorageClass. EBS will use the default `aws/ebs` key alias. For more information, see link:ebs/latest/userguide/how-ebs-encryption-works.html["How Amazon EBS encryption works",type="documentation"] in the Amazon EBS User Guide. This value is optional but suggested.
43
+
- `encrypted: "true"` - EBS will encrypt any volumes created using the `StorageClass`. EBS will use the default `aws/ebs` key alias. For more information, see link:ebs/latest/userguide/how-ebs-encryption-works.html["How Amazon EBS encryption works",type="documentation"] in the Amazon EBS User Guide. This value is optional but suggested.
44
44
- `storageclass.kubernetes.io/is-default-class: "true"` - Kubernetes will use this storage class by default, unless you specify a different volume class on a persistent volume claim. This value is optional. Use caution when setting this value if you are migrating from a different storage controller.
45
45
46
46
== Use self-managed KMS key to encrypt EBS volumes
* `<account-id>` -- Your {aws} account ID, such as `111122223333`
64
-
* `<aws-region>` -- The {aws} region of your cluster, such as `us-west-2`
63
+
* `<account-id>` – Your {aws} account ID, such as `111122223333`
64
+
* `<aws-region>` – The {aws} region of your cluster, such as `us-west-2`
65
65
66
66
[source,json]
67
67
----
@@ -104,7 +104,7 @@ Update the following values in the policy below:
104
104
}
105
105
----
106
106
107
-
=== Sample self-managed KMS StorageClass
107
+
=== Sample self-managed KMS `StorageClass`
108
108
109
109
[source,yaml]
110
110
----
@@ -115,7 +115,7 @@ parameters:
115
115
----
116
116
117
117
118
-
== StorageClass Parameters Reference
118
+
== `StorageClass` Parameters Reference
119
119
120
120
For general information on the Kubernetes `StorageClass` resources, see https://kubernetes.io/docs/concepts/storage/storage-classes/[Storage Classes] in the Kubernetes Documentation.
121
121
@@ -124,67 +124,87 @@ THe `parameters` section of the `StorageClass` resource is specific to {aws}. Us
124
124
[role="no-scroll"]
125
125
[cols="4*", options="header"]
126
126
|===
127
-
|Parameters |Values |Default |Description
127
+
128
+
|Parameters
129
+
|Values
130
+
|Default
131
+
|Description
132
+
128
133
|"csi.storage.k8s.io/fstype"
129
134
|xfs, ext2, ext3, ext4
130
135
|ext4
131
136
|File system type that will be formatted during volume creation. This parameter is case sensitive!
|I/O operations per second per GiB. Can be specified for IO1, IO2, and GP3 volumes.
147
+
140
148
|"allowAutoIOPSPerGBIncrease"
141
149
|true, false
142
150
|false
143
151
|When `"true"`, the CSI driver increases IOPS for a volume when `iopsPerGB * <volume size>` is too low to fit into IOPS range supported by {aws}. This allows dynamic provisioning to always succeed, even when user specifies too small PVC capacity or `iopsPerGB` value. On the other hand, it may introduce additional costs, as such volumes have higher IOPS than requested in `iopsPerGB`.
152
+
144
153
|"iops"
145
154
|
146
155
|
147
156
|I/O operations per second. Can be specified for IO1, IO2, and GP3 volumes.
157
+
148
158
|"throughput"
149
159
|
150
160
|125
151
161
|Throughput in MiB/s. Only effective when gp3 volume type is specified.
162
+
152
163
|"encrypted"
153
164
|true, false
154
165
|false
155
166
|Whether the volume should be encrypted or not. Valid values are "true" or "false".
167
+
156
168
|"blockExpress"
157
169
|true, false
158
170
|false
159
171
|Enables the creation of io2 Block Express volumes.
172
+
160
173
|"kmsKeyId"
161
174
|
162
175
|
163
176
|The full ARN of the key to use when encrypting the volume. If not specified, {aws} will use the default KMS key for the region the volume is in. This will be an auto-generated key called `/aws/ebs` if not changed.
177
+
164
178
|"blockSize"
165
179
|
166
180
|
167
181
|The block size to use when formatting the underlying filesystem. Only supported on linux nodes and with fstype `ext2`, `ext3`, `ext4`, or `xfs`.
182
+
168
183
|"inodeSize"
169
184
|
170
185
|
171
186
|The inode size to use when formatting the underlying filesystem. Only supported on linux nodes and with fstype `ext2`, `ext3`, `ext4`, or `xfs`.
187
+
172
188
|"bytesPerInode"
173
189
|
174
190
|
175
191
|The `bytes-per-inode` to use when formatting the underlying filesystem. Only supported on linux nodes and with fstype `ext2`, `ext3`, `ext4`.
192
+
176
193
|"numberOfInodes"
177
194
|
178
195
|
179
196
|The `number-of-inodes` to use when formatting the underlying filesystem. Only supported on linux nodes and with fstype `ext2`, `ext3`, `ext4`.
197
+
180
198
|"ext4BigAlloc"
181
199
|true, false
182
200
|false
183
201
|Changes the `ext4` filesystem to use clustered block allocation by enabling the `bigalloc` formatting option. Warning: `bigalloc` may not be fully supported with your node's Linux kernel.
202
+
184
203
|"ext4ClusterSize"
185
204
|
186
205
|
187
206
|The cluster size to use when formatting an `ext4` filesystem when the `bigalloc` feature is enabled. Note: The `ext4BigAlloc` parameter must be set to true.
207
+
188
208
|===
189
209
190
210
For more information, see the https://github.com/kubernetes-sigs/aws-ebs-csi-driver/blob/master/docs/parameters.md[{aws} EBS CSI Driver] on GitHub.
@@ -199,7 +219,7 @@ The block storage capability of EKS Auto Mode is different from the EBS CSI Driv
199
219
** You cannot use the node startup taint feature to prevent pod scheduling before storage capability readiness
200
220
* Custom Tags on Dynamically Provisioned Volumes
201
221
** You cannot use the extra-tag CLI flag to configure custom tags on dynamically provisioned EBS volumes
202
-
** You can use StorageClass Tagging to add custom tags. EKS Auto Mode will add tags to the associated {aws} resources. You will need to update the Cluster IAM Role for custom tags. For more information, see <<tag-prop>>.
222
+
** You can use `StorageClass` tagging to add custom tags. EKS Auto Mode will add tags to the associated {aws} resources. You will need to update the Cluster IAM Role for custom tags. For more information, see <<tag-prop>>.
203
223
* EBS Detailed Performance Metrics
204
224
** You cannot access Prometheus metrics for EBS detailed performance
The StorageClass defines how EKS Auto Mode will provision EBS volumes.
35
+
The `StorageClass` defines how EKS Auto Mode will provision EBS volumes.
36
36
37
-
EKS Auto Mode does not create a StorageClass for you. You must create a StorageClass referencing `ebs.csi.eks.amazonaws.com` to use the storage capability of EKS Auto Mode.
37
+
EKS Auto Mode does not create a `StorageClass` for you. You must create a `StorageClass` referencing `ebs.csi.eks.amazonaws.com` to use the storage capability of EKS Auto Mode.
Copy file name to clipboardExpand all lines: latest/ug/security/iam-reference/security-iam-awsmanpol.adoc
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -369,7 +369,7 @@ View details about updates to {aws} managed policies for Amazon EKS since this s
369
369
370
370
Added the ability for the EBS CSI Driver to modify tags on existing volumes. The EBS CSI Driver can modify tags of existing volumes via a parameters in Kubernetes VolumeAttributesClasses.
371
371
372
-
Added the ability for the EBS CSI Driver to enable Fast Snapshot Restore (FSR) on EBS volumes. The EBS CSI Driver can enable FSR on new volumes via parameters in Kubernetes StorageClasses.
372
+
Added the ability for the EBS CSI Driver to enable Fast Snapshot Restore (FSR) on EBS volumes. The EBS CSI Driver can enable FSR on new volumes via parameters in Kubernetes storage classes.
373
373
|January 13, 2025
374
374
375
375
|Added permissions to <<security-iam-awsmanpol-AmazonEKSLoadBalancingPolicy>>.
Copy file name to clipboardExpand all lines: latest/ug/storage/ebs-csi-migration-faq.adoc
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -118,7 +118,7 @@ Yes, but volume operations requiring the Amazon EBS CSI driver will fail after y
118
118
The default `StorageClass` behavior remains unchanged. With each new cluster, Amazon EKS applies a `kubernetes.io/aws-ebs` based `StorageClass` named `gp2`. We don't plan to ever remove this `StorageClass` from newly created clusters. Separate from the cluster default `StorageClass`, if you create an `ebs.csi.aws.com` based `StorageClass` without specifying a volume type, the Amazon EBS CSI driver will default to using `gp3`.
119
119
120
120
[#csi-migration-faq-existing-storageclasses]
121
-
== Will Amazon EKS make any changes to `StorageClasses` already present in my existing cluster when I update my cluster to version `1.23`?
121
+
== Will Amazon EKS make any changes to storage classes already present in my existing cluster when I update my cluster to version `1.23`?
122
122
123
123
No.
124
124
@@ -136,7 +136,7 @@ The new https://github.com/kubernetes-sigs/aws-ebs-csi-driver/blob/master/docs/m
136
136
[#csi-migration-faq-windows]
137
137
== Is migration supported for Windows workloads?
138
138
139
-
Yes. If you're installing the Amazon EBS CSI driver using the open source Helm chart, set `node.enableWindows` to `true`. This is set by default if installing the Amazon EBS CSI driver as an Amazon EKS add-on. When creating `StorageClasses`, set the `fsType` to a Windows file system, such as `ntfs`. Volume operations for Windows workloads are then migrated to the Amazon EBS CSI driver the same as they are for Linux workloads.
139
+
Yes. If you're installing the Amazon EBS CSI driver using the open source Helm chart, set `node.enableWindows` to `true`. This is set by default if installing the Amazon EBS CSI driver as an Amazon EKS add-on. When creating storage classes, set the `fsType` to a Windows file system, such as `ntfs`. Volume operations for Windows workloads are then migrated to the Amazon EBS CSI driver the same as they are for Linux workloads.
140
140
141
141
142
142
📝 https://github.com/search?q=repo%3Aawsdocs%2Famazon-eks-user-guide+%5B%23ebs-csi-migration-faq%5D&type=code[Edit this page on GitHub]
Copy file name to clipboardExpand all lines: latest/ug/what-is/kubernetes-concepts.adoc
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -212,7 +212,7 @@ When you define a Pod, you assign a set of attributes to it. Those attributes mu
212
212
213
213
214
214
215
-
* *Storage* -- When a running container is stopped and deleted, data storage in that container will disappear, unless you set up more permanent storage. [.noloc]`Kubernetes` supports many different storage types and abstracts them under the umbrella of https://kubernetes.io/docs/concepts/storage/volumes/[Volumes]. Storage types include https://kubernetes.io/docs/concepts/storage/volumes/#cephfs[CephFS], https://kubernetes.io/docs/concepts/storage/volumes/#nfs[NFS], https://kubernetes.io/docs/concepts/storage/volumes/#iscsi[iSCSI], and others. You can even use a https://kubernetes.io/docs/concepts/storage/volumes/#local[local block device] from the local computer. With one of those storage types available from your cluster, you can mount the storage volume to a selected mount point in your container's file system. A https://kubernetes.io/docs/concepts/storage/persistent-volumes/[Persistent Volume] is one that continues to exist after the Pod is deleted, while an https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/[Ephemeral Volume] is deleted when the Pod is deleted. If your cluster administrator created different https://kubernetes.io/docs/concepts/storage/storage-classes/[StorageClasses] for your cluster, you might have the option for choosing the attributes of the storage you use, such as whether the volume is deleted or reclaimed after use, whether it will expand if more space is needed, and even whether it meets certain performance requirements.
215
+
* *Storage* -- When a running container is stopped and deleted, data storage in that container will disappear, unless you set up more permanent storage. [.noloc]`Kubernetes` supports many different storage types and abstracts them under the umbrella of https://kubernetes.io/docs/concepts/storage/volumes/[Volumes]. Storage types include https://kubernetes.io/docs/concepts/storage/volumes/#cephfs[CephFS], https://kubernetes.io/docs/concepts/storage/volumes/#nfs[NFS], https://kubernetes.io/docs/concepts/storage/volumes/#iscsi[iSCSI], and others. You can even use a https://kubernetes.io/docs/concepts/storage/volumes/#local[local block device] from the local computer. With one of those storage types available from your cluster, you can mount the storage volume to a selected mount point in your container's file system. A https://kubernetes.io/docs/concepts/storage/persistent-volumes/[Persistent Volume] is one that continues to exist after the Pod is deleted, while an https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/[Ephemeral Volume] is deleted when the Pod is deleted. If your cluster administrator created different https://kubernetes.io/docs/concepts/storage/storage-classes/[storage classes] for your cluster, you might have the option for choosing the attributes of the storage you use, such as whether the volume is deleted or reclaimed after use, whether it will expand if more space is needed, and even whether it meets certain performance requirements.
216
216
* *Secrets*-- By making https://kubernetes.io/docs/concepts/configuration/secret/[Secrets] available to containers in Pod specs, you can provide the permissions those containers need to access file systems, data bases, or other protected assets. Keys, passwords, and tokens are among the items that can be stored as secrets. Using secrets makes it so you don't have to store this information in container images, but need only make the secrets available to running containers. Similar to Secrets are https://kubernetes.io/docs/concepts/configuration/configmap/[ConfigMaps]. A `ConfigMap` tends to hold less critical information, such as key-value pairs for configuring a service.
217
217
* *Container resources*-- Objects for further configuring containers can take the form of resource configuration. For each container, you can request the amount of memory and CPU that it can use, as well as place limits of the total amount of those resources that the container can use. See https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/[Resource Management for Pods and Containers] for examples.
218
218
* *Disruptions*-- Pods can be disrupted involuntarily (a node goes down) or voluntarily (an upgrade is desired). By configuring a https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#pod-disruption-budgets[Pod disruption budget], you can exert some control over how available your application remains when disruptions occur. See https://kubernetes.io/docs/tasks/run-application/configure-pdb/[Specifying a Disruption Budget] for your application for examples.
0 commit comments