Puede configurar sus recursos de MongoDB para vincularlos a un almacenamiento específico en su MongoDB CustomResourceDefinition. El persistence campo de CustomResourceDefinition de MongoDB permite gestionar con mayor precisión dónde almacena Kubernetes los registros y metadatos generados a partir de los recursos personalizados de MongoDB. Controlar el almacenamiento de registros y metadatos permite un control más preciso de los procesos que gestionan e interactúan con estos metadatos generados.
Puede configurar la persistencia de cada componente en MongoDB CustomResourceDefinition. Esta configuración le permite especificar la relación entre un componente determinado y uno o más PersistentVolume recursos relacionados, que almacenan la salida de sus recursos personalizados de MongoDB.
La configuración persistence especifica la cantidad y la capacidad de almacenamiento de persistentVolumes asociados con los objetos administrados por recursos personalizados de MongoDB en su clúster de Kubernetes.
Requisitos previos
Para configurar las opciones de almacenamiento para su implementación de MongoDB, debe tener un conjunto de réplicas de MongoDB implementado a través del Operador Kubernetes de MongoDB o cumplir con los siguientes requisitos previos:
Procedimiento
Para crear un único donde PersistentVolume un componente almacenará toda la salida de CustomResourceDefinition de MongoDB, defina el del componente persistence singlecomo. Para crear un distinto PersistentVolume para data los, journal y del componente,logs defina el del componente persistence multiplecomo.
Actualice su recurso personalizado de MongoDB.
Complete las secciones persistence de su definición CRD de MongoDB como se muestra en el siguiente ejemplo:
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 ...