Skip to content

Commit cb71885

Browse files
committed
Consistency edits.
1 parent 1c846f5 commit cb71885

File tree

7 files changed

+49
-29
lines changed

7 files changed

+49
-29
lines changed

latest/ug/automode/create-storage-class.adoc

Lines changed: 32 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
[.topic]
22
[#create-storage-class]
3-
= Create a Storage Class
4-
:info_titleabbrev: Create storage class
3+
= Create a storage class
4+
:info_titleabbrev: Create StorageClass
55

66
include::../attributes.txt[]
77

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.
99

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.
1111

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.
1313

1414
First, create a file named `storage-class.yaml`:
1515

@@ -40,7 +40,7 @@ kubectl apply -f storage-class.yaml
4040
- `provisioner: ebs.csi.eks.amazonaws.com` - Uses EKS Auto Mode
4141
- `volumeBindingMode: WaitForFirstConsumer` - Delays volume creation until a pod needs it
4242
- `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.
4444
- `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.
4545
4646
== Use self-managed KMS key to encrypt EBS volumes
@@ -60,8 +60,8 @@ link:IAM/latest/UserGuide/access_policies_job-functions_create-policies.html["Cr
6060

6161
Update the following values in the policy below:
6262

63-
* `<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`
6565

6666
[source,json]
6767
----
@@ -104,7 +104,7 @@ Update the following values in the policy below:
104104
}
105105
----
106106

107-
=== Sample self-managed KMS StorageClass
107+
=== Sample self-managed KMS `StorageClass`
108108

109109
[source,yaml]
110110
----
@@ -115,7 +115,7 @@ parameters:
115115
----
116116

117117

118-
== StorageClass Parameters Reference
118+
== `StorageClass` Parameters Reference
119119

120120
For general information on the Kubernetes `StorageClass` resources, see https://kubernetes.io/docs/concepts/storage/storage-classes/[Storage Classes] in the Kubernetes Documentation.
121121

@@ -124,67 +124,87 @@ THe `parameters` section of the `StorageClass` resource is specific to {aws}. Us
124124
[role="no-scroll"]
125125
[cols="4*", options="header"]
126126
|===
127-
|Parameters |Values |Default |Description
127+
128+
|Parameters
129+
|Values
130+
|Default
131+
|Description
132+
128133
|"csi.storage.k8s.io/fstype"
129134
|xfs, ext2, ext3, ext4
130135
|ext4
131136
|File system type that will be formatted during volume creation. This parameter is case sensitive!
137+
132138
|"type"
133139
|io1, io2, gp2, gp3, sc1, st1, standard, sbp1, sbg1
134140
|gp3
135141
|EBS volume type.
142+
136143
|"iopsPerGB"
137144
|
138145
|
139146
|I/O operations per second per GiB. Can be specified for IO1, IO2, and GP3 volumes.
147+
140148
|"allowAutoIOPSPerGBIncrease"
141149
|true, false
142150
|false
143151
|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+
144153
|"iops"
145154
|
146155
|
147156
|I/O operations per second. Can be specified for IO1, IO2, and GP3 volumes.
157+
148158
|"throughput"
149159
|
150160
|125
151161
|Throughput in MiB/s. Only effective when gp3 volume type is specified.
162+
152163
|"encrypted"
153164
|true, false
154165
|false
155166
|Whether the volume should be encrypted or not. Valid values are "true" or "false".
167+
156168
|"blockExpress"
157169
|true, false
158170
|false
159171
|Enables the creation of io2 Block Express volumes.
172+
160173
|"kmsKeyId"
161174
|
162175
|
163176
|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+
164178
|"blockSize"
165179
|
166180
|
167181
|The block size to use when formatting the underlying filesystem. Only supported on linux nodes and with fstype `ext2`, `ext3`, `ext4`, or `xfs`.
182+
168183
|"inodeSize"
169184
|
170185
|
171186
|The inode size to use when formatting the underlying filesystem. Only supported on linux nodes and with fstype `ext2`, `ext3`, `ext4`, or `xfs`.
187+
172188
|"bytesPerInode"
173189
|
174190
|
175191
|The `bytes-per-inode` to use when formatting the underlying filesystem. Only supported on linux nodes and with fstype `ext2`, `ext3`, `ext4`.
192+
176193
|"numberOfInodes"
177194
|
178195
|
179196
|The `number-of-inodes` to use when formatting the underlying filesystem. Only supported on linux nodes and with fstype `ext2`, `ext3`, `ext4`.
197+
180198
|"ext4BigAlloc"
181199
|true, false
182200
|false
183201
|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+
184203
|"ext4ClusterSize"
185204
|
186205
|
187206
|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+
188208
|===
189209

190210
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
199219
** You cannot use the node startup taint feature to prevent pod scheduling before storage capability readiness
200220
* Custom Tags on Dynamically Provisioned Volumes
201221
** 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>>.
203223
* EBS Detailed Performance Metrics
204224
** You cannot access Prometheus metrics for EBS detailed performance
205225

latest/ug/automode/migrate-auto.adoc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,19 +47,19 @@ Use the following migration reference to configure Kubernetes Resources to be ow
4747

4848
| Capability | Resource | Field | Self Managed | EKS Auto Mode
4949

50-
| Block Storage | StorageClass | provisioner | kubernetes.io/aws-ebs | ebs.csi.eks.amazonaws.com
50+
| Block Storage | `StorageClass` | `provisioner` | `kubernetes.io/aws-ebs` | `ebs.csi.eks.amazonaws.com`
5151

52-
| Load Balancing | Service | loadBalancerClass | service.k8s.aws/nlb | eks.amazonaws.com/nlb
52+
| Load Balancing | `Service` | `loadBalancerClass` | `service.k8s.aws/nlb` | `eks.amazonaws.com/nlb`
5353

54-
| Load Balancing | IngressClass | controller | ingress.k8s.aws/alb | eks.amazonaws.com/alb
54+
| Load Balancing | `IngressClass` | controller | `ingress.k8s.aws/alb` | `eks.amazonaws.com/alb`
5555

5656

5757

58-
|Load Balancing | IngressClassParams |apiversion |elbv2.k8s.aws/v1beta1 |eks.amazonaws.com/v1
58+
| Load Balancing | `IngressClassParams` | `apiversion` | `elbv2.k8s.aws/v1beta1` | `eks.amazonaws.com/v1`
5959

60-
|Load Balancing | TargetGroupBinding |apiversion |elbv2.k8s.aws/v1beta1 |eks.amazonaws.com/v1
60+
| Load Balancing | `TargetGroupBinding` | `apiversion` | `elbv2.k8s.aws/v1beta1` | `eks.amazonaws.com/v1`
6161

62-
| Compute | NodeClass | apiVersion | karpenter.sh/v1alpha5 | eks.amazonaws.com/v1
62+
| Compute | NodeClass | `apiVersion` | `karpenter.sh/v1alpha5` | `eks.amazonaws.com/v1`
6363

6464
|===
6565

latest/ug/automode/sample-storage-workload.adoc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ aws eks update-kubeconfig --name "${CLUSTER_NAME}"
3232

3333
## Step 2: Create the storage class
3434

35-
The StorageClass defines how EKS Auto Mode will provision EBS volumes.
35+
The `StorageClass` defines how EKS Auto Mode will provision EBS volumes.
3636

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.
3838

3939
. Create a file named `storage-class.yaml`:
4040
+
@@ -52,7 +52,7 @@ parameters:
5252
type: gp3
5353
encrypted: "true"
5454
----
55-
. Apply the StorageClass:
55+
. Apply the `StorageClass`:
5656
+
5757
[source,bash]
5858
----
@@ -69,7 +69,7 @@ kubectl apply -f storage-class.yaml
6969
7070
## Step 3: Create the persistent volume claim
7171

72-
The PVC requests storage from the StorageClass.
72+
The PVC requests storage from the `StorageClass`.
7373

7474
. Create a file named `pvc.yaml`:
7575
+
@@ -98,7 +98,7 @@ kubectl apply -f pvc.yaml
9898

9999
- `accessModes: ReadWriteOnce` - Volume can be mounted by one node at a time
100100
- `storage: 8Gi` - Requests an 8 GiB volume
101-
- `storageClassName: auto-ebs-sc` - References the StorageClass we created
101+
- `storageClassName: auto-ebs-sc` - References the `StorageClass` we created
102102
103103
## Step 4: Deploy the Application
104104

@@ -200,7 +200,7 @@ kubectl delete deployment/inflate-stateful pvc/auto-ebs-claim storageclass/auto-
200200

201201
## What's Happening Behind the Scenes
202202

203-
. The PVC requests storage from the StorageClass
203+
. The PVC requests storage from the `StorageClass`
204204
. When the Pod is scheduled:
205205
.. EKS Auto Mode provisions an EBS volume
206206
.. Creates a PersistentVolume

latest/ug/quickstart.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ parameters:
182182
type: gp3
183183
encrypted: "true"
184184
----
185-
. Apply the StorageClass:
185+
. Apply the `StorageClass`:
186186
+
187187
[source,bash]
188188
----

latest/ug/security/iam-reference/security-iam-awsmanpol.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,7 @@ View details about updates to {aws} managed policies for Amazon EKS since this s
369369

370370
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.
371371

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.
373373
|January 13, 2025
374374

375375
|Added permissions to <<security-iam-awsmanpol-AmazonEKSLoadBalancingPolicy>>.

latest/ug/storage/ebs-csi-migration-faq.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ Yes, but volume operations requiring the Amazon EBS CSI driver will fail after y
118118
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`.
119119

120120
[#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`?
122122

123123
No.
124124

@@ -136,7 +136,7 @@ The new https://github.com/kubernetes-sigs/aws-ebs-csi-driver/blob/master/docs/m
136136
[#csi-migration-faq-windows]
137137
== Is migration supported for Windows workloads?
138138

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.
140140

141141

142142
📝 https://github.com/search?q=repo%3Aawsdocs%2Famazon-eks-user-guide+%5B%23ebs-csi-migration-faq%5D&type=code[Edit this page on GitHub]

latest/ug/what-is/kubernetes-concepts.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ When you define a Pod, you assign a set of attributes to it. Those attributes mu
212212

213213

214214

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.
216216
* *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.
217217
* *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.
218218
* *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

Comments
 (0)