Configurar opções de armazenamento para recursos MongoDB
Nesta página
Você pode configurar seus recursos do MongoDB para vincular-se a um MongoDB
armazenamento específico em seu 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 de 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.
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
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
.
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: "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 ...