|
| 1 | +:_content-type: ASSEMBLY |
| 2 | +[id="rosa-persistent-storage-aws-ebs"] |
| 3 | += Persistent storage using AWS Elastic Block Store (EBS) |
| 4 | +include::modules/attributes-openshift-dedicated.adoc[] |
| 5 | +:context: rosa-persistent-storage-aws-ebs |
| 6 | + |
| 7 | +toc::[] |
| 8 | + |
| 9 | +{product-title} (ROSA) clusters are prebuilt with two storage classes that use AWS Elastic Block Store (EBS) volumes. These storage classes are ready to use and some familiarity with Kubernetes and AWS is assumed. |
| 10 | + |
| 11 | +Following are the two prebuilt storage classes: |
| 12 | +[options="header"] |
| 13 | + |
| 14 | +|=== |
| 15 | + |
| 16 | +| Name | Provisioner |
| 17 | + |
| 18 | +| gp2 | kubernetes.io/aws-ebs |
| 19 | + |
| 20 | +| gp2-csi | ebs.csi.aws.com |
| 21 | + |
| 22 | +|=== |
| 23 | +The gp2 storage class is set as default; however, you can select either one as the default storage class. |
| 24 | + |
| 25 | +The Kubernetes persistent volume framework enables administrators to provision a cluster with persistent storage and gives users a way to request those resources without having any knowledge of the underlying infrastructure. You can dynamically provision AWS EBS volumes. Persistent volumes are not bound to a single project or namespace; therefore, the volumes can be shared across ROSA clusters. Persistent volume claims are specific to a project or namespace and can be requested by users. |
| 26 | + |
| 27 | +[IMPORTANT] |
| 28 | +==== |
| 29 | +* ROSA defaults to using an in-tree, or non-Container Storage Interface (CSI), plug-in to provision AWS EBS storage. In future ROSA versions, volumes provisioned using existing in-tree plug-ins are planned for migration to their equivalent CSI driver. After full migration, the in-tree plug-ins are planned to be removed from the future versions of ROSA. |
| 30 | +* High-availability of storage in the infrastructure is left to the underlying storage provider. |
| 31 | +==== |
| 32 | + |
| 33 | +[id="format-persistent-storage-aws-ebs"] |
| 34 | +== Format of persistent volumes |
| 35 | +Before a ROSA cluster mounts the volume and passes it to a container, the cluster checks that the volume contains a file system as specified by the *fsType* parameter in the persistent volume definition. If the device is not formatted with a file system, all data from the device is erased and the device is automatically formatted with the given file system. |
| 36 | +This verification enables you to use unformatted AWS volumes as persistent volumes, as the ROSA cluster formats the AWS volumes before the first use. |
| 37 | + |
| 38 | +[id="capacity-persistent-storage-aws-ebs"] |
| 39 | +== Capacity of EBS volumes on a node |
| 40 | +By default, a ROSA cluster supports a maximum of 39 EBS volumes attached to one node. This limit is consistent with the link:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/volume_limits.html#linux-specific-volume-limits[AWS volume limits]. The volume limit depends on the instance type. |
| 41 | + |
| 42 | +[IMPORTANT] |
| 43 | +==== |
| 44 | +You must use either in-tree or CSI volumes and their respective storage classes, but never both volume types at the same time. The maximum attached EBS volume number is counted separately for in-tree and CSI volumes, so you could have up to 39 EBS volumes of each type. |
| 45 | +==== |
| 46 | + |
| 47 | +For information about accessing additional storage options, such as volume snapshots, that are not possible with in-tree volume plug-ins, see link:https://docs.openshift.com/container-platform/4.9/storage/container_storage_interface/persistent-storage-csi-ebs.html#persistent-storage-csi-ebs[Elastic Block Store CSI Driver Operator]. |
| 48 | + |
| 49 | +include::modules/rosa-howto-create-persistent-storage-aws-ebs.adoc[leveloffset=+1] |
0 commit comments