- 关于MogDB Stack
- 快速上手
- 软件安装
- 使用手册
- 架构
- 参考
- 命令行
- mgo
- mgo create
- mgo create mgorole
- mgo create mgouser
- mgo create cluster
- mgo show
- mgo show k8s
- mgo show mgorole
- mgo show mgouser
- mgo show cluster
- mgo show restore
- mgo delete
- mgo delete mgorole
- mgo delete mgouser
- mgo delete cluster
- mgo delete backup
- mgo delete k8s
- mgo scale
- mgo scaledown
- mgo switch
- mgo update
- mgo update mgorole
- mgo update mgouser
- mgo update cluster
- mgo version
- mgo addk8s
- mgo localk8s
- mgo backup
- mgo backup detail
- mgo restore
- mgo minio
- mgo minio object
- mgo minio object ls
- mgo minio object stat
- mgo minio object getf
- 服务端
- 命令行
- FAQ
- 发布记录
定制 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=1Gi2.定义内存/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=2Gi3.创建高可用性 MogDB 集群
高可用性允许您部署具有冗余的 MogDB 集群,即使您的主实例发生停机事件,您的应用程序也可以访问它们。MogDB 集群使用 Kubernetes 附带的分布式共识存储系统,因此可用性与 Kubernetes 集群的可用性相关联。
要创建具有一个副节点的高可用性 MogDB 集群,您可以运行以下命令:
mgo create cluster cluster1 --replicas=2您可以使用mgo scale和mgo scaledown命令扩展和缩容 MogDB 集群。
使用 manifest
您可参照 CRD 参考以及manifest demo进行集群的定制。通过参照 CRD 字段说明,对 manifest 对应字段进行修改,即可完成对 MogDB 集群的高度定制。