Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions modules/csi.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// Module included in the following assemblies:
//
// * storage/index.adoc

:_mod-docs-content-type: CONCEPT
[id="container-storage-interface_{context}"]
= Container Storage Interface (CSI)

[role="_abstract"]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This abstract is 421 characters. If possible, try to get it down to 300 or fewer so that you won't run into issues when we move to DITA. I think the shortdesc tag in DITA doesn't allow anything over 300 characters.

CSI is an API specification for the management of container storage across different container orchestration (CO) systems. You can manage the storage volumes within the container native environments, without having specific knowledge of the underlying storage infrastructure. With the CSI, storage works uniformly across different container orchestration systems, regardless of the storage vendors you are using.
10 changes: 10 additions & 0 deletions modules/dynamic-provisioning.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// Module included in the following assemblies:
//
// * storage/index.adoc

:_mod-docs-content-type: CONCEPT
[id="dynamic-provisioning-overview_{context}"]
= Dynamic Provisioning

[role="_abstract"]
Dynamic Provisioning allows you to create storage volumes on-demand, eliminating the need for cluster administrators to pre-provision storage.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Dynamic Provisioning allows you to create storage volumes on-demand, eliminating the need for cluster administrators to pre-provision storage.
With Dynamic Provisioning, you can create storage volumes on-demand, eliminating the need for cluster administrators to pre-provision storage.

This is definitely a nit, but avoid anthropomorphic language where possible.

16 changes: 10 additions & 6 deletions modules/openshift-storage-common-terms.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
[id="openshift-storage-common-terms_{context}"]
= Glossary of common terms for {product-title} storage

This glossary defines common terms that are used in the storage content.
[role="_abstract"]
Review this glossary that defines common terms that are used in the storage content.

Access modes:: Volume access modes describe volume capabilities. You can use access modes to match persistent volume claim (PVC) and persistent volume (PV). The following are the examples of access modes:

Expand Down Expand Up @@ -53,8 +54,7 @@ Local volumes:: A local volume represents a mounted local storage device such as
Nested mount points:: A nested mount point is a mount point that attempts to use a mount point created by a previous volume.
+
.Example pod definition with nested mount points
+
[source,terminal]
[source,yaml]
----
kind: Pod
apiVersion: v1
Expand All @@ -72,7 +72,7 @@ spec:
volumeMounts:
- mountPath: /mnt/web
name: web
- mountPath: /mnt/web/redis <1>
- mountPath: /mnt/web/redis
name: redis
volumes:
- name: redis
Expand All @@ -82,9 +82,13 @@ spec:
persistentVolumeClaim:
claimName: "web"
----
<1> Nested mount point
+
The `spec.containers.volumeMounts.mountPath` value of `/mnt/web/redis` is a nested mount point.
+
[WARNING]
====
Do _not_ use nested mount points because {product-title} does not guarantee the order in which mount points are created. Such usage is prone to race conditions and undefined behavior.
====

ifndef::openshift-dedicated,openshift-rosa,openshift-rosa-hcp[]
NFS:: A Network File System (NFS) that allows remote hosts to mount file systems over a network and interact with those file systems as though they are mounted locally. This enables system administrators to consolidate resources onto centralized servers on the network.
Expand Down Expand Up @@ -127,4 +131,4 @@ Storage class:: A storage class provides a way for administrators to describe th

ifndef::openshift-dedicated,openshift-rosa,openshift-rosa-hcp[]
VMware vSphere’s Virtual Machine Disk (VMDK) volumes:: Virtual Machine Disk (VMDK) is a file format that describes containers for virtual hard disk drives that is used in virtual machines.
endif::openshift-dedicated,openshift-rosa,openshift-rosa-hcp[]
endif::openshift-dedicated,openshift-rosa,openshift-rosa-hcp[]
20 changes: 20 additions & 0 deletions modules/storage-types.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// Module included in the following assemblies:
//
// * storage/index.adoc

:_mod-docs-content-type: CONCEPT
[id="storage-types_{context}"]
= Storage types

[role="_abstract"]
{product-title} storage is broadly classified into two categories, namely ephemeral storage and persistent storage.

