You can configure your MongoDB resources to bind to specific storage in your MongoDB CustomResourceDefinition. The persistence field in the MongoDB CustomResourceDefinition allows you to more precisely manage where Kubernetes stores the logs and metadata generated from MongoDB custom resources. Controlling log and metadata storage allows you to have more fine-grained control of processes that manage and interact with this generated metadata.
You can configure persistence settings per component in the MongoDB CustomResourceDefinition. These settings allow you to specify the relationship between a given component and one or more related PersistentVolume resources, which store output from your MongoDB custom resources.
A configuração persistence especifica o número e a capacidade de armazenamento de persistentVolumes associados aos objetos gerenciados por recursos personalizados do MongoDB em seu cluster Kubernetes.
Pré-requisitos
Para configurar as opções de armazenamento para a implementação do MongoDB , você deve ter um conjunto de réplicas do MongoDB distribuído por meio do MongoDB Kubernetes Operator ou atender aos seguintes pré-requisitos:
Procedimento
To create a single PersistentVolume in which a given component will store all MongoDB CustomResourceDefinition output, define the component's persistence as single. To create a distinct PersistentVolume for the component's data, journal, and logs, define the component's persistence as multiple.
Atualize seu recurso personalizado do MongoDB .
Preencha as seções persistence de sua definição MongoDB CRD como mostrado no seguinte exemplo:
1 2 apiVersion: mongodb.com/v1 3 kind: MongoDB 4 metadata: 5 name: my-sharded-cluster 6 spec: 7 shardCount: 2 8 mongodsPerShardCount: 3 9 mongosCount: 2 10 configServerCount: 3 11 version: "8.0.0" 12 service: my-service 13 type: ShardedCluster 14 15 persistent: true 16 17 configSrvPodSpec: 18 persistence: 19 single: true 20 21 shardPodSpec: 22 persistence: 23 multiple: 24 # if the child of "multiple" is omitted then the default size will be used. 25 # 16GB for "data", 1GB for "journal", 3GB for "logs" 26 data: 27 storage: "20Gi" 28 storageClass: standard # You must define a storageClass, as the Operator creates a PVC, which will only create an associated PV with a backing storageClass. 29 logs: 30 storage: "4Gi" 31 storageClass: standard 32 ...