diff --git a/SUMMARY.md b/SUMMARY.md index c6c7e1be..ae454b0d 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -441,7 +441,7 @@ * [No Space Left on the Device Warning](deployment/deployment-guide/troubleshooting/no-space-left-on-the-device-warning.md) * [Restart Deployment or StatefulSets to Redistribute Pods across Nodes](deployment/deployment-guide/redistribute-pods-across-nodes-by-restarting-deployment-statefulsets.md) * [Rerun Jobs in Kubernetes Cluster](deployment/deployment-guide/rerun-jobs-in-kubernetes-cluster.md) - * [Persistent Storage - OpenG2P System](deployment/persistent-storage-openg2p-system.md) + * [Persistent Storage](deployment/persistent-storage.md) * [Documentation Guides](documentation-guides/README.md) * [Documentation Guidelines](documentation-guides/documentation-guidelines/README.md) * [Embed a Miro diagram](documentation-guides/documentation-guidelines/embed-a-miro-diagram.md) diff --git a/deployment/persistent-storage-openg2p-system.md b/deployment/persistent-storage.md similarity index 52% rename from deployment/persistent-storage-openg2p-system.md rename to deployment/persistent-storage.md index 1fc0c672..e2b50adf 100644 --- a/deployment/persistent-storage-openg2p-system.md +++ b/deployment/persistent-storage.md @@ -12,25 +12,23 @@ layout: visible: true --- -# Persistent Storage - OpenG2P System +# Persistent Storage -This document provides information on all the Persistent storages, i.e., PVs (Persistent Volume) and PVCs (Persistent Volume Claim), in OpenG2P deployments. It describes the type of storage, deletion behavior, and how to identify which PV belongs to which pod. It also defines and highlights the specific behavior of the stateful sets and deployments. - -## **Overview of Persistent storage in OpenG2P system** - -
Types of PVs | Purpose | Type |
---|---|---|
Postgres | Stores database data for the application. | StatefulSet |
OpenSearch | Stores indexing data, logs, and search-related data. | StatefulSet |
Minio | Stores object data, files, and backups. | Deployment |
SoftHSM |
| Deployment |
Kafka |
| StatefulSet |
Odoo | Stores database data, files, and other persistent configurations for the Odoo ERP system and ensures that data is retained across pod during restarting and upgrades. | Deployment |
Statefulset attached storage | Deployment attached storage | |
---|---|---|
Definition | Statefulsets are used for applications that require stable network identities and persistent storage. The pods in a StatefulSet have unique identities and their storage is tied to their lifecycle. When a pod in a StatefulSet is deleted, the storage (PV) remains intact unless explicitly deleted. | In stateless applications, deployments are used so that any pod can be replaced by another. The storage associated with a deployment is generally ephemeral unless PVs are explicitly attached. |
Deletion behavior | By default, the storage attached to a StatefulSet is retained even after the pod is deleted. This is crucial for stateful applications where data persistence is critical. | If PVs are attached to a deployment, the storage may be deleted when the deployment is deleted, depending on the reclaim policy. Unlike StatefulSets, Deployments do not guarantee data persistence when pods are scaled down or deleted. |
Examples | Postgres, OpenSearch, and Minio. | Some auxiliary services might use Deployment-based storage, but it is less common for critical data. |
Storage type | Definition | Deletion behavior |
---|---|---|
StatefulSet attached storage | StatefulSets are used for applications that require stable network identities and persistent storage. The pods in a StatefulSet have unique identities and their storage is tied to their lifecycle. When a pod in a StatefulSet is deleted, the storage (PV) remains intact unless explicitly deleted. Examples: Postgres, OpenSearch, and Minio. | By default, the storage attached to a StatefulSet is retained even after the pod is deleted. This is crucial for stateful applications where data persistence is critical. |
Deployment attached storage | In stateless applications, deployments are used so that any pod can be replaced by another. The storage associated with a deployment is generally ephemeral unless PVs are explicitly attached. Examples: Some auxiliary services might use Deployment-based storage, but it is less common for critical data. | If PVs are attached to a deployment, the storage may be deleted when the deployment is deleted, depending on the reclaim policy. Unlike StatefulSets, Deployments do not guarantee data persistence when pods are scaled down or deleted. |
Types of PVs | Purpose | Type |
---|---|---|
Postgres | Stores database data for the application. | StatefulSet |
OpenSearch | Stores indexing data, logs, and search-related data. | StatefulSet |
Minio | Stores object data, files, and backups. | Deployment |
SoftHSM |
| Deployment |
Kafka |
| StatefulSet |
Odoo | Stores database data, files, and other persistent configurations for the Odoo ERP system and ensures that data is retained across pod during restarting and upgrades. | Deployment |
Retain | Delete | |
---|---|---|
Behavior | When a PVC is deleted, the associated PV is not automatically deleted. This is helpful if you want to reattach the PV to another PVC in the future or as a backup. | When a PVC is deleted, the associated PV is also automatically deleted. This is more suitable for temporary or non-critical data. |
Use Case | Critical data that you may want to preserve even after deleting the PVC or StatefulSet. | Ephemeral or temporary data where automatic cleanup is preferred. |
Reclaim policy | Behavior | Use case |
---|---|---|
Retain | When a PVC is deleted, the associated PV is not automatically deleted. This is helpful if you want to reattach the PV to another PVC in the future or as a backup. | Critical data that you may want to preserve even after deleting the PVC or StatefulSet. |
Delete | When a PVC is deleted, the associated PV is also automatically deleted. This is more suitable for temporary or non-critical data. | Ephemeral or temporary data where automatic cleanup is preferred. |