Skip to content

Commit 7ba4bb6

Browse files
Add clarification for backends persistent storage (#340) (#341)
* Add clarification for backends persistent storage Clarify that a dynamically created persistent volume is not required for STF, but rather that persistent volumes are requested with a PVC, but that statically defined volumes will still work. Add procedures and links to show how to configure different storageClasses and the requested volume size via PVC for the supported storage backends. * Update doc-Service-Telemetry-Framework/modules/con_primary-parameters-of-the-servicetelemetry-object.adoc * Update doc-Service-Telemetry-Framework/modules/con_primary-parameters-of-the-servicetelemetry-object.adoc * Update doc-Service-Telemetry-Framework/modules/con_primary-parameters-of-the-servicetelemetry-object.adoc * Update doc-Service-Telemetry-Framework/modules/con_primary-parameters-of-the-servicetelemetry-object.adoc * Update doc-Service-Telemetry-Framework/modules/con_primary-parameters-of-the-servicetelemetry-object.adoc * Update doc-Service-Telemetry-Framework/modules/con_primary-parameters-of-the-servicetelemetry-object.adoc Co-authored-by: JoanneOFlynn2018 <[email protected]> Co-authored-by: JoanneOFlynn2018 <[email protected]> Co-authored-by: JoanneOFlynn2018 <[email protected]>
1 parent 68942b2 commit 7ba4bb6

File tree

4 files changed

+96
-7
lines changed

4 files changed

+96
-7
lines changed

doc-Service-Telemetry-Framework/assemblies/assembly_installing-the-core-components-of-stf.adoc

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,11 @@ endif::[]
2929

3030
* For more information about Operators, see the https://docs.openshift.com/container-platform/{NextSupportedOpenShiftVersion}/operators/olm-what-operators-are.html[_Understanding Operators_] guide.
3131

32-
3332
include::../modules/proc_deploying-stf-to-the-openshift-environment.adoc[leveloffset=+1]
34-
35-
3633
include::../modules/proc_creating-a-servicetelemetry-object-in-openshift.adoc[leveloffset=+1]
3734
include::../modules/con_primary-parameters-of-the-servicetelemetry-object.adoc[leveloffset=+2]
3835
include::../modules/proc_removing-stf-from-the-openshift-environment.adoc[leveloffset=+1]
3936

40-
4137
//reset the context
4238
ifdef::parent-context[:context: {parent-context}]
4339
ifndef::parent-context[:!context:]

doc-Service-Telemetry-Framework/modules/con_persistent-volumes.adoc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,15 @@
22
= Persistent volumes
33

44
[role="_abstract"]
5-
{Project} ({ProjectShort}) uses persistent storage in {OpenShift} to instantiate volumes dynamically so that Prometheus and ElasticSearch can store metrics and events.
5+
{Project} ({ProjectShort}) uses persistent storage in {OpenShift} to request persistent volumes so that Prometheus and ElasticSearch can store metrics and events.
66

77
When you enable persistent storage through the Service Telemetry Operator, the Persistent Volume Claims (PVC) requested in an {ProjectShort} deployment results in an access mode of RWO (ReadWriteOnce). If your environment contains pre-provisioned persistent volumes, ensure that volumes of RWO are available in the {OpenShift} default configured `storageClass`.
88

99
.Additional resources
1010
* For more information about configuring persistent storage for {OpenShift}, see https://docs.openshift.com/container-platform/{NextSupportedOpenShiftVersion}/storage/understanding-persistent-storage.html[Understanding persistent storage.]
1111

1212
* For more information about recommended configurable storage technology in {OpenShift}, see https://docs.openshift.com/container-platform/{NextSupportedOpenShiftVersion}/scalability_and_performance/optimizing-storage.html#recommended-configurable-storage-technology_persistent-storage[Recommended configurable storage technology].
13+
14+
* For more information about configuring persistent storage for Prometheus in {ProjectShort}, see xref:backends-configuring-persistent-storage-for-prometheus_assembly-installing-the-core-components-of-stf[].
15+
16+
* For more information about configuring persistent storage for ElasticSearch in {ProjectShort}, see xref:backends-configuring-persistent-storage-for-elasticsearch_assembly-installing-the-core-components-of-stf[].

doc-Service-Telemetry-Framework/modules/con_primary-parameters-of-the-servicetelemetry-object.adoc

Lines changed: 90 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
[id="primary-parameters-of-the-servicetelemetry-object"]
1+
[id="primary-parameters-of-the-servicetelemetry-object_{context}"]
22
= Primary parameters of the ServiceTelemetry object
33

44
[role="_abstract"]
@@ -20,6 +20,7 @@ Support for `servicetelemetry.infra.watch/v1alpha1` was removed from {ProjectSho
2020
====
2121

2222
[id="backends_{context}"]
23+
[discrete]
2324
== The backends parameter
2425

2526
Use the `backends` parameter to control which storage back ends are available for storage of metrics and events, and to control the enablement of Smart Gateways that the `clouds` parameter defines. For more information, see xref:clouds_assembly-installing-the-core-components-of-stf[].
@@ -49,6 +50,50 @@ spec:
4950
enabled: true
5051
----
5152

53+
[id="backends-configuring-persistent-storage-for-prometheus_{context}"]
54+
[discrete]
55+
=== Configuring persistent storage for Prometheus
56+
57+
Use the additional parameters that are defined in `backends.metrics.prometheus.storage.persistent` to configure persistent storage options for Prometheus, such as storage class and volume size.
58+
59+
Use `storageClass` to define the back end storage class. If you do not set this parameter, the Service Telemetry Operator uses the default storage class for the {OpenShift} cluster.
60+
61+
Use the `pvcStorageRequest` parameter to define the minimum required volume size to satisfy the storage request. If volumes are statically defined, it is possible that a volume size larger than requested is used. By default, Service Telemetry Operator requests a volume size of `20G` (20 Gigabytes).
62+
63+
.Procedure
64+
65+
* List the available storage classes:
66+
+
67+
[source,bash,options="nowrap"]
68+
----
69+
$ oc get storageclasses
70+
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
71+
csi-manila-ceph manila.csi.openstack.org Delete Immediate false 20h
72+
standard (default) kubernetes.io/cinder Delete WaitForFirstConsumer true 20h
73+
standard-csi cinder.csi.openstack.org Delete WaitForFirstConsumer true 20h
74+
----
75+
76+
* Configure the `ServiceTelemetry` object:
77+
+
78+
[source,yaml]
79+
----
80+
apiVersion: infra.watch/v1beta1
81+
kind: ServiceTelemetry
82+
metadata:
83+
name: default
84+
namespace: service-telemetry
85+
spec:
86+
backends:
87+
metrics:
88+
prometheus:
89+
enabled: true
90+
storage:
91+
strategy: persistent
92+
persistent:
93+
storageClass: standard-csi
94+
pvcStorageRequest: 50G
95+
----
96+
5297
[discrete]
5398
=== Enabling ElasticSearch as a storage back end for events
5499

@@ -72,6 +117,50 @@ spec:
72117
enabled: true
73118
----
74119

120+
[id="backends-configuring-persistent-storage-for-elasticsearch_{context}"]
121+
[discrete]
122+
=== Configuring persistent storage for ElasticSearch
123+
124+
Use the additional parameters defined in `backends.events.elasticsearch.storage.persistent` to configure persistent storage options for ElasticSearch, such as storage class and volume size.
125+
126+
Use `storageClass` to define the back end storage class. If you do not set this parameter, the Service Telemetry Operator uses the default storage class for the {OpenShift} cluster.
127+
128+
Use the `pvcStorageRequest` parameter to define the minimum required volume size to satisfy the storage request. If volumes are statically defined, it is possible that a volume size larger than requested is used. By default, Service Telemetry Operator requests a volume size of `20Gi` (20 Gibibytes).
129+
130+
.Procedure
131+
132+
* List the available storage classes:
133+
+
134+
[source,bash,options="nowrap"]
135+
----
136+
$ oc get storageclasses
137+
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
138+
csi-manila-ceph manila.csi.openstack.org Delete Immediate false 20h
139+
standard (default) kubernetes.io/cinder Delete WaitForFirstConsumer true 20h
140+
standard-csi cinder.csi.openstack.org Delete WaitForFirstConsumer true 20h
141+
----
142+
143+
* Configure the `ServiceTelemetry` object:
144+
+
145+
[source,yaml]
146+
----
147+
apiVersion: infra.watch/v1beta1
148+
kind: ServiceTelemetry
149+
metadata:
150+
name: default
151+
namespace: service-telemetry
152+
spec:
153+
backends:
154+
events:
155+
elasticsearch:
156+
enabled: true
157+
storage:
158+
strategy: persistent
159+
persistent:
160+
storageClass: standard-csi
161+
pvcStorageRequest: 50G
162+
----
163+
75164
[id="clouds_{context}"]
76165
[discrete]
77166
== The clouds parameter

doc-Service-Telemetry-Framework/modules/proc_creating-a-servicetelemetry-object-in-openshift.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
= Creating a ServiceTelemetry object in {OpenShift}
33

44
[role="_abstract"]
5-
Create a `ServiceTelemetry` object in {OpenShift} to result in the Service Telemetry Operator creating the supporting components for a {Project} ({ProjectShort}) deployment. For more information, see xref:primary-parameters-of-the-servicetelemetry-object[].
5+
Create a `ServiceTelemetry` object in {OpenShift} to result in the Service Telemetry Operator creating the supporting components for a {Project} ({ProjectShort}) deployment. For more information, see xref:primary-parameters-of-the-servicetelemetry-object_assembly-installing-the-core-components-of-stf[].
66

77
.Procedure
88

0 commit comments

Comments
 (0)