文档中心MogDBMogDB StackUqbar

文档:v2.0

支持的版本:

定制 MogDB 集群

我们提供了两种方式供您创建 MogDB 集群。包括使用 mgo 客户端,或者使用 manifest。请按需选择。

我们建议使用 mgo 客户端方式。本章中我们将重点对 mgo 客户端方式进行阐述。


自定义 MogDB 集群

  • 指定 MogDB 版本
  • 自定义 MogDB 配置
  • 高可用性(如定制副本)
  • 资源分配(如内存、计算、存储)

使用 mgo 客户端

自定义 MogDB 集群的配置有很多种。 您可以在 mgo create cluster 中了解所有这些选项。


1.定义存储

MogDB 共定义了三种存储目录可用配置:

  • 数据目录:用于存储 MogDB 数据库的所有数据
  • 备份目录:用于存储 MogDB 数据库的备份内容
  • 日志目录:用于存储 MogDB 数据库的日志内容

数据库有各种不同的大小,而且这些大小肯定会随着时间而改变。因此能够指定要存储 MogDB 数据的 PVC 大小是很有帮助的。


定义 MogDB 数据目录

mgo 允许您使用 --data-storage-size 标志选择 MogDB 数据目录的大小。PVC 大小应该使用标准的 Kubernetes 资源单元,例如 128Mi。

以下命令将创建一个具有 128Mi 大小数据目录的 MogDB 集群:

mgo create cluster cluster1 --data-storage-size=20Gi

定义 MogDB 备份目录

mgo 允许您使用 --backup-storage-size 标志选择 MogDB 备份目录的大小。其用于存储您的所有备份,因此您希望调整它的大小以满足您的备份保留策略。

以下命令将创建一个具有 1Gi 大小备份存储库的 MogDB 集群:

mgo create cluster cluster1 --backup-storage-size=1Gi

定义 MogDB 日志目录

mgo 允许您使用 --log-storage-size 标志选择 MogDB 日志目录的大小。因此您希望调整它的大小以满足您的日志保留策略。

以下命令将创建一个具有 1Gi 大小日志目录的 MogDB 集群:

mgo create cluster cluster1 --log-storage-size=1Gi

2.定义内存/CPU

数据库具有不同的 CPU 和内存要求,这通常取决于工作集中的数据量(即主动访问的数据)。Kubernetes 为 Pod 提供了几种管理 CPU 和内存资源的方法:

  • Limits:该字段定义了 pod 所能使用资源的最大限额;
  • Requests:该字段定义了 pod 需要使用资源的最小限额,会影响 pod 的调度;

一般的,我们可以理解为 pod 所使用的资源介于 [requests, limits] 的区间中。

注意:如果 pod 使用的内存超出了 limits 限制,kubernetes 将尝试终止任何导致超出限制的进程。因此内存限制可能会影响 MogDB 的可用性,我们建议谨慎使用它们。

下面介绍如何自定义可用于 MogDB 节点的 CPU 和内存资源。自定义 CPU 和内存确实会为您的 MogDB 集群添加更多资源,但要充分利用额外资源,您将需要自定义 MogDB 配置并调整参数 shared_buffers 等。

为 MogDB 定制内存/CPU

mgo 提供了几个标志来帮助管理 MogDB 实例的资源:

  • --cpu:指定 MogDB 实例的 CPU 请求
  • --cpu-limit:指定 MogDB 实例的 CPU 限制
  • --memory:指定 MogDB 实例的内存请求
  • --memory-limit: 指定 MogDB 实例的内存限制

以下命令将创建一个 CPU 请求为 1.0,CPU 限制为 2.0,内存请求为 1Gi,内存限制为 2Gi 的 MogDB 集群:

mgo create cluster cluster1 \
--cpu=1.0 --cpu-limit=2.0 \
--memory=1Gi --memory-limit=2Gi

3.创建高可用性 MogDB 集群

高可用性允许您部署具有冗余的 MogDB 集群,即使您的主实例发生停机事件,您的应用程序也可以访问它们。MogDB 集群使用 Kubernetes 附带的分布式共识存储系统,因此可用性与 Kubernetes 集群的可用性相关联。

要创建具有一个副节点的高可用性 MogDB 集群,您可以运行以下命令:

mgo create cluster cluster1 --replicas=2

您可以使用mgo scalemgo scaledown命令扩展和缩容 MogDB 集群。


使用 manifest

您可参照 CRD 参考以及manifest demo进行集群的定制。通过参照 CRD 字段说明,对 manifest 对应字段进行修改,即可完成对 MogDB 集群的高度定制。

Copyright © 2011-2024 www.enmotech.com All rights reserved.