Skip to content

Commit

Permalink
OSDOCS-3996-port-storage-book-osd-rosa
Browse files Browse the repository at this point in the history
  • Loading branch information
bhardesty committed Feb 28, 2023
1 parent 2d08464 commit 702cf2e
Show file tree
Hide file tree
Showing 58 changed files with 503 additions and 450 deletions.
34 changes: 28 additions & 6 deletions _topic_maps/_topic_map_osd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -195,14 +195,36 @@ Name: Storage
Dir: storage
Distros: openshift-dedicated
Topics:
- Name: Persistent storage
- Name: Storage overview
File: index
- Name: Understanding ephemeral storage
File: understanding-ephemeral-storage
- Name: Understanding persistent storage
File: understanding-persistent-storage
- Name: Configuring persistent storage
Dir: persistent_storage
Distros: openshift-dedicated
Topics:
- Name: Persistent storage using AWS EFS
File: osd-persistent-storage-aws
- Name: AWS Elastic File Service CSI Driver Operator
File: osd-persistent-storage-aws-efs-csi
- Name: Persistent storage using AWS Elastic Block Store
File: persistent-storage-aws
- Name: Persistent storage using GCE Persistent Disk
File: persistent-storage-gce
- Name: Using Container Storage Interface (CSI)
Dir: container_storage_interface
Topics:
- Name: Configuring CSI volumes
File: persistent-storage-csi
- Name: AWS Elastic Block Store CSI Driver Operator
File: persistent-storage-csi-ebs
- Name: AWS Elastic File Service CSI Driver Operator
File: osd-persistent-storage-aws-efs-csi
- Name: GCP PD CSI Driver Operator
File: persistent-storage-csi-gcp-pd
#- Name: GCP Filestore CSI Driver Operator
# File: persistent-storage-csi-google-cloud-file
- Name: Generic ephemeral volumes
File: generic-ephemeral-vols
- Name: Dynamic provisioning
File: dynamic-provisioning
---
Name: Networking
Dir: networking
Expand Down
30 changes: 21 additions & 9 deletions _topic_maps/_topic_map_rosa.yml
Original file line number Diff line number Diff line change
Expand Up @@ -279,22 +279,34 @@ Topics:
- Name: Available services
File: rosa-available-services
---
Name: Storage and registry
Name: Storage
Dir: storage
Distros: openshift-rosa
Topics:
# - Name: Configuring the internal registry
# File: configuring-registry-operator
- Name: Persistent storage
- Name: Storage overview
File: index
- Name: Understanding ephemeral storage
File: understanding-ephemeral-storage
- Name: Understanding persistent storage
File: understanding-persistent-storage
- Name: Configuring persistent storage
Dir: persistent_storage
Distros: openshift-rosa
Topics:
- Name: Persistent storage using AWS Elastic Block Store
File: rosa-persistent-storage-aws-ebs
- Name: Persistent storage using AWS Elastic File Service
File: osd-persistent-storage-aws
File: persistent-storage-aws
- Name: Using Container Storage Interface (CSI)
Dir: container_storage_interface
Topics:
- Name: Configuring CSI volumes
File: persistent-storage-csi
- Name: AWS Elastic Block Store CSI Driver Operator
File: persistent-storage-csi-ebs
- Name: AWS Elastic File Service CSI Driver Operator
File: rosa-persistent-storage-aws-efs-csi
File: osd-persistent-storage-aws-efs-csi
- Name: Generic ephemeral volumes
File: generic-ephemeral-vols
- Name: Dynamic provisioning
File: dynamic-provisioning
---
Name: Networking
Dir: networking
Expand Down
8 changes: 8 additions & 0 deletions modules/dynamic-provisioning-available-plugins.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -18,20 +18,23 @@ configured provider's API to create new storage resources:
|Provisioner plugin name
|Notes

ifndef::openshift-dedicated,openshift-rosa[]
|{rh-openstack-first} Cinder
|`kubernetes.io/cinder`
|

|{rh-openstack} Manila Container Storage Interface (CSI)
|`manila.csi.openstack.org`
|Once installed, the OpenStack Manila CSI Driver Operator and ManilaDriver automatically create the required storage classes for all available Manila share types needed for dynamic provisioning.
endif::openshift-dedicated,openshift-rosa[]

|AWS Elastic Block Store (EBS)
|`kubernetes.io/aws-ebs`
|For dynamic provisioning when using multiple clusters in different zones,
tag each node with `Key=kubernetes.io/cluster/<cluster_name>,Value=<cluster_id>`
where `<cluster_name>` and `<cluster_id>` are unique per cluster.

ifndef::openshift-dedicated,openshift-rosa[]
|Azure Disk
|`kubernetes.io/azure-disk`
|
Expand All @@ -40,12 +43,15 @@ where `<cluster_name>` and `<cluster_id>` are unique per cluster.
|`kubernetes.io/azure-file`
|The `persistent-volume-binder` service account requires permissions to create
and get secrets to store the Azure storage account and keys.
endif::openshift-dedicated,openshift-rosa[]

ifndef::openshift-rosa[]
|GCE Persistent Disk (gcePD)
|`kubernetes.io/gce-pd`
|In multi-zone configurations, it is advisable to run one {product-title}
cluster per GCE project to avoid PVs from being created in zones where
no node in the current cluster exists.
endif::openshift-rosa[]

//|GlusterFS
//|`kubernetes.io/glusterfs`
Expand All @@ -59,9 +65,11 @@ no node in the current cluster exists.
//|`netapp.io/trident`
//|Storage orchestrator for NetApp ONTAP, SolidFire, and E-Series storage.

ifndef::openshift-dedicated,openshift-rosa[]
|link:https://www.vmware.com/support/vsphere.html[VMware vSphere]
|`kubernetes.io/vsphere-volume`
|
endif::openshift-dedicated,openshift-rosa[]

//|HPE Nimble Storage
//|`hpe.com/nimble`
Expand Down
2 changes: 1 addition & 1 deletion modules/dynamic-provisioning-aws-definition.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ parameters:
fsType: ext4 <6>
----
<1> (required) Name of the storage class. The persistent volume claim uses this storage class for provisioning the associated persistent volumes.
<2> (required) Select from `io1`, `gp2`, `sc1`, `st1`. The default is `gp2`.
<2> (required) Select from `io1`, `gp3`, `sc1`, `st1`. The default is `gp3`.
See the
link:http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html[AWS documentation]
for valid Amazon Resource Name (ARN) values.
Expand Down
14 changes: 8 additions & 6 deletions modules/dynamic-provisioning-change-default-class.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,12 @@
[id="change-default-storage-class_{context}"]
= Changing the default storage class

Use the following process to change the default storage class.
For example you have two defined storage classes, `gp2` and `standard`, and you want to change the default storage class from `gp2` to `standard`.
Use this procedure to change the default storage class.
For example, you have two defined storage classes, `gp3` and `standard`, and you want to change the default storage class from `gp3` to `standard`.

. List the storage class:
.Procedure

. List the storage classes:
+
[source,terminal]
----
Expand All @@ -22,7 +24,7 @@ $ oc get storageclass
[source,terminal]
----
NAME TYPE
gp2 (default) kubernetes.io/aws-ebs <1>
gp3 (default) kubernetes.io/aws-ebs <1>
standard kubernetes.io/aws-ebs
----
<1> `(default)` denotes the default storage class.
Expand All @@ -31,7 +33,7 @@ standard kubernetes.io/aws-ebs
+
[source,terminal]
----
$ oc patch storageclass gp2 -p '{"metadata": {"annotations": {"storageclass.kubernetes.io/is-default-class": "false"}}}'
$ oc patch storageclass gp3 -p '{"metadata": {"annotations": {"storageclass.kubernetes.io/is-default-class": "false"}}}'
----

. Make another storage class the default by setting the `storageclass.kubernetes.io/is-default-class` annotation to `true`:
Expand All @@ -52,6 +54,6 @@ $ oc get storageclass
[source,terminal]
----
NAME TYPE
gp2 kubernetes.io/aws-ebs
gp3 kubernetes.io/aws-ebs
standard (default) kubernetes.io/aws-ebs
----
12 changes: 9 additions & 3 deletions modules/dynamic-provisioning-defining-storage-class.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,22 @@
`StorageClass` objects are currently a globally scoped object and must be
created by `cluster-admin` or `storage-admin` users.

ifndef::microshift[]
ifndef::microshift,openshift-rosa[]
[IMPORTANT]
====
The Cluster Storage Operator might install a default storage class depending
on the platform in use. This storage class is owned and controlled by the
operator. It cannot be deleted or modified beyond defining annotations
Operator. It cannot be deleted or modified beyond defining annotations
and labels. If different behavior is desired, you must define a custom
storage class.
====
endif::microshift[]
endif::microshift,openshift-rosa[]
ifdef::openshift-rosa[]
[IMPORTANT]
====
The Cluster Storage Operator installs a default storage class. This storage class is owned and controlled by the Operator. It cannot be deleted or modified beyond defining annotations and labels. If different behavior is desired, you must define a custom storage class.
====
endif::openshift-rosa[]

The following sections describe the basic definition for a
`StorageClass` object and specific examples for each of the supported plugin types.
2 changes: 1 addition & 1 deletion modules/dynamic-provisioning-storage-class-definition.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ metadata:
...
provisioner: kubernetes.io/aws-ebs <5>
parameters: <6>
type: gp2
type: gp3
...
----
<1> (required) The API object type.
Expand Down
10 changes: 10 additions & 0 deletions modules/openshift-storage-common-terms.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ Access modes:: Volume access modes describe volume capabilities. You can use acc
* ReadWriteMany (RWX)
* ReadWriteOncePod (RWOP)
ifndef::openshift-dedicated,openshift-rosa[]
Cinder:: The Block Storage service for {rh-openstack-first} which manages the administration, security, and scheduling of all volumes.
endif::openshift-dedicated,openshift-rosa[]

Config map:: A config map provides a way to inject configuration data into pods. You can reference the data stored in a config map in a volume of type `ConfigMap`. Applications running in a pod can use this data.

Expand All @@ -28,14 +30,18 @@ The framework allows you to create storage volumes on-demand, eliminating the ne
Ephemeral storage::
Pods and containers can require temporary or transient local storage for their operation. The lifetime of this ephemeral storage does not extend beyond the life of the individual pod, and this ephemeral storage cannot be shared across pods.

ifndef::openshift-dedicated,openshift-rosa[]
Fiber channel:: A networking technology that is used to transfer data among data centers, computer servers, switches and storage.

FlexVolume:: FlexVolume is an out-of-tree plugin interface that uses an exec-based model to interface with storage drivers. You must install the FlexVolume driver binaries in a pre-defined volume plugin path on each node and in some cases the control plane nodes.
endif::openshift-dedicated,openshift-rosa[]

fsGroup:: The fsGroup defines a file system group ID of a pod.

ifndef::openshift-dedicated,openshift-rosa[]
iSCSI:: Internet Small Computer Systems Interface (iSCSI) is an Internet Protocol-based storage networking standard for linking data storage facilities.
An iSCSI volume allows an existing iSCSI (SCSI over IP) volume to be mounted into your Pod.
endif::openshift-dedicated,openshift-rosa[]

hostPath::
A hostPath volume in an OpenShift Container Platform cluster mounts a file or directory from the host node’s filesystem into your pod.
Expand All @@ -44,7 +50,9 @@ KMS key:: The Key Management Service (KMS) helps you achieve the required level

Local volumes:: A local volume represents a mounted local storage device such as a disk, partition or directory.

ifndef::openshift-dedicated,openshift-rosa[]
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.
endif::openshift-dedicated,openshift-rosa[]

OpenShift Data Foundation::
A provider of agnostic persistent storage for OpenShift Container Platform supporting file, block, and object storage, either in-house or in hybrid clouds
Expand Down Expand Up @@ -75,4 +83,6 @@ Storage:: {product-title} supports many types of storage, both for on-premise an

Storage class:: A storage class provides a way for administrators to describe the classes of storage they offer. Different classes might map to quality of service levels, backup policies, arbitrary policies determined by the cluster administrators.

ifndef::openshift-dedicated,openshift-rosa[]
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[]
Loading

0 comments on commit 702cf2e

Please sign in to comment.