[id="ephemeral-storage_{context}"]
== Ephemeral storage

Pods and containers are ephemeral or transient in nature and designed for stateless applications. Ephemeral storage allows administrators and developers to better manage the local storage for some of their operations.

[id="persistent-storage_{context}"]
== Persistent storage

Stateful applications deployed in containers require persistent storage. {product-title} uses a pre-provisioned storage framework called persistent volumes (PV) to allow cluster administrators to provision persistent storage. The data inside these volumes can exist beyond the lifecycle of an individual pod. Developers can use persistent volume claims (PVCs) to request storage requirements.
33 changes: 15 additions & 18 deletions storage/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -7,36 +7,33 @@ include::_attributes/common-attributes.adoc[]
toc::[]

ifndef::openshift-rosa,openshift-rosa-hcp[]
[role="_abstract"]
{product-title} supports multiple types of storage, both for on-premise and cloud providers. You can manage container storage for persistent and non-persistent data in an {product-title} cluster.
endif::openshift-rosa,openshift-rosa-hcp[]

ifdef::openshift-rosa,openshift-rosa-hcp[]
[role="_abstract"]
{product-title} supports Amazon Elastic Block Store (Amazon EBS) and Amazon Elastic File System (Amazon EFS) storage. You can manage container storage for persistent and non-persistent data in an {product-title} cluster.
endif::openshift-rosa,openshift-rosa-hcp[]

include::modules/openshift-storage-common-terms.adoc[leveloffset=+1]

[id="storage-types"]
== Storage types
include::modules/storage-types.adoc[leveloffset=+1]

{product-title} storage is broadly classified into two categories, namely ephemeral storage and persistent storage.
[role="_additional-resources"]
.Additional resources
* xref:../storage/understanding-ephemeral-storage.adoc#understanding-ephemeral-storage[Understanding ephemeral storage]
* xref:../storage/understanding-persistent-storage.adoc#understanding-persistent-storage[Understanding persistent storage]

[id="ephemeral-storage"]
=== Ephemeral storage
include::modules/dynamic-provisioning.adoc[leveloffset=+1]

Pods and containers are ephemeral or transient in nature and designed for stateless applications. Ephemeral storage allows administrators and developers to better manage the local storage for some of their operations. For more information about ephemeral storage overview, types, and management, see xref:../storage/understanding-ephemeral-storage.adoc#understanding-ephemeral-storage[Understanding ephemeral storage].
[role="_additional-resources"]
.Additional resources
* xref:../storage/dynamic-provisioning.adoc#dynamic-provisioning[Dynamic provisioning]

[id="persistent-storage"]
=== Persistent storage

Stateful applications deployed in containers require persistent storage. {product-title} uses a pre-provisioned storage framework called persistent volumes (PV) to allow cluster administrators to provision persistent storage. The data inside these volumes can exist beyond the lifecycle of an individual pod. Developers can use persistent volume claims (PVCs) to request storage requirements. For more information about persistent storage overview, configuration, and lifecycle, see xref:../storage/understanding-persistent-storage.adoc#understanding-persistent-storage[Understanding persistent storage].
include::modules/csi.adoc[leveloffset=+1]

[id="container-storage-interface"]
== Container Storage Interface (CSI)

CSI is an API specification for the management of container storage across different container orchestration (CO) systems. You can manage the storage volumes within the container native environments, without having specific knowledge of the underlying storage infrastructure. With the CSI, storage works uniformly across different container orchestration systems, regardless of the storage vendors you are using. For more information about CSI, see xref:../storage/container_storage_interface/persistent-storage-csi.adoc#persistent-storage-csi[Using Container Storage Interface (CSI)].

[id="dynamic-provisioning-overview"]
== Dynamic Provisioning

Dynamic Provisioning allows you to create storage volumes on-demand, eliminating the need for cluster administrators to pre-provision storage. For more information about dynamic provisioning, see xref:../storage/dynamic-provisioning.adoc#dynamic-provisioning[Dynamic provisioning].
[role="_additional-resources"]
.Additional resources
* xref:../storage/container_storage_interface/persistent-storage-csi.adoc#persistent-storage-csi[Using Container Storage Interface (CSI)]