为 MongoDB 资源配置存储选项
您可以将 MongoDB 资源配置为绑定到您 MongoDB 中的特定存储中
自定义资源定义 中的 持久化
字段允许你更精确地管理 Kubernetes 存储从 MongoDB 自定义资源生成的日志和元数据。控制日志和元数据存储可以让你更细致地控制管理和与这些生成的元数据交互的过程。Kubernetes将 MongoDB 自定义资源生成的日志和元数据存储在何处。控制日志和元数据存储可以让你对管理和交互这些生成的元数据的过程有更精细的控制。
您可以在MongoDB的每个组件中配置持久化设置,具体请参考自定义资源定义。这些设置允许您指定特定组件与一个或多个相关的持久卷
资源之间的关系,这些资源存储了您的MongoDB自定义资源的输出。
持久化设置persistence
指定了与您的集群中MongoDB自定义资源管理的对象关联的持久卷
的数量和存储容量。Kubernetes先决条件
为了配置MongoDB部署的存储选项,您必须通过MongoDB
要配置MongoDB部署的存储选项,您必须通过MongoDBKubernetesOperator部署MongoDB副本集或满足以下先决条件
步骤
为了创建一个持久卷,其中给定组件将存储所有MongoDB的输出,请将组件的持久化
定义为单一
。若要为组件的数据
、日志
定义独立的持久卷,请将组件的持久化
定义为多个
。
1
更新您的MongoDB自定义资源。
根据以下示例填充MongoDB CRD定义中的持久化
部分
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 ...