ANNOUNCEMENT: Voyage AI joins MongoDB to power more accurate and trustworthy AI applications on Atlas.
Learn more
Menu Docs

Configurar opções de armazenamento para recursos MongoDB

Você pode configurar seus recursos do MongoDB para vincular-se a um MongoDB armazenamento específico em sua CustomResourceDefinition . O persistence campo na CustomResourceDefinition do MongoDB permite gerenciar com mais precisão onde o Kubernetes armazena os registros e metadados gerados a partir dos recursos personalizados do MongoDB . Controlar o armazenamento de registros e metadados permite que você tenha um controle mais preciso dos processos que gerenciam e interagem com esses metadados gerados.

Você pode definir as configurações de persistência por componente no MongoDB CustomResourceDefinition. Estas configurações permitem que você especifique a relacionamento entre um determinado componente e um ou mais recursos PersistentVolume relacionados, que armazenam a saída dos recursos personalizados do MongoDB .

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.

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:

Para criar um único PersistentVolume no qual um determinado componente armazenará todo o MongoDB CustomResourceDefinition saída, defina o do componente persistence como single. Para criar um PersistentVolume distinto para o data, journal e logs do componente, defina o persistence do componente como multiple.

1

Preencha as seções persistence de sua definição MongoDB CRD como mostrado no seguinte exemplo:

1---
2apiVersion: mongodb.com/v1
3kind: MongoDB
4metadata:
5 name: my-sharded-cluster
6spec:
7 shardCount: 2
8 mongodsPerShardCount: 3
9 mongosCount: 2
10 configServerCount: 3
11 version: "6.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...
2
kubectl apply -f mongodb-crd.yaml