diff --git a/product/zh/docs-mogdb-stack/v3.0/architecture/backuping.md b/product/zh/docs-mogdb-stack/v3.0/architecture/backuping.md
new file mode 100644
index 0000000000000000000000000000000000000000..1e499692cc5eb3791896d260d0d28db62120d94b
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/architecture/backuping.md
@@ -0,0 +1,71 @@
+---
+title: 高可用架构
+summary: 高可用架构
+author: Ji Yabin
+date: 2023-07-04
+---
+
+## 备份管理
+
+MogDB Stack使用Mogdb内置的工具集执行备份和恢复功能,支持物理备份、逻辑备份,分别适用于不同的应用场景。最小化集群安装模式下,集群备份功能默认未开启,如果后续需要开启此功能,可以向系统提交相关配置yaml,即可实时开启备份功能。
+
+MogDB Stack提供了备份的保留期限,用户可根据实际的业务需求,配置保留的必要备份集数量,节省远程存储的使用空间。
+
+支持手动备份和周期性备份模式:
+
+- 手动备份:可以指定单次的备份,系统对于备份仅执行一次,如果需要再次执行,需要重置备份id。
+- 周期性备份:提供与crontab一致的时间描述方式,系统会根据配置,周期性调度备份任务。
+
+同时,支持两种不同的备份方式:
+
+- 物理备份:备份文件以物理页的形式存放,这种备份方式一般速度较快,但只能导入同版本数据库。
+- 逻辑备份:备份文件以SQL命令形式的存放,一般可用于跨版本数据库的数据导入。
+
+以下是备份的架构图:
+
+
+
+其中:
+
+- CR: 备份配置作为mogdbcluster的一个配置项,用户只需要提供对应的字段,并提交到k8s系统,即可生效。
+- mogdbcluster controller: mogdbcluster控制器捕获到配置变更,触发备份相关的处理流。
+- cronjob controller:Kubernetes平台标准的控制器,用于周期性任务的调度。
+- job:实际执行备份的任务资源,会包含备份相关的程序,执行具体的备份任务。
+- s3:备份转储的外部存储。
+
+## 恢复
+
+恢复是MogDB Stack重要的功能模块,负责MogDB集群的可靠性。它通过读取远程存储的备份集数据,恢复出满足业务需求的完整数据库。
+
+恢复的应用场景:
+
+- 数据误删除
+- 数据错乱
+- 数据迁移
+- 集群克隆
+
+MogDB Stack支持两种恢复模式:
+
+- 基于文件的恢复
+- 基于PITR的恢复
+
+## 远程存储
+
+MogDB Stack支持常见的远程存储,用于转储备份文件:
+
+- Amazon S3
+- Minio
+- Google Cloud Storage
+- Google Drive
+- Google Photos
+- HDFS
+- Ceph
+- FTP
+- OpenStack Swift
+- QingStor
+- Qiniu Cloud Object Storage (Kodo)
+- SFTP
+- Tencent Cloud Object Storage (COS)
+- etc.
+
+以上列出的远程存储,只是常见的部分存储,完整的存储支持列表,请参考[Rclone官方文档](https://rclone.org/#providers)
\ No newline at end of file
diff --git a/product/zh/docs-mogdb-stack/v3.0/architecture/high-availability.md b/product/zh/docs-mogdb-stack/v3.0/architecture/high-availability.md
new file mode 100644
index 0000000000000000000000000000000000000000..44a22ff964e2e3ab5550b9c6f202ae3b4582c92a
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/architecture/high-availability.md
@@ -0,0 +1,37 @@
+---
+title: 高可用架构
+summary: 高可用架构
+author: Ji Yabin
+date: 2023-07-04
+---
+
+高可用是 MogDB Stack 体系中的一个功能组件,以哨兵模式运行,提供命令行管理工具。支持以下功能:
+
+- 故障检测:
+
+ 通过向MogDB写入心跳表,并周期性更新心跳信息,探测MogDB存活状态。提供了三种心跳状态,可读、可写、可执行。
+
+- 故障转移:
+
+ 当检测到主库出现故障,并且持续了一段时间,系统会触发切换逻辑,通过选取最优的候选节点,提升为主库,完成故障切换。
+
+- 故障修复:
+
+ 当备库出现复制链路异常,系统会尝试修复复制状态,也会build数据,重新建立复制关系。
+
+发生切换的场景包括:
+
+- 机架掉电
+- 主库网络不可达
+- 数据库发生故障宕机
+- 数据库磁盘故障或者某些硬件故障
+
+以下是高可用的架构图:
+
+
+
+包含以下功能组件:
+
+- agent: 负责上报心跳信息,以及执行manager下发的的任务。
+- Manager: 系统的控制中心,负责心跳信息的分析决策,执行故障转移。
+- portal/ctl: 系统的入口,用户通过命令行或web界面发送任务,任务最终传递到Manager中,由Manager负责任务的管理。
diff --git a/product/zh/docs-mogdb-stack/v3.0/architecture/monitoring.md b/product/zh/docs-mogdb-stack/v3.0/architecture/monitoring.md
new file mode 100644
index 0000000000000000000000000000000000000000..9350996080f86b911a0ff9413fe80b5da399fdee
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/architecture/monitoring.md
@@ -0,0 +1,109 @@
+---
+title: 监控
+summary: 监控
+author: Ji Yabin, hhhhhzhen
+date: 2023-07-22
+
+---
+
+# 监控与告警
+
+本文介绍如何对 Kubernetes 集群进行监控。在 MogDB 集群运行的过程中,需要对容器资源、宿主机、Kubernetes 组件等进行监控。对于这些组件或资源的监控,需要在整个 Kubernetes 集群维度部署监控系统来实现。
+
+
+
+## 架构
+
+监控告警共包含四个维度:
+
+- 宿主机指标
+- 容器指标
+- Kubernetes 资源状态
+- MogDB 集群状态
+
+
+
+## 宿主机监控
+
+通过 node exporter 对物理机指标进行采集,统一抓取到 prometheus 中。Node Exporter 是 Prometheus 官方提供的一个节点资源采集组件,可以用于收集服务器节点的数据,如 CPU 频率信息、磁盘 IO 统计、剩余可用内存等等。Node Exporter 会将收集到的信息转换为 Prometheus 可识别的 Metrics 数据。Prometheus 可以从 Node Exporter 中对这些指标进行收集与存储,并且可以根据这些数据的实时变化进行服务器节点资源监控。
+
+
+
+## 容器监控
+
+cAdvisor 是 Google 开源的容器资源监控和性能分析工具,它是专门为容器而生,在 Kubernetes 中,我们不需要单独去安装,cAdvisor 作为 kubelet 内置的一部分程序可以直接使用,也就是我们可以直接使用 cAdvisor 采集数据,可以采集到和容器运行相关的所有指标。
+
+cadvisor 中获取到的典型监控指标如下:
+
+| 指标名称 | 类型 | 含义 |
+| -------------------------------------- | ------- | -------------------------------------------- |
+| container_cpu_load_average_10s | gauge | 过去10秒容器CPU的平均负载 |
+| container_cpu_usage_seconds_total | counter | 容器在每个CPU内核上的累积占用时间 (单位:秒) |
+| container_cpu_system_seconds_total | counter | System CPU累积占用时间(单位:秒) |
+| container_cpu_user_seconds_total | counter | User CPU累积占用时间(单位:秒) |
+| container_fs_usage_bytes | gauge | 容器中文件系统的使用量(单位:字节) |
+| container_fs_limit_bytes | gauge | 容器可以使用的文件系统总量(单位:字节) |
+| container_fs_reads_bytes_total | counter | 容器累积读取数据的总量(单位:字节) |
+| container_fs_writes_bytes_total | counter | 容器累积写入数据的总量(单位:字节) |
+| container_memory_max_usage_bytes | gauge | 容器的最大内存使用量(单位:字节) |
+| container_memory_usage_bytes | gauge | 容器当前的内存使用量(单位:字节) |
+| container_spec_memory_limit_bytes | gauge | 容器的内存使用量限制 |
+| machine_memory_bytes | gauge | 当前主机的内存总量 |
+| container_network_receive_bytes_total | counter | 容器网络累积接收数据总量(单位:字节) |
+| container_network_transmit_bytes_total | counter | 容器网络累积传输数据总量(单位:字节) |
+
+
+
+## 资源对象监控
+
+kube-state-metrics 提供资源对象本身的监控,如 pod 运行状态、有多少 job 在运行中等等,它基于 client-go 开发,轮询 Kubernetes API,并将 Kubernetes 的结构化信息转换为 metrics。
+
+指标类别包括:
+
+- CronJob Metrics
+
+- DaemonSet Metrics
+
+- Deployment Metrics
+
+- Job Metrics
+
+- LimitRange Metrics
+
+- Node Metrics
+
+- PersistentVolume Metrics
+
+- PersistentVolumeClaim Metrics
+
+- Pod Metrics
+
+- Pod Disruption Budget Metrics
+
+- ReplicaSet Metrics
+
+- ReplicationController Metrics
+
+- ResourceQuota Metrics
+
+- Service Metrics
+
+- StatefulSet Metrics
+
+- Namespace Metrics
+
+- Horizontal Pod Autoscaler Metrics
+
+- Endpoint Metrics
+
+- Secret Metrics
+
+- ConfigMap Metrics
+
+
+
+## MogDB 监控
+
+为了获取 MogDB 自身的监控指标,需要配套的 MogDB exporter 采集相应的数据。
+
+
\ No newline at end of file
diff --git a/product/zh/docs-mogdb-stack/v3.0/architecture/overview.md b/product/zh/docs-mogdb-stack/v3.0/architecture/overview.md
new file mode 100644
index 0000000000000000000000000000000000000000..537aeaaab99ffc058fbd9015948c43d8be5de6f8
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/architecture/overview.md
@@ -0,0 +1,49 @@
+---
+title: MogDB Stack 架构
+summary: MogDB Stack 架构
+author: Ji Yabin
+date: 2023-07-04
+---
+
+# 架构
+
+MogDB Stack提供了两种模式,分别是单机群模式和多集群模式。单机群模式适用于单一的Kubernetes集群,在整个Kubernetes内实现MogDB集群的生命周期管理,多集群模式提供了一种跨Kubernetes/机房的方案,满足用户对于跨机房的容灾要求。
+
+## 单集群模式
+
+单机群模式,一般指MogDB Stack所有组件部署在一套Kubernetes集群内,完成整个生命周期管理。以下是单机群模式的架构图:
+
+
+
+包含以下功能组件:
+
+- connector: 应用层连接数据库的api,如sharding-jdbc。
+- ingress: 外部应用访问Kubernetes内部服务的入口,提供四层、七层转发。
+- master service: Kubernetes内部读写服务,数据库的读写流量通过此service转发。
+- replicas service: Kubernetes内部只读服务,数据库的只读流量通过此service转发,具备负载均衡的能力。
+- MogDB Cluster: 运行在Kubernetes中的MogDB集群,以主备模式运行多个副本。
+- HA Manager: 高可用组件,负责MogDB的故障探测、故障转移。
+- operator: 集群生命周期管理模块,负责集群资源申请、回收、扩缩容等。
+
+## 多集群模式
+
+多集群模式,一般应用在多中心场景下,不同的数据中心运行着不同的Kubernetes集群,MogDB Cluster需要跨越数据中心部署。以下是多集群模式的架构图:
+
+
+
+包含以下资源对象:
+
+- kubeconfig: Kubernetes的证书、权限等配置。
+- multi cluster: 用于描述用户期望的多集群/多中心的配置。
+
+包含以下功能组件:
+
+- multi-operator: 多集群管理控制器,负责下发集群到各个数据中心。
+- single-operator: 单集群管理控制器,负责单一Kubernetes集群的MogDB Cluster生命周期管理。
+- MogDB Cluster: MogDB集群,多副本运行,其中每个节点以statefulset负载运行。
+
+业务应用通过ingress入口转发到后端实际的数据库集群,具体流程架构图如下:
+
+
+
+业务应用通过sharding-jdbc访问各个数据中心的后端数据库,sharding-jdbc支持配置多条访问链路,自动探测最新的主库路径。
diff --git a/product/zh/docs-mogdb-stack/v3.0/faq.md b/product/zh/docs-mogdb-stack/v3.0/faq.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/product/zh/docs-mogdb-stack/v3.0/installation/multi-helm.md b/product/zh/docs-mogdb-stack/v3.0/installation/multi-helm.md
new file mode 100644
index 0000000000000000000000000000000000000000..d3e885d2a7ec46d06ed1f4c1b2856955aa5c7502
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/installation/multi-helm.md
@@ -0,0 +1,720 @@
+---
+date: 2023-06-30
+author: houzhen.su
+title: 使用 helm 安装(多集群模式)
+summary: 使用 helm 安装(多集群模式)
+---
+
+# 使用 helm 安装(多集群模式)
+
+本节提供了使用 helm 安装和配置 mogdb-stack `多 kubernetes 集群模式`的说明。
+
+
+
+## 术语
+
+提前了解以下术语将有助于您阅读本文档。
+
+- 数据平面:数据层,mogdb 真实存在的位置;
+- 数据中心:每个数据平面被称为一个数据中心;
+- 控制平面:控制层,用于控制 mogdb 在多个数据中心上的分配逻辑;
+
+注意:控制平面、数据平面、数据中心均为逻辑概念。实际上,控制平面和数据平面出现在同一 kubernetes 集群中是被允许的,多个数据平面也可以同时出现在一个 kubernetes 集群中。**在生产环境中我们推荐将控制平面、数据平面分开部署。**
+
+
+
+## 前置条件
+
+- 已准备一个控制平面
+- 已准备至少一个数据平面
+- 各平面之间 kubernetes 网络已互通
+- 已安装 [helm](https://helm.sh),具体请参考
+- 添加 [enmotech helm 发布仓](https://github.com/enmotech/charts)
+
+```shell
+helm repo add enmotech https://enmotech.github.io/charts
+```
+
+ 期望输出:
+
+```shell
+$ helm repo add enmotech https://enmotech.github.io/charts
+"enmotech" has been added to your repositories
+
+$ helm search repo enmotech
+NAME CHART VERSION APP VERSION DESCRIPTION
+enmotech/mogha 3.0.0 3.0.0 Helm chart for deploying MogDB Ha on Kubernetes
+enmotech/mogdb-monitor 3.0.0 3.0.0 A Helm chart for Kubernetes
+enmotech/mogdb-cluster 3.0.0 3.0.0 Helm chart for deploying MogDB Cluster on Kubernetes
+enmotech/multi-cluster 3.0.0 3.0.0 Helm chart for deploying MogDB Multi Cluster on Kubernetes
+enmotech/mogdb-operator 3.0.0 3.0.0 Helm chart for deploying MogDB Operator on Kubernetes
+enmotech/multi-operator 3.0.0 3.0.0 Helm chart for deploying MogDB Multi Operator on Kubernetes
+```
+
+
+
+## 安装模式
+
+在安装 mogdb-stack 中的 mogdb-operator 与 multi-operator 组件时,可以配置其管理整个 kubernetes 集群的 mogdb 集群,或仅允许其管理单个 kubernetes 命名空间中的 mogdb 集群。
+
+在管理整个 kubernetes 集群的 mogdb 集群时,我们会创建 ClusterRole 与 ClusterRoleBinding。
+
+但是当仅允许其管理单个 kubernetes 命名空间中的 mogdb 集群时,我们则会创建 Role 与 RoleBinding。
+
+不论是集群模式还是命名空间模式,helm 都会自动帮助我们创建必须的资源。
+
+**默认情况下为集群模式,如果要使用命名空间模式,只需指定 `singleNamespace=true` 即可。**
+
+
+
+## 配置
+
+虽然默认的 helm chart 可以在大多数 kubernetes 环境中工作,但可能有必要根据您的特定需求进一步自定义。
+
+我们的 Helm charts 为您提供了丰富的可自定义选项,有关这些选项的具体信息,请参考[参考/helm-charts](../references/helm-charts)。
+
+
+
+## 控制平面安装
+
+**注意:只能同时存在一个控制平面。**
+
+在开始之前,确保您已将 kubectl 的当前上下文切换到控制平面:
+
+```shell
+kubectl config --kubeconfig use-context
+```
+
+期望输出:
+
+```shell
+$ kubectl config --kubeconfig ~/.kube/config use-context control-plane
+Switched to context "control-plane".
+```
+
+
+
+### 1.安装 mogdb-ha
+
+**注意**:
+
+- mogdb-ha 组件是**必选的**;
+- 如果您要将其用于生产环境,确保您已准备了**高可用 etcd 集群**,我们会在在后续安装时传递相关信息。
+
+
+
+创建 namespace:
+
+```shell
+kubectl create namespace
+```
+
+期望输出:
+
+```shell
+$ kubectl create namespace mogdb-ha
+namespace/mogdb-ha created
+```
+
+
+
+安装 mogdb-ha 组件,有关设置的详细信息说明请参考 [mogdb ha charts value](../references/charts/mogdb-ha):
+
+- 默认以**集群模式**安装 mogdb-ha:
+
+```shell
+helm install enmotech/mogdb-ha -n [--set =...]
+```
+
+ 期望输出(在本例中,关闭了 debug 日志,使用简化版 etcd,并设置 ha 容器的内存大小为 1Gi):
+
+```shell
+$ helm install mogdb-ha helm/mogdb-ha -n mogdb-ha \
+ --set debug=false \
+ --set withEtcd=true \
+ --set ha.resources.limits.memory=1Gi \
+ --set ha.resources.requests.memory=1Gi
+NAME: mogdb-ha
+LAST DEPLOYED: Tue Jul 4 13:58:13 2023
+NAMESPACE: mogdb-ha
+STATUS: deployed
+REVISION: 1
+TEST SUITE: None
+NOTES:
+Thank you for deploying MogDB Ha!
+```
+
+
+
+- 要以**命名空间模式**安装 mogdb-ha,请指定 `--set singleNamespace=true`:
+
+```shell
+helm install enmotech/mogdb-ha -n --set singleNamespace=true [--set =...]
+```
+
+ 期望输出(在本例中,关闭了 debug 日志,使用简化版 etcd,并设置 ha 容器的内存大小为 1Gi):
+
+```shell
+$ helm install mogdb-ha helm/mogdb-ha -n mogdb-ha \
+ --set singleNamespace=true \
+ --set debug=false \
+ --set withEtcd=true \
+ --set ha.resources.limits.memory=1Gi \
+ --set ha.resources.requests.memory=1Gi
+NAME: mogdb-ha
+LAST DEPLOYED: Tue Jul 4 13:58:13 2023
+NAMESPACE: mogdb-ha
+STATUS: deployed
+REVISION: 1
+TEST SUITE: None
+NOTES:
+Thank you for deploying MogDB Ha!
+```
+
+
+
+检查相关组件是否运行正常:
+
+```shell
+kubectl get all -n
+```
+
+期望输出:
+
+```shell
+$ kubectl get all -n mogdb-ha
+NAME READY STATUS RESTARTS AGE
+pod/mogdb-ha-58fb655887-59q8z 2/2 Running 0 71s
+
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+service/mogdb-ha NodePort 10.96.7.215 6544/TCP 71s
+
+NAME READY UP-TO-DATE AVAILABLE AGE
+deployment.apps/mogdb-ha 1/1 1 1 71s
+
+NAME DESIRED CURRENT READY AGE
+replicaset.apps/mogdb-ha-58fb655887 1 1 1 71s
+```
+
+当 pod 处于 running 状态时,继续下一步。
+
+
+
+### 2.安装控制平面 multi-operator
+
+**注意**:multi-operator 组件是**必选的**;
+
+
+
+安装 CRD:
+
+**注意,在同一个 kubernetes 集群中,CRD 只需安装一次。**
+
+```shell
+kubectl apply --server-side -k kustomize/multi-operator/bases/crd
+```
+
+期望输出:
+
+```shell
+$ kubectl apply --server-side -k kustomize/multi-operator/bases/crd
+customresourcedefinition.apiextensions.k8s.io/kubeclientconfigs.mogdb.enmotech.io serverside-applied
+customresourcedefinition.apiextensions.k8s.io/multiclusters.mogdb.enmotech.io serverside-applied
+```
+
+
+
+创建 namespace:
+
+```shell
+kubectl create namespace
+```
+
+期望输出:
+
+```shell
+$ kubectl create namespace control-plane
+namespace/control-plane created
+```
+
+
+
+安装 multi-operator,有关设置的详细信息说明请参考 [multi operator charts value](../references/charts/mmulti-operator):
+
+- 默认以**集群模式**安装 multi-operator:
+
+```shell
+helm install enmotech/multi-operator -n [--set =...]
+```
+
+ 期望输出:
+
+```shell
+$ helm install manager helm/multi-operator -n control-plane
+NAME: manager
+LAST DEPLOYED: Tue Jul 4 16:58:37 2023
+NAMESPACE: control-plane
+STATUS: deployed
+REVISION: 1
+TEST SUITE: None
+NOTES:
+Thank you for deploying MogDB Multi Operator!
+```
+
+- 要以**命名空间模式**安装 multi-operator,请指定 `--set singleNamespace=true`,且指定ns为与context对应的namespace:
+
+```shell
+helm install enmotech/multi-operator -n --set singleNamespace=true [--set =...]
+```
+
+ 期望输出:
+
+```shell
+$ helm install manager helm/multi-operator --set singleNamespace=true -n control-plane
+NAME: manager
+LAST DEPLOYED: Tue Jul 4 16:58:37 2023
+NAMESPACE: control-plane
+STATUS: deployed
+REVISION: 1
+TEST SUITE: None
+NOTES:
+Thank you for deploying MogDB Multi Operator!
+```
+
+
+
+检查相关组件是否运行正常:
+
+```shell
+kubectl get all -n
+```
+
+期望输出:
+
+```shell
+$ kubectl get all -n control-plane
+NAME READY STATUS RESTARTS AGE
+pod/multi-operator-manager-758b65c869-bcnd7 1/1 Running 0 4s
+
+NAME READY UP-TO-DATE AVAILABLE AGE
+deployment.apps/multi-operator-manager 1/1 1 1 4s
+
+NAME DESIRED CURRENT READY AGE
+replicaset.apps/multi-operator-manager-758b65c869 1 1 1 4s
+```
+
+当 pod 处于 running 状态时,继续下一步。
+
+
+
+> 至此完成控制平面的安装。
+
+
+
+## 数据平面安装
+
+**注意:可以同时存在多个数据平面,如果您拥有多个数据平面,则只需切换至对应的上下文,并循环执行该小节。**
+
+**本小节以尾缀1代表数据平面1,其他数据平面可依次修改尾缀数字以区分不同数据平面**
+
+在开始之前,确保您已将 kubectl 的当前上下文切换到数据平面:
+
+```shell
+kubectl config --kubeconfig use-context
+```
+
+期望输出:
+
+```shell
+$ kubectl config --kubeconfig ~/.kube/config use-context data-plane1
+Switched to context "data-plane1".
+```
+
+
+
+### 1.安装 mogdb-operator
+
+**注意**:mogdb-operator 组件是**必选的**;
+
+
+
+安装 CRD:
+
+**注意,在同一个 kubernetes 集群中,CRD 只需安装一次。**
+
+```shell
+kubectl apply --server-side -k kustomize/mogdb-operator/bases/crd
+```
+
+期望输出:
+
+```shell
+$ kubectl apply --server-side -k kustomize/mogdb-operator/bases/crd
+customresourcedefinition.apiextensions.k8s.io/mogdbclusters.mogdb.enmotech.io serverside-applied
+customresourcedefinition.apiextensions.k8s.io/mogdbclustertemplates.mogdb.enmotech.io serverside-applied
+customresourcedefinition.apiextensions.k8s.io/mogdbpodtemplates.mogdb.enmotech.io serverside-applied
+```
+
+
+
+创建 namespace:
+
+```shell
+kubectl create namespace
+```
+
+期望输出:
+
+```shell
+$ kubectl create namespace data-plane1
+namespace/data-plane1 created
+```
+
+
+
+安装 mogdb-operator,有关设置的详细信息说明请参考 [mogdb operator charts value](../references/charts/mogdb-operator):
+
+- 默认以**集群模式**安装 mogdb-operator:
+
+```shell
+helm install enmotech/mogdb-operator -n [--set =...]#在不同数据平面应使用不同名字,可以加后缀数字来区分
+```
+
+ 期望输出:
+
+```shell
+$ helm install manager1 helm/mogdb-operator -n data-plane1
+NAME: manager1
+LAST DEPLOYED: Tue Jul 4 17:14:17 2023
+NAMESPACE: data-plane1
+STATUS: deployed
+REVISION: 1
+TEST SUITE: None
+NOTES:
+Thank you for deploying MogDB Operator!
+```
+
+- 要以**命名空间模式**安装 mogdb-operator,请指定 `--set singleNamespace=true`:
+
+```shell
+helm install enmotech/mogdb-operator -n --set singleNamespace=true [--set =...]
+```
+
+ 期望输出:
+
+```shell
+$ helm install manager1 helm/mogdb-operator --set singleNamespace=true -n data-plane1
+NAME: manager1
+LAST DEPLOYED: Tue Jul 4 17:14:17 2023
+NAMESPACE: data-plane1
+STATUS: deployed
+REVISION: 1
+TEST SUITE: None
+NOTES:
+Thank you for deploying MogDB Operator!
+```
+
+
+
+检查相关组件是否运行正常:
+
+```shell
+kubectl get all -n
+```
+
+期望输出:
+
+```shell
+$ kubectl get all -n data-plane1
+NAME READY STATUS RESTARTS AGE
+pod/mogdb-operator-manager-68f7f7cb48-zbmfq 1/1 Running 0 47s
+
+NAME READY UP-TO-DATE AVAILABLE AGE
+deployment.apps/mogdb-operator-manager 1/1 1 1 47s
+
+NAME DESIRED CURRENT READY AGE
+replicaset.apps/mogdb-operator-manager-68f7f7cb48 1 1 1 47s
+```
+
+当 pod 处于 running 状态时,继续下一步。
+
+
+
+### 2.注册数据平面到控制平面
+
+我们提供了注册到数据平面的脚本供您使用,其中--src相关的值与您使用的安装模式的context及namespace相关,请注意修改:
+
+```shell
+./join-to-control-plane.sh \
+--output-dir ./build \
+--src-kubeconfig ~/.kube/config \
+--src-context data-plane1 \
+--src-namespace data-plane1 \
+--src-serviceaccount mogdb-operator-controller-manager \
+--dest-kubeconfig ~/.kube/config \
+--dest-context control-plane \
+--dest-namespace control-plane
+```
+
+其中各选项的含义如下:
+
+- --output-dir:脚本运行过程中生成文件的存放路径;
+- --src-context:数据平面上下文,在本例中为 data-plane1;
+- --src-kubeconfig:数据平面 kubeconfig 路径,在本例中为 ~/.kube/config;
+- --src-namespace:数据平面所在命名空间,在本例中为 data-plane1;
+- --src-serviceaccount:数据平面的 serviceaccount,用于控制控制平面对数据平面访问的权限,在本例中为 mogdb-operator-controller-manager;
+-
+- --dest-context:控制平面上下文,在本例中为 control-plane;
+- --dest-kubeconfig:控制平面 kubeconfig 路径,在本例中为 ~/.kube/config;
+- --dest-namespace:控制平面所在命名空间,在本例中为 control-plane;
+
+期望输出:
+
+```shell
+$ ./join-to-control-plane.sh \
+--output-dir ./build \
+--src-kubeconfig ~/.kube/config \
+--src-context data-plane1 \
+--src-namespace data-plane1 \
+--src-serviceaccount mogdb-operator-controller-manager \
+--dest-kubeconfig ~/.kube/config \
+--dest-context control-plane \
+--dest-namespace control-plane
+
+Source cluster had localhost as the API server address; replacing with https://172.19.0.6:6443
+Creating KubeConfig at ./build/kubeconfig
+Creating secret data-plane1
+Error from server (NotFound): secrets "data-plane1" not found
+secret/data-plane1 created
+Creating ClientConfig ./build/data-plane1.yaml
+kubeclientconfig.mogdb.enmotech.io/data-plane1 created
+```
+
+
+
+### 3.安装multi-cluster
+
+```shell
+helm install enmotech/multi-cluster -n --set enableControl=false [--set =...]
+```
+
+ 期望输出:
+
+```shell
+$ helm install multi-cluster helm/multi-cluster --set enableControl=false -n control-plane
+NAME: multi-cluster
+LAST DEPLOYED: Sat Jul 29 08:24:33 2023
+NAMESPACE: control-plane
+STATUS: deployed
+REVISION: 1
+TEST SUITE: None
+NOTES:
+Thank you for deploying MogDB Multi Cluster!
+```
+
+
+
+> 至此完成数据平面的安装。
+
+
+
+## 卸载
+
+### 1.卸载数据平面组件
+
+> 首先确保要卸载的数据平面上已无 mogdb 集群残留。
+
+**卸载 multi-cluster**
+
+```shell
+helm uninstall -n
+```
+
+期望输出:
+
+```shell
+$ helm uninstall multi-cluster -n control-plane
+release "multi-cluster" uninstalled
+```
+
+> 如果您拥有多个数据平面,则只需切换至对应的上下文,并循环执行该小节。
+
+**切换到控制平面**
+
+解注册需要在控制平面进行,因此需要先切换到控制平面。
+
+```shell
+kubectl config --kubeconfig use-context
+```
+
+期望输出:
+
+```shell
+$ kubectl config --kubeconfig ~/.kube/config use-context control-plane
+Switched to context "control-plane".
+```
+
+
+
+**解注册**
+
+```shell
+kubectl delete kubeclientconfig.mogdb.enmotech.io/ -n
+```
+
+期望输出:
+
+```shell
+$ kubectl delete kubeclientconfig.mogdb.enmotech.io/data-plane1 -n mogdb-operator-system
+kubeclientconfig.mogdb.enmotech.io "data-plane1" deleted
+```
+
+
+
+**切换到数据平面**
+
+```shell
+kubectl config --kubeconfig use-context
+```
+
+期望输出:
+
+```shell
+$ kubectl config --kubeconfig ~/.kube/config use-context data-plane1
+Switched to context "data-plane1".
+```
+
+
+
+**卸载 mogdb-operator**
+
+```shell
+helm uninstall -n
+```
+
+期望输出:
+
+```shell
+$ helm uninstall manager1 -n data-plane1
+release "manager1" uninstalled
+```
+
+
+
+**卸载 CRD**
+
+```shell
+kubectl delete -k kustomize/mogdb-operator/bases/crd
+kubectl delete -k kustomize/multi-operator/bases/crd
+```
+
+期望输出:
+
+```shell
+$ kubectl delete -k kustomize/mogdb-operator/bases/crd
+customresourcedefinition.apiextensions.k8s.io "mogdbclusters.mogdb.enmotech.io" deleted
+customresourcedefinition.apiextensions.k8s.io "mogdbclustertemplates.mogdb.enmotech.io" deleted
+customresourcedefinition.apiextensions.k8s.io "mogdbpodtemplates.mogdb.enmotech.io" deleted
+
+$ kubectl delete -k kustomize/multi-operator/bases/crd
+customresourcedefinition.apiextensions.k8s.io "kubeclientconfigs.mogdb.enmotech.io" deleted
+customresourcedefinition.apiextensions.k8s.io "multiclusters.mogdb.enmotech.io" deleted
+```
+
+
+
+**删除命名空间**
+
+```shell
+kubectl delete namespace
+```
+
+期望输出:
+
+```shell
+$ kubectl delete namespace data-plane1
+namespace "data-plane1" deleted
+```
+
+
+
+### 2.卸载控制平面组件
+
+> 首先确保要卸载的控制平面上已无 mogdb 集群残留。
+
+**切换到控制平面**
+
+```shell
+kubectl config --kubeconfig use-context
+```
+
+期望输出:
+
+```shell
+$ kubectl config --kubeconfig ~/.kube/config use-context control-plane
+Switched to context "control-plane".
+```
+
+
+
+**卸载 mogdb-ha**
+
+```shell
+helm uninstall -n
+```
+
+期望输出:
+
+```shell
+$ helm uninstall mogdb-ha -n mogdb-ha
+release "mogdb-ha" uninstalled
+```
+
+
+
+**卸载 multi-operator**
+
+```shell
+helm uninstall -n
+```
+
+期望输出:
+
+```shell
+$ helm uninstall manager -n control-plane
+release "manager" uninstalled
+```
+
+
+
+**卸载 CRD**
+
+```shell
+kubectl delete -k kustomize/multi-operator/bases/crd
+```
+
+期望输出:
+
+```shell
+$ kubectl delete -k kustomize/multi-operator/bases/crd
+customresourcedefinition.apiextensions.k8s.io "kubeclientconfigs.mogdb.enmotech.io" deleted
+customresourcedefinition.apiextensions.k8s.io "multiclusters.mogdb.enmotech.io" deleted
+```
+
+
+
+**删除命名空间**
+
+```shell
+kubectl delete namespace
+```
+
+期望输出:
+
+```shell
+$ kubectl delete namespace mogdb-ha
+namespace "mogdb-ha" deleted
+
+$ kubectl delete namespace control-plane
+namespace "control-plane" deleted
+```
diff --git a/product/zh/docs-mogdb-stack/v3.0/installation/multi-kustomize.md b/product/zh/docs-mogdb-stack/v3.0/installation/multi-kustomize.md
new file mode 100644
index 0000000000000000000000000000000000000000..54f7e09d9d65e6c508178907204ef8b41f8ea796
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/installation/multi-kustomize.md
@@ -0,0 +1,784 @@
+---
+date: 2023-06-30
+author: houzhen.su
+title: 使用 kustomize 安装(多集群模式)
+summary: 使用 kustomize 安装(多集群模式)
+---
+
+# 使用 kustomize 安装(多集群模式)
+
+本节提供了使用 kustomize 安装和配置 mogdb-stack `多 kubernetes 集群模式`的说明。
+
+
+
+## 术语
+
+提前了解以下术语将有助于您阅读本文档。
+
+- 控制平面:控制层,
+- 数据平面:数据层,mogdb 真实存在的位置
+- 数据中心:每个数据平面被称为一个数据中心
+
+注意:控制平面、数据平面、数据中心均为逻辑概念。实际上,控制平面和数据平面出现在同一 kubernetes 集群中是被允许的,多个数据平面也可以同时出现在一个 kubernetes 集群中。**在生产环境中我们推荐将控制平面、数据平面分开部署。**
+
+
+
+## 前置条件
+
+- 已准备一个控制平面
+- 已准备至少一个数据平面
+- 各平面之间 kubernetes 网络已互通
+- 已安装 [kustomize](https://kustomize.io/) v3+:具体请参考
+
+- 下载 mogdb-stack-examples 仓库
+
+首先,在 GitHub 上 [fork mogdb-stack-examples](https://github.com/enmotech/mogdb-stack-examples/fork) 仓库:
+
+ mogdb stack 的 kustomize 安装包。
+
+之后,您可以通过类似如下的命令将仓库下载至本地:
+
+```shell
+YOUR_GITHUB_UN=""
+git clone --depth 1 "git@github.com:${YOUR_GITHUB_UN}/mogdb-stack-examples.git"
+cd mogdb-stack-examples
+```
+
+
+
+## 安装模式
+
+在安装 mogdb-stack 中的 mogdb-operator 与 multi-operator 组件时,可以配置其管理整个 kubernetes 集群的 mogdb 集群,或仅允许其管理单个 kubernetes 命名空间中的 mogdb 集群。
+
+在管理整个 kubernetes 集群的 mogdb 集群时,我们会创建 ClusterRole 与 ClusterRoleBinding。
+
+但是当仅允许其管理单个 kubernetes 命名空间中的 mogdb 集群时,我们则会创建 Role 与 RoleBinding。
+
+不论是集群模式还是命名空间模式,kustomize 都会自动帮助我们创建必须的资源。其中集群模式的 kustomization 文件位于各组件安装包的 `default` 文件夹中,命名空间模式的 kustomization 文件位于各组件安装包的 `singlenamespace` 文件夹中。
+
+**因此,不论您选择哪种安装模式,都应该在自定义配置时修改对应文件夹中的内容,否则配置将不会生效。**
+
+
+
+## 配置
+
+虽然默认的 kustomize 安装项目可以在大多数 kubernetes 环境中工作,但可能有必要根据您的特定需求进一步自定义 kustomize 项目。
+
+例如,要自定义 stack 的镜像,可以修改位于 `kustomize/<具体组件>/install/default/kustomization.yaml` 文件中的 `images` 配置。
+
+这里以基础组件 `mogdb-operator` 为例:
+
+```yaml
+images:
+ - name: controller
+ newName: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/mogdb-operator
+ newTag: 3.0.0
+```
+
+
+
+请注意,kustomize 安装包还将默认为 mogdb-stack 创建一个/多个命名空间。要修改安装程序创建的命名空间的名称,应修改位于 `kustomize/<具体组件>/overlays/stable/kustomization.yaml` 文件中的 `namespace` 配置。
+
+这里以基础组件 `mogdb-operator` 为例:
+
+```yaml
+# Add namespace to all resources.
+namespace: mogdb-operator-system
+```
+
+
+
+除此之外,您还可以使用 patches 等诸多 kustomize 提供的强大功能自定义您的 mogdb-stack,有关这些功能的详细信息请参考 [kustomize 官方文档](https://kubectl.docs.kubernetes.io/)。
+
+
+
+## 控制平面安装
+
+在根据您的特定需求完成每个组件的 kustomize 安装包自定义后,我们可以开始控制平面的安装。
+
+**注意:只能同时存在一个控制平面。**
+
+在开始之前,确保您已将 kubectl 的当前上下文切换到控制平面:
+
+```shell
+kubectl config --kubeconfig use-context
+```
+
+期望输出:
+
+```shell
+$ kubectl config --kubeconfig ~/.kube/config use-context control-plane
+Switched to context "control-plane".
+```
+
+
+
+### 1.安装 mogdb-ha
+
+**注意**:
+
+- mogdb-ha 组件是**必选的**;
+- 如果您要将其用于生产环境,确保您已准备了**高可用 etcd 集群**并在[配置](##配置)阶段完成了其相关配置。
+
+
+
+创建 namespace:
+
+```shell
+kubectl create namespace
+```
+
+期望输出:
+
+```shell
+$ kubectl create namespace mogdb-ha
+namespace/mogdb-ha created
+```
+
+
+
+安装 mogdb-ha 组件:
+
+```shell
+kubectl apply --server-side -k kustomize/mogdb-ha/install
+```
+
+期望输出:
+
+```shell
+$ kubectl apply --server-side -k kustomize/mogdb-ha/install
+namespace/mogdb-ha serverside-applied
+serviceaccount/mogdb-ha serverside-applied
+clusterrole.rbac.authorization.k8s.io/mogdb-ha-role serverside-applied
+clusterrolebinding.rbac.authorization.k8s.io/mogdb-ha-rolebinding serverside-applied
+secret/mogdb-ha-huawei-registry serverside-applied
+service/mogdb-ha serverside-applied
+deployment.apps/mogdb-ha serverside-applied
+```
+
+
+
+检查相关组件是否运行正常:
+
+```shell
+kubectl get all -n
+```
+
+期望输出:
+
+```shell
+$ kubectl get all -n mogdb-ha
+NAME READY STATUS RESTARTS AGE
+pod/mogdb-ha-58fb655887-59q8z 2/2 Running 0 71s
+
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+service/mogdb-ha NodePort 10.96.7.215 6544:32544/TCP 71s
+
+NAME READY UP-TO-DATE AVAILABLE AGE
+deployment.apps/mogdb-ha 1/1 1 1 71s
+
+NAME DESIRED CURRENT READY AGE
+replicaset.apps/mogdb-ha-58fb655887 1 1 1 71s
+```
+
+当 pod 处于 running 状态时,继续下一步。
+
+
+
+### 2.安装控制平面 multi-operator
+
+**注意**:
+
+- multi-operator 组件是**必选的**;
+
+
+
+安装 CRD:
+
+**注意,在同一个 kubernetes 集群中,CRD 只需安装一次。**
+
+```shell
+kubectl apply --server-side -k kustomize/multi-operator/bases/crd
+```
+
+期望输出:
+
+```shell
+$ kubectl apply --server-side -k kustomize/multi-operator/bases/crd
+customresourcedefinition.apiextensions.k8s.io/kubeclientconfigs.mogdb.enmotech.io serverside-applied
+customresourcedefinition.apiextensions.k8s.io/multiclusters.mogdb.enmotech.io serverside-applied
+```
+
+
+
+创建 namespace:
+
+```shell
+kubectl create namespace
+```
+
+期望输出:
+
+```shell
+$ kubectl create namespace control-plane
+namespace/control-plane created
+```
+
+
+
+安装 multi-operator:
+
+- 要以**集群模式**安装 multi-operator,请使用位于 `default` 文件夹中的 kustomization 文件:
+
+```shell
+kubectl apply --server-side -k kustomize/multi-operator/install-ctl-plane/default
+```
+
+ 期望输出:
+
+```shell
+$ kubectl apply --server-side -k kustomize/multi-operator/install-ctl-plane/default
+serviceaccount/mogdb-multi-serviceaccount serverside-applied
+clusterrole.rbac.authorization.k8s.io/mogdb-multi-leader-election-role serverside-applied
+clusterrole.rbac.authorization.k8s.io/mogdb-multi-manager-role serverside-applied
+clusterrolebinding.rbac.authorization.k8s.io/mogdb-multi-leader-election-rolebinding serverside-applied
+clusterrolebinding.rbac.authorization.k8s.io/mogdb-multi-manager-rolebinding serverside-applied
+secret/mogdb-multi-multi-operator-huawei-registry serverside-applied
+deployment.apps/mogdb-multi-manager serverside-applied
+```
+
+- 要以**命名空间模式**安装 multi-operator,请使用位于 `singlenamespace` 文件夹中的 kustomization 文件:
+
+```shell
+kubectl apply --server-side -k kustomize/multi-operator/install-ctl-plane/singlenamespace
+```
+
+ 期望输出
+
+```shell
+$ kubectl apply --server-side -k kustomize/multi-operator/install-ctl-plane/singlenamespace
+serviceaccount/mogdb-multi-serviceaccount serverside-applied
+role.rbac.authorization.k8s.io/mogdb-multi-leader-election-role serverside-applied
+role.rbac.authorization.k8s.io/mogdb-multi-manager-role serverside-applied
+rolebinding.rbac.authorization.k8s.io/mogdb-multi-leader-election-rolebinding serverside-applied
+rolebinding.rbac.authorization.k8s.io/mogdb-multi-manager-rolebinding serverside-applied
+secret/mogdb-multi-multi-operator-huawei-registry serverside-applied
+deployment.apps/mogdb-multi-manager serverside-applied
+```
+
+
+
+检查相关组件是否运行正常:
+
+```shell
+kubectl get all -n
+```
+
+期望输出:
+
+```shell
+$ kubectl get all -n control-plane
+NAME READY STATUS RESTARTS AGE
+pod/mogdb-multi-manager-77587fd775-npf9d 1/1 Running 0 25s
+
+NAME READY UP-TO-DATE AVAILABLE AGE
+deployment.apps/mogdb-multi-manager 1/1 1 1 25s
+
+NAME DESIRED CURRENT READY AGE
+replicaset.apps/mogdb-multi-manager-77587fd775 1 1 1 25s
+```
+
+当 pod 处于 running 状态时,继续下一步。
+
+
+
+> 至此完成控制平面的安装。
+
+
+
+## 数据平面安装
+
+在根据您的特定需求完成每个组件的 kustomize 安装包自定义后,我们可以开始数据平面的安装。
+
+**注意:可以同时存在多个数据平面,如果您拥有多个数据平面,则只需切换至对应的上下文,并循环执行该小节。**
+
+在开始之前,确保您已将 kubectl 的当前上下文切换到数据平面:
+
+```shell
+kubectl config --kubeconfig use-context
+```
+
+期望输出:
+
+```shell
+$ kubectl config --kubeconfig ~/.kube/config use-context data-plane1
+Switched to context "data-plane1".
+```
+
+
+
+### 1.安装 mogdb-operator
+
+**注意**:
+
+- mogdb-operator 组件是**必选的**;
+
+
+
+安装 CRD:
+
+**注意,在同一个 kubernetes 集群中,CRD 只需安装一次。**
+
+```shell
+kubectl apply --server-side -k kustomize/mogdb-operator/bases/crd
+```
+
+期望输出:
+
+```shell
+$ kubectl apply --server-side -k kustomize/mogdb-operator/bases/crd
+customresourcedefinition.apiextensions.k8s.io/mogdbclusters.mogdb.enmotech.io serverside-applied
+customresourcedefinition.apiextensions.k8s.io/mogdbclustertemplates.mogdb.enmotech.io serverside-applied
+customresourcedefinition.apiextensions.k8s.io/mogdbpodtemplates.mogdb.enmotech.io serverside-applied
+```
+
+
+
+创建 namespace:
+
+```shell
+kubectl create namespace
+```
+
+期望输出:
+
+```shell
+$ kubectl create namespace data-plane1
+namespace/data-plane1 created
+```
+
+
+
+安装mogdb-operator:
+
+首先将以下几个文件的对应的值修改成和data-plane1相关:
+
+```shell
+kustomize/mogdb-operator/install/singlenamespace/kustomization.yaml:
+namespace:data-plane1
+
+kustomize/mogdb-operator/install/singlenamespace/patches/rbac/leader_election_role_binding.yaml:
+value: mogdb-operator-system-leader-election-rolebinding-data-plane1
+
+kustomize/mogdb-operator/install/singlenamespace/patches/rbac/leader_election_role.yaml:
+value: mogdb-operator-system-leader-election-role-data-plane1
+
+kustomize/mogdb-operator/install/singlenamespace/patches/rbac/manager_role_binding.yaml
+value: mogdb-operator-system-manager-rolebinding-data-plane1
+
+kustomize/mogdb-operator/install/singlenamespace/patches/rbac/manager_role.yaml
+value: mogdb-operator-system-manager-role-data-plane1
+```
+
+
+
+安装 mogdb-operator:
+
+- 要以**集群模式**安装 mogdb-operator,请使用位于 `default` 文件夹中的 kustomization 文件:
+
+```shell
+kubectl apply --server-side -k kustomize/mogdb-operator/install/default
+```
+
+ 期望输出:
+
+```shell
+$ kubectl apply --server-side -k kustomize/mogdb-operator/install/default
+serviceaccount/mogdb-operator-controller-manager serverside-applied
+clusterrole.rbac.authorization.k8s.io/mogdb-operator-leader-election-role serverside-applied
+clusterrole.rbac.authorization.k8s.io/mogdb-operator-manager-role serverside-applied
+clusterrolebinding.rbac.authorization.k8s.io/mogdb-operator-leader-election-rolebinding serverside-applied
+clusterrolebinding.rbac.authorization.k8s.io/mogdb-operator-manager-rolebinding serverside-applied
+configmap/mogdb-operator-global-config serverside-applied
+configmap/mogdb-operator-rclone-config serverside-applied
+secret/mogdb-operator-huawei-registry serverside-applied
+secret/mogdb-operator-token serverside-applied
+deployment.apps/mogdb-operator-manager serverside-applied
+```
+
+- 要以**命名空间模式**安装 mogdb-operator,请使用位于 `singlenamespace` 文件夹中的 kustomization 文件:
+
+```shell
+kubectl apply --server-side -k kustomize/mogdb-operator/install/singlenamespace
+```
+
+ 期望输出:
+
+```shell
+$ kubectl apply --server-side -k kustomize/mogdb-operator/install/default
+serviceaccount/mogdb-operator-controller-manager serverside-applied
+role.rbac.authorization.k8s.io/mogdb-operator-leader-election-role serverside-applied
+role.rbac.authorization.k8s.io/mogdb-operator-manager-role serverside-applied
+rolebinding.rbac.authorization.k8s.io/mogdb-operator-leader-election-rolebinding serverside-applied
+rolebinding.rbac.authorization.k8s.io/mogdb-operator-manager-rolebinding serverside-applied
+configmap/mogdb-operator-global-config serverside-applied
+configmap/mogdb-operator-rclone-config serverside-applied
+secret/mogdb-operator-huawei-registry serverside-applied
+secret/mogdb-operator-token serverside-applied
+deployment.apps/mogdb-operator-manager serverside-applied
+```
+
+
+
+检查相关组件是否运行正常:
+
+```shell
+kubectl get all -n
+```
+
+期望输出:
+
+```shell
+$ kubectl get all -n data-plane1
+NAME READY STATUS RESTARTS AGE
+pod/mogdb-operator-manager-5b5c4bb8b8-z2l48 1/1 Running 0 32s
+
+NAME READY UP-TO-DATE AVAILABLE AGE
+deployment.apps/mogdb-operator-manager 1/1 1 1 32s
+
+NAME DESIRED CURRENT READY AGE
+replicaset.apps/mogdb-operator-manager-5b5c4bb8b8 1 1 1 32s
+```
+
+当 pod 处于 running 状态时,继续下一步。
+
+
+
+### 2.注册数据平面到控制平面
+
+我们提供了注册到数据平面的脚本供您使用:
+
+```shell
+./join-to-control-plane.sh \
+--output-dir ./build \
+--src-kubeconfig ~/.kube/config \
+--src-context data-plane1 \
+--src-namespace data-plane1 \
+--src-serviceaccount mogdb-operator-controller-manager \
+--dest-kubeconfig ~/.kube/config \
+--dest-context control-plane \
+--dest-namespace control-plane
+```
+
+其中各选项的含义如下:
+
+- --output-dir:脚本运行过程中生成文件的存放路径;
+- --src-context:数据平面上下文,在本例中为 data-plane1;
+- --src-kubeconfig:数据平面 kubeconfig 路径,在本例中为 ~/.kube/config;
+- --src-namespace:数据平面所在命名空间,在本例中为 data-plane1;
+- --src-serviceaccount:数据平面的 serviceaccount,用于控制控制平面对数据平面访问的权限,在本例中为 mogdb-operator-controller-manager;
+-
+- --dest-context:控制平面上下文,在本例中为 control-plane;
+- --dest-kubeconfig:控制平面 kubeconfig 路径,在本例中为 ~/.kube/config;
+- --dest-namespace:控制平面所在命名空间,在本例中为 control-plane;
+
+期望输出:
+
+```shell
+% ./join-to-control-plane.sh \
+--output-dir ./build \
+--src-kubeconfig ~/.kube/config \
+--src-context data-plane1 \
+--src-namespace data-plane1 \
+--src-serviceaccount mogdb-operator-controller-manager \
+--dest-kubeconfig ~/.kube/config \
+--dest-context control-plane \
+--dest-namespace control-plane
+
+Source cluster had localhost as the API server address; replacing with https://172.19.0.6:6443
+Creating KubeConfig at ./build/kubeconfig
+Creating secret data-plane1
+secrets "data-plane1" not found
+secret/data-plane1 created
+Creating ClientConfig ./build/data-plane1.yaml
+kubeclientconfig.mogdb.enmotech.io/data-plane1 created
+```
+
+
+
+### 3.部署Multi Cluster
+
+```shell
+kubectl apply --server-side -k kustomize/multi-cluster/install/default
+```
+
+期望输出:
+
+```shell
+multicluster.mogdb.enmotech.io/multi-cluster created
+```
+
+查看Multi Cluster pod状态:
+
+```shell
+kubectl get pods -A --selector='mogdb.enmotech.io/app=multi-operator'
+```
+
+查看结果:
+
+```shell
+NAMESPACE NAME READY STATUS RESTARTS AGE
+data-plane1 dc1-sts-259bm-0 2/2 Running 0 3h52m
+data-plane1 dc1-sts-fxq24-0 2/2 Running 0 3h53m
+data-plane2 dc2-sts-djsm2-0 2/2 Running 0 3h51m
+data-plane2 dc2-sts-zbqxb-0 2/2 Running 0 3h51m
+```
+
+
+
+> 至此完成数据平面的安装。
+
+
+
+## 卸载
+
+### 1.删除多k8s集群的MogDB集群
+
+```shell
+kubectl delete -k kustomize/multi-cluster/install/default
+```
+
+期望输出:
+
+```text
+mogdbcluster.mogdb.enmotech.io "mogdb-cluster" deleted
+```
+
+### 2.卸载数据平面组件
+
+> 首先确保要卸载的数据平面上已无 mogdb 集群残留。
+>
+> 如果您拥有多个数据平面,则只需切换至对应的上下文,并循环执行该小节。
+
+**切换到控制平面**
+
+解注册需要在控制平面进行,因此需要先切换到控制平面。
+
+```shell
+kubectl config --kubeconfig use-context
+```
+
+期望输出:
+
+```shell
+$ kubectl config --kubeconfig ~/.kube/config use-context control-plane
+Switched to context "control-plane".
+```
+
+
+
+**解注册**
+
+```shell
+kubectl delete kubeclientconfig.mogdb.enmotech.io/ -n
+```
+
+期望输出:
+
+```shell
+$ kubectl delete kubeclientconfig.mogdb.enmotech.io/data-plane1 -n mogdb-operator-system
+kubeclientconfig.mogdb.enmotech.io "data-plane1" deleted
+```
+
+
+
+**切换到数据平面**
+
+```shell
+kubectl config --kubeconfig use-context
+```
+
+期望输出:
+
+```shell
+$ kubectl config --kubeconfig ~/.kube/config use-context data-plane1
+Switched to context "data-plane1".
+```
+
+
+
+**卸载 multi-cluster**
+
+```shell
+kubectl delete -k kustomize/multi-operator/install-ctl-plane/default
+```
+
+期望输出:
+
+```shell
+$ kubectl delete -k kustomize/multi-operator/install-ctl-plane/default
+serviceaccount/mogdb-multi-serviceaccount deleted
+clusterrole.rbac.authorization.k8s.io/mogdb-multi-leader-election-role deleted
+clusterrole.rbac.authorization.k8s.io/mogdb-multi-manager-role deleted
+clusterrolebinding.rbac.authorization.k8s.io/mogdb-multi-leader-election-rolebinding deleted
+clusterrolebinding.rbac.authorization.k8s.io/mogdb-multi-manager-rolebinding deleted
+secret/mogdb-multi-multi-operator-huawei-registry deleted
+deployment.apps/mogdb-multi-manager deleted
+```
+
+
+
+**卸载 mogdb-cluster**
+
+```shell
+kubectl delete -k kustomize/mogdb-operator/install/default
+```
+
+期望输出:
+
+```shell
+$ kubectl delete -k kustomize/mogdb-operator/install/default
+namespace/mogdb-operator-system deleted
+serviceaccount/mogdb-operator-controller-manager deleted
+clusterrole.rbac.authorization.k8s.io/mogdb-operator-leader-election-role deleted
+clusterrole.rbac.authorization.k8s.io/mogdb-operator-manager-role deleted
+clusterrolebinding.rbac.authorization.k8s.io/mogdb-operator-leader-election-rolebinding deleted
+clusterrolebinding.rbac.authorization.k8s.io/mogdb-operator-manager-rolebinding deleted
+configmap/mogdb-operator-global-config deleted
+configmap/mogdb-operator-rclone-config deleted
+secret/mogdb-operator-huawei-registry deleted
+secret/mogdb-operator-token deleted
+deployment.apps/mogdb-operator-manager deleted
+```
+
+
+
+**卸载 CRD**
+
+```shell
+kubectl delete -k kustomize/mogdb-operator/bases/crd
+kubectl delete -k kustomize/multi-operator/bases/crd
+```
+
+期望输出:
+
+```shell
+$ kubectl delete -k kustomize/mogdb-operator/bases/crd
+customresourcedefinition.apiextensions.k8s.io "mogdbclusters.mogdb.enmotech.io" deleted
+customresourcedefinition.apiextensions.k8s.io "mogdbclustertemplates.mogdb.enmotech.io" deleted
+customresourcedefinition.apiextensions.k8s.io "mogdbpodtemplates.mogdb.enmotech.io" deleted
+
+$ kubectl delete -k kustomize/multi-operator/bases/crd
+customresourcedefinition.apiextensions.k8s.io "kubeclientconfigs.mogdb.enmotech.io" deleted
+customresourcedefinition.apiextensions.k8s.io "multiclusters.mogdb.enmotech.io" deleted
+```
+
+
+
+**删除命名空间**
+
+```shell
+kubectl delete namespace
+```
+
+期望输出:
+
+```shell
+kubectl delete namespace mogdb-operator-system
+namespace "mogdb-operator-system" deleted
+```
+
+
+
+### 3.卸载控制平面组件
+
+> 首先确保要卸载的控制平面上已无 mogdb 集群残留。
+
+**切换到控制平面**
+
+```shell
+kubectl config --kubeconfig use-context
+```
+
+期望输出:
+
+```shell
+$ kubectl config --kubeconfig ~/.kube/config use-context control-plane
+Switched to context "control-plane".
+```
+
+
+
+**卸载 mogdb-ha**
+
+```shell
+kubectl delete -k kustomize/mogdb-ha/install
+```
+
+期望输出:
+
+```shell
+$ kubectl delete -k kustomize/mogdb-ha/install
+namespace/mogdb-ha deleted
+serviceaccount/mogdb-ha deleted
+clusterrole.rbac.authorization.k8s.io/mogdb-ha-role deleted
+clusterrolebinding.rbac.authorization.k8s.io/mogdb-ha-rolebinding deleted
+secret/mogdb-ha-huawei-registry deleted
+service/mogdb-ha deleted
+deployment.apps/mogdb-ha deleted
+```
+
+
+
+**卸载 multi-cluster**
+
+```shell
+kubectl delete -k kustomize/multi-operator/install-ctl-plane/default
+```
+
+期望输出:
+
+```shell
+$ kubectl delete -k kustomize/multi-operator/install-ctl-plane/default
+serviceaccount/mogdb-multi-serviceaccount deleted
+clusterrole.rbac.authorization.k8s.io/mogdb-multi-leader-election-role deleted
+clusterrole.rbac.authorization.k8s.io/mogdb-multi-manager-role deleted
+clusterrolebinding.rbac.authorization.k8s.io/mogdb-multi-leader-election-rolebinding deleted
+clusterrolebinding.rbac.authorization.k8s.io/mogdb-multi-manager-rolebinding deleted
+secret/mogdb-multi-multi-operator-huawei-registry deleted
+deployment.apps/mogdb-multi-manager deleted
+```
+
+
+
+**卸载 CRD**
+
+```shell
+kubectl delete -k kustomize/multi-operator/bases/crd
+```
+
+期望输出:
+
+```shell
+$ kubectl delete -k kustomize/multi-operator/bases/crd
+customresourcedefinition.apiextensions.k8s.io "kubeclientconfigs.mogdb.enmotech.io" deleted
+customresourcedefinition.apiextensions.k8s.io "multiclusters.mogdb.enmotech.io" deleted
+```
+
+
+
+**删除命名空间**
+
+```shell
+kubectl delete namespace
+```
+
+期望输出:
+
+```shell
+kubectl delete namespace mogdb-ha
+namespace "mogdb-ha" deleted
+
+kubectl delete namespace mogdb-operator-system
+namespace "mogdb-operator-system" deleted
+```
diff --git a/product/zh/docs-mogdb-stack/v3.0/installation/single-helm.md b/product/zh/docs-mogdb-stack/v3.0/installation/single-helm.md
new file mode 100644
index 0000000000000000000000000000000000000000..173ebd9c5bcf73b0a132c78ec0967fb6b09d76fc
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/installation/single-helm.md
@@ -0,0 +1,383 @@
+---
+date: 2023-06-30
+author: houzhen.su
+title: 使用 helm 安装(单集群模式)
+summary: 使用 helm 安装(单集群模式)
+---
+
+# 使用 helm 安装(单集群模式)
+
+本节提供了使用 helm 安装和配置 mogdb-stack `单 kubernetes 集群模式`的说明。
+
+
+
+## 前置条件
+
+- 已安装 [helm](https://helm.sh),具体请参考
+- 添加 [enmotech helm 发布仓](https://github.com/enmotech/charts)
+
+```shell
+helm repo add enmotech https://enmotech.github.io/charts
+```
+
+ 期望输出:
+
+```shell
+$ helm repo add enmotech https://enmotech.github.io/charts
+"enmotech" has been added to your repositories
+
+$ helm search repo enmotech
+NAME CHART VERSION APP VERSION DESCRIPTION
+enmotech/mogha 3.0.0 3.0.0 Helm chart for deploying MogDB Ha on Kubernetes
+enmotech/mogdb-monitor 3.0.0 3.0.0 A Helm chart for Kubernetes
+enmotech/mogdb-cluster 3.0.0 3.0.0 Helm chart for deploying MogDB Cluster on Kubernetes
+enmotech/multi-cluster 3.0.0 3.0.0 Helm chart for deploying MogDB Multi Cluster on Kubernetes
+enmotech/mogdb-operator 3.0.0 3.0.0 Helm chart for deploying MogDB Operator on Kubernetes
+enmotech/multi-operator 3.0.0 3.0.0 Helm chart for deploying MogDB Multi Operator on Kubernetes
+```
+
+
+
+## 安装模式
+
+在安装 mogdb-stack 中的 mogdb-operator 与 multi-operator 组件时,可以配置其管理整个 kubernetes 集群的 mogdb 集群,或仅允许其管理单个 kubernetes 命名空间中的 mogdb 集群。
+
+在管理整个 kubernetes 集群的 mogdb 集群时,我们会创建 ClusterRole 与 ClusterRoleBinding。
+
+但是当仅允许其管理单个 kubernetes 命名空间中的 mogdb 集群时,我们则会创建 Role 与 RoleBinding。
+
+不论是集群模式还是命名空间模式,helm 都会自动帮助我们创建必须的资源。
+
+**默认情况下为集群模式,如果要使用命名空间模式,只需指定 `singleNamespace=true` 即可。**
+
+
+
+## 配置
+
+虽然默认的 helm chart 可以在大多数 kubernetes 环境中工作,但可能有必要根据您的特定需求进一步自定义。
+
+我们的 Helm charts 为您提供了丰富的可自定义选项,有关这些选项的具体信息,请参考[参考/helm-charts](../references/helm-charts)。
+
+
+
+## 安装
+
+### 1.安装 mogdb-ha
+
+**注意**:
+
+- mogdb-ha 组件是**可选的**。如果您要将 mogdb-stack 用于生产环境,我们推荐您安装该组件;
+- 如果您要将其用于生产环境,确保您已准备了**高可用 etcd 集群**,我们会在在后续安装时传递相关信息。
+
+
+
+创建 namespace:
+
+```shell
+kubectl create namespace
+```
+
+期望输出:
+
+```shell
+$ kubectl create namespace mogdb-ha
+namespace/mogdb-ha created
+```
+
+
+
+安装 mogdb-ha 组件,有关设置的详细信息说明请参考 [mogdb ha charts value](../references/charts/mogdb-ha):
+
+- 默认以**集群模式**安装 mogdb-ha:
+
+```shell
+helm install enmotech/mogdb-ha -n [--set =...]
+```
+
+ 期望输出(在本例中,关闭了 debug 日志,使用简化版 etcd,并设置 ha 容器的内存大小为 1Gi):
+
+```shell
+$ helm install mogdb-ha helm/mogdb-ha -n mogdb-ha \
+ --set debug=false \
+ --set withEtcd=true \
+ --set ha.resources.limits.memory=1Gi \
+ --set ha.resources.requests.memory=1Gi
+NAME: mogdb-ha
+LAST DEPLOYED: Tue Jul 4 13:58:13 2023
+NAMESPACE: mogdb-ha
+STATUS: deployed
+REVISION: 1
+TEST SUITE: None
+NOTES:
+Thank you for deploying MogDB Ha!
+```
+
+
+
+- 要以**命名空间模式**安装 mogdb-ha,请指定 `--set singleNamespace=true`:
+
+```shell
+helm install enmotech/mogdb-ha -n --set singleNamespace=true [--set =...]
+```
+
+ 期望输出(在本例中,关闭了 debug 日志,使用简化版 etcd,并设置 ha 容器的内存大小为 1Gi):
+
+```shell
+$ helm install mogdb-ha helm/mogdb-ha -n mogdb-ha \
+ --set singleNamespace=true \
+ --set debug=false \
+ --set withEtcd=true \
+ --set ha.resources.limits.memory=1Gi \
+ --set ha.resources.requests.memory=1Gi
+NAME: mogdb-ha
+LAST DEPLOYED: Tue Jul 4 13:58:13 2023
+NAMESPACE: mogdb-ha
+STATUS: deployed
+REVISION: 1
+TEST SUITE: None
+NOTES:
+Thank you for deploying MogDB Ha!
+```
+
+
+
+检查相关组件是否运行正常:
+
+```shell
+kubectl get all -n
+```
+
+期望输出:
+
+```shell
+$ kubectl get all -n mogdb-ha
+NAME READY STATUS RESTARTS AGE
+pod/mogdb-ha-58fb655887-59q8z 2/2 Running 0 71s
+
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+service/mogdb-ha NodePort 10.96.7.215 6544/TCP 71s
+
+NAME READY UP-TO-DATE AVAILABLE AGE
+deployment.apps/mogdb-ha 1/1 1 1 71s
+
+NAME DESIRED CURRENT READY AGE
+replicaset.apps/mogdb-ha-58fb655887 1 1 1 71s
+```
+
+当 pod 处于 running 状态时,继续下一步。
+
+
+
+### 2.安装 mogdb-operator
+
+**注意**:mogdb-operator 组件是**必选的**;
+
+
+
+安装 CRD:
+
+**注意,在同一个 kubernetes 集群中,CRD 只需安装一次。**
+
+```shell
+kubectl apply --server-side -k xxx
+```
+
+期望输出:
+
+```shell
+$ kubectl apply --server-side -k kustomize/mogdb-operator/bases/crd
+customresourcedefinition.apiextensions.k8s.io/mogdbclusters.mogdb.enmotech.io serverside-applied
+customresourcedefinition.apiextensions.k8s.io/mogdbclustertemplates.mogdb.enmotech.io serverside-applied
+customresourcedefinition.apiextensions.k8s.io/mogdbpodtemplates.mogdb.enmotech.io serverside-applied
+```
+
+
+
+创建 namespace:
+
+```shell
+kubectl create namespace
+```
+
+期望输出:
+
+```shell
+$ kubectl create namespace mogdb-operator-system
+namespace/mogdb-operator-system created
+```
+
+
+
+安装 mogdb-operator,有关设置的详细信息说明请参考 [mogdb operator charts value](../references/charts/mogdb-operator):
+
+- 默认以**集群模式**安装 mogdb-operator:
+
+```shell
+helm install enmotech/mogdb-operator -n [--set =...]
+```
+
+ 期望输出:
+
+```shell
+$ helm install manager helm/mogdb-operator -n mogdb-operator-system
+NAME: manager
+LAST DEPLOYED: Tue Jul 4 17:14:17 2023
+NAMESPACE: mogdb-operator-system
+STATUS: deployed
+REVISION: 1
+TEST SUITE: None
+NOTES:
+Thank you for deploying MogDB Operator!
+```
+
+- 要以**命名空间模式**安装 mogdb-operator,请指定 `--set singleNamespace=true`:
+
+```shell
+helm install enmotech/mogdb-operator -n --set singleNamespace=true [--set =...]
+```
+
+ 期望输出:
+
+```shell
+$ helm install manager helm/mogdb-operator --set singleNamespace=true -n mogdb-operator-system
+NAME: manager
+LAST DEPLOYED: Tue Jul 4 17:14:17 2023
+NAMESPACE: mogdb-operator-system
+STATUS: deployed
+REVISION: 1
+TEST SUITE: None
+NOTES:
+Thank you for deploying MogDB Operator!
+```
+
+
+
+检查相关组件是否运行正常:
+
+```shell
+kubectl get all -n
+```
+
+期望输出:
+
+```shell
+$ kubectl get all -n mogdb-operator-system
+NAME READY STATUS RESTARTS AGE
+pod/mogdb-operator-manager-68f7f7cb48-zbmfq 1/1 Running 0 47s
+
+NAME READY UP-TO-DATE AVAILABLE AGE
+deployment.apps/mogdb-operator-manager 1/1 1 1 47s
+
+NAME DESIRED CURRENT READY AGE
+replicaset.apps/mogdb-operator-manager-68f7f7cb48 1 1 1 47s
+```
+
+当 pod 处于 running 状态时,继续下一步。
+
+
+
+### 3.安装 mogdb-cluster
+
+安装 mogdb-cluster,有关设置的详细信息说明请参考 [mogdb cluster charts value](../references/charts/mogdb-cluster):
+
+- 默认以**集群模式**安装 mogdb-cluster
+
+```shell
+helm install enmotech/mogdb-cluster -n [--set =...]
+```
+
+ 期望输出:
+
+```shell
+$ helm install cluster helm/mogdb-cluster -n mogdb-operator-system
+NAME: cluster
+LAST DEPLOYED: Tue Jul 4 17:14:17 2023
+NAMESPACE: mogdb-operator-system
+STATUS: deployed
+REVISION: 1
+TEST SUITE: None
+NOTES:
+Thank you for deploying MogDB Cluster!
+```
+
+
+
+## 卸载
+
+> 首先确保要卸载的集群中上已无 mogdb 集群残留。
+
+**卸载 cluster**
+
+```shell
+helm uninstall -n
+```
+
+期望输出:
+
+```shell
+$ helm uninstall cluster -n mogdb-operator-system
+release "cluster" uninstalled
+```
+
+**卸载 mogdb-ha**
+
+```shell
+helm uninstall -n
+```
+
+期望输出:
+
+```shell
+$ helm uninstall mogdb-ha -n mogdb-ha
+release "mogdb-ha" uninstalled
+```
+
+
+
+**卸载 mogdb-cluster**
+
+```shell
+helm uninstall -n
+```
+
+期望输出:
+
+```shell
+$ helm uninstall manager -n mogdb-operator-system
+release "manager" uninstalled
+```
+
+
+
+**卸载 CRD**
+
+```shell
+kubectl delete -k kustomize/mogdb-operator/bases/crd
+```
+
+期望输出:
+
+```shell
+$ kubectl delete -k kustomize/mogdb-operator/bases/crd
+customresourcedefinition.apiextensions.k8s.io "mogdbclusters.mogdb.enmotech.io" deleted
+customresourcedefinition.apiextensions.k8s.io "mogdbclustertemplates.mogdb.enmotech.io" deleted
+customresourcedefinition.apiextensions.k8s.io "mogdbpodtemplates.mogdb.enmotech.io" deleted
+```
+
+
+
+**删除命名空间**
+
+```shell
+kubectl delete namespace
+```
+
+期望输出:
+
+```shell
+kubectl delete namespace mogdb-ha
+namespace "mogdb-ha" deleted
+
+kubectl delete namespace mogdb-operator-system
+namespace "mogdb-operator-system" deleted
+```
diff --git a/product/zh/docs-mogdb-stack/v3.0/installation/single-kustomize.md b/product/zh/docs-mogdb-stack/v3.0/installation/single-kustomize.md
new file mode 100644
index 0000000000000000000000000000000000000000..604cd6477941166f0264b1425606d4b630547d71
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/installation/single-kustomize.md
@@ -0,0 +1,386 @@
+---
+date: 2022-06-30
+author: houzhen.su
+title: 使用 kustomize 安装(单集群模式)
+summary: 使用 kustomize 安装(单集群模式)
+---
+
+# 使用 kustomize 安装(单集群模式)
+
+本节提供了使用 kustomize 安装和配置 mogdb-stack `单 kubernetes 集群模式`的说明。
+
+
+
+## 前置条件
+
+- 已安装 [kustomize](https://kustomize.io/) v3+:具体请参考
+
+- 下载 mogdb-stack-examples 仓库
+
+首先,在 GitHub 上 [fork mogdb-stack-examples](https://github.com/enmotech/mogdb-stack-examples/fork) 仓库:
+
+ mogdb stack 的 kustomize 安装包。
+
+之后,您可以通过类似如下的命令将仓库下载至本地:
+
+```shell
+YOUR_GITHUB_UN=""
+git clone --depth 1 "git@github.com:${YOUR_GITHUB_UN}/mogdb-stack-examples.git"
+cd mogdb-stack-examples
+```
+
+
+
+## 安装模式
+
+在安装 mogdb-stack 中的 mogdb-operator 组件时,可以配置其管理整个 kubernetes 集群的 mogdb 集群,或仅允许其管理单个 kubernetes 命名空间中的 mogdb 集群。
+
+在管理整个 kubernetes 集群的 mogdb 集群时,我们会创建 ClusterRole 与 ClusterRoleBinding。
+
+但是当仅允许其管理单个 kubernetes 命名空间中的 mogdb 集群时,我们则会创建 Role 与 RoleBinding。
+
+不论是集群模式还是命名空间模式,kustomize 都会自动帮助我们创建必须的资源。其中集群模式的 kustomization 文件位于各组件安装包的 `default` 文件夹中,命名空间模式的 kustomization 文件位于各组件安装包的 `singlenamespace` 文件夹中。
+
+**因此,不论您选择哪种安装模式,都应该在自定义配置时修改对应文件夹中的内容,否则配置将不会生效。**
+
+
+
+## 配置
+
+虽然默认的 kustomize 安装项目可以在大多数 kubernetes 环境中工作,但可能有必要根据您的特定需求进一步自定义 kustomize 项目。
+
+例如,要自定义 stack 的镜像,可以修改位于 `kustomize/<具体组件>/install/default/kustomization.yaml` 文件中的 `images` 配置。
+
+这里以基础组件 `mogdb-operator` 为例:
+
+```yaml
+images:
+ - name: controller
+ newName: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/mogdb-operator
+ newTag: 3.0.0
+```
+
+
+
+请注意,kustomize 安装包还将默认为 mogdb-stack 创建一个/多个命名空间。要修改安装程序创建的命名空间的名称,应修改位于 `kustomize/<具体组件>/install/default/kustomization.yaml` 文件中的 `namespace` 配置。
+
+这里以基础组件 `mogdb-operator` 为例:
+
+```yaml
+# Add namespace to all resources.
+namespace: mogdb-operator-system
+```
+
+
+
+除此之外,您还可以使用 patches 等诸多 kustomize 提供的强大功能自定义您的 mogdb-stack,有关这些功能的详细信息请参考 [kustomize 官方文档](https://kubectl.docs.kubernetes.io/)。
+
+
+
+## 安装
+
+在根据您的特定需求完成每个组件的 kustomize 安装包自定义后,我们可以开始安装。
+
+### 1.安装 mogdb-ha
+
+**注意**:
+
+- mogdb-ha 组件是**可选的**。如果您要将 mogdb-stack 用于生产环境,我们推荐您安装该组件;
+- 如果您要将其用于生产环境,确保您已准备了**高可用 etcd 集群**并在[配置](##配置)阶段完成了其相关配置。
+
+
+
+安装 mogdb-ha 组件:
+
+```shell
+kubectl apply --server-side -k kustomize/mogdb-ha/install
+```
+
+期望输出:
+
+```shell
+$ kubectl apply --server-side -k kustomize/mogdb-ha/install
+namespace/mogdb-ha serverside-applied
+serviceaccount/mogdb-ha serverside-applied
+clusterrole.rbac.authorization.k8s.io/mogdb-ha-role serverside-applied
+clusterrolebinding.rbac.authorization.k8s.io/mogdb-ha-rolebinding serverside-applied
+secret/mogdb-ha-huawei-registry serverside-applied
+service/mogdb-ha serverside-applied
+deployment.apps/mogdb-ha serverside-applied
+```
+
+
+
+检查相关组件是否运行正常:
+
+```shell
+kubectl get all -n mogha
+```
+
+期望输出:
+
+```shell
+$ kubectl get all -n mogha
+NAME READY STATUS RESTARTS AGE
+pod/mogdb-ha-58fb655887-59q8z 2/2 Running 0 71s
+
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+service/mogdb-ha NodePort 10.96.7.215 6544:32544/TCP 71s
+
+NAME READY UP-TO-DATE AVAILABLE AGE
+deployment.apps/mogdb-ha 1/1 1 1 71s
+
+NAME DESIRED CURRENT READY AGE
+replicaset.apps/mogdb-ha-58fb655887 1 1 1 71s
+```
+
+当 pod 处于 running 状态时,继续下一步。
+
+
+
+### 2.安装 mogdb-operator
+
+**注意**:
+
+- mogdb-operator 组件是**必选的**;
+
+
+
+安装 CRD:
+
+**注意,在同一个 kubernetes 集群中,CRD 只需安装一次。**
+
+```shell
+kubectl apply --server-side -k kustomize/mogdb-operator/bases/crd
+```
+
+期望输出:
+
+```shell
+$ kubectl apply --server-side -k kustomize/mogdb-operator/bases/crd
+customresourcedefinition.apiextensions.k8s.io/mogdbclusters.mogdb.enmotech.io serverside-applied
+customresourcedefinition.apiextensions.k8s.io/mogdbclustertemplates.mogdb.enmotech.io serverside-applied
+customresourcedefinition.apiextensions.k8s.io/mogdbpodtemplates.mogdb.enmotech.io serverside-applied
+```
+
+
+
+安装 mogdb-operator:
+
+- 要以**集群模式**安装 mogdb-operator,请使用位于 `default` 文件夹中的 kustomization 文件:
+
+```shell
+kubectl apply --server-side -k kustomize/mogdb-operator/install/default
+```
+
+期望输出:
+
+```shell
+$ kubectl apply --server-side -k kustomize/mogdb-operator/install/default
+namespace/mogdb-operator-system serverside-applied
+serviceaccount/mogdb-operator-controller-manager serverside-applied
+clusterrole.rbac.authorization.k8s.io/mogdb-operator-leader-election-role serverside-applied
+clusterrole.rbac.authorization.k8s.io/mogdb-operator-manager-role serverside-applied
+clusterrolebinding.rbac.authorization.k8s.io/mogdb-operator-leader-election-rolebinding serverside-applied
+clusterrolebinding.rbac.authorization.k8s.io/mogdb-operator-manager-rolebinding serverside-applied
+configmap/mogdb-operator-global-config serverside-applied
+configmap/mogdb-operator-rclone-config serverside-applied
+secret/mogdb-operator-huawei-registry serverside-applied
+secret/mogdb-operator-token serverside-applied
+deployment.apps/mogdb-operator-manager serverside-applied
+```
+
+- 要以**命名空间模式**安装 mogdb-operator,请使用位于 `singlenamespace` 文件夹中的 kustomization 文件:
+
+```shell
+kubectl apply --server-side -k kustomize/mogdb-operator/install/singlenamespace
+```
+
+期望输出
+
+```shell
+$ kubectl apply --server-side -k kustomize/mogdb-operator/install/default
+namespace/mogdb-operator-system serverside-applied
+serviceaccount/mogdb-operator-controller-manager serverside-applied
+role.rbac.authorization.k8s.io/mogdb-operator-leader-election-role serverside-applied
+role.rbac.authorization.k8s.io/mogdb-operator-manager-role serverside-applied
+rolebinding.rbac.authorization.k8s.io/mogdb-operator-leader-election-rolebinding serverside-applied
+rolebinding.rbac.authorization.k8s.io/mogdb-operator-manager-rolebinding serverside-applied
+configmap/mogdb-operator-global-config serverside-applied
+configmap/mogdb-operator-rclone-config serverside-applied
+secret/mogdb-operator-huawei-registry serverside-applied
+secret/mogdb-operator-token serverside-applied
+deployment.apps/mogdb-operator-manager serverside-applied
+```
+
+
+
+检查相关组件是否运行正常:
+
+```shell
+kubectl get all -n mogdb-operator-system
+```
+
+期望输出:
+
+```shell
+$ kubectl get all -n mogdb-operator-system
+NAME READY STATUS RESTARTS AGE
+pod/mogdb-operator-manager-5b5c4bb8b8-z2l48 1/1 Running 0 32s
+
+NAME READY UP-TO-DATE AVAILABLE AGE
+deployment.apps/mogdb-operator-manager 1/1 1 1 32s
+
+NAME DESIRED CURRENT READY AGE
+replicaset.apps/mogdb-operator-manager-5b5c4bb8b8 1 1 1 32s
+```
+
+当 pod 处于 running 状态时,继续下一步。
+
+### 部署MogDB集群
+
+```shell
+kubectl apply --server-side -k kustomize/mogdb-cluster/install/default
+```
+
+期望输出:
+
+```shell
+mogdbcluster.mogdb.enmotech.io/mogdb-cluster serverside-applied
+```
+
+查看相关组件:
+
+```shell
+kubectl get all -n mogdb-operator-system
+```
+
+期望输出:
+
+```shell
+NAME READY STATUS RESTARTS AGE
+pod/mogdb-cluster-sts-4bvbg-0 2/2 Running 0 2m15s
+pod/mogdb-cluster-sts-rmssp-0 2/2 Running 0 97s
+pod/mogdb-operator-manager-74c955bdd-6pwkr 1/1 Running 0 2m45s
+
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+service/mogdb-cluster-svc-headless ClusterIP None 26000/TCP,9187/TCP 2m15s
+service/mogdb-cluster-svc-master NodePort 10.96.225.229 26000:30416/TCP 2m15s
+service/mogdb-cluster-svc-replicas NodePort 10.96.48.193 26000:32493/TCP 2m15s
+
+NAME READY UP-TO-DATE AVAILABLE AGE
+deployment.apps/mogdb-operator-manager 1/1 1 1 29m
+
+NAME DESIRED CURRENT READY AGE
+replicaset.apps/mogdb-operator-manager-74c955bdd 1 1 1 2m45s
+
+NAME READY AGE
+statefulset.apps/mogdb-cluster-sts-4bvbg 1/1 2m15s
+statefulset.apps/mogdb-cluster-sts-rmssp 1/1 97s
+```
+
+等待所有pod都处于running状态,单集群模式MogDB Cluster就安装好了,可以进行下一步,连接到MogDB集群。
+
+
+> 至此安装完成。
+
+
+
+## 卸载
+
+**卸载 单集群模式MogDB集群**
+
+```shell
+kubectl delete mogdbcluster mogdb-cluster -n mogdb-operator-system
+```
+
+或
+
+```shell
+kubectl delete -k kustomize/mogdb-cluster/install/default
+```
+
+期望输出:
+
+```text
+mogdbcluster.mogdb.enmotech.io "mogdb-cluster" deleted
+```
+
+**卸载 mogdb-ha**
+
+```shell
+kubectl delete -k kustomize/mogdb-ha/install
+```
+
+期望输出:
+
+```shell
+$ kubectl delete -k kustomize/mogdb-ha/install
+namespace/mogdb-ha deleted
+serviceaccount/mogdb-ha deleted
+clusterrole.rbac.authorization.k8s.io/mogdb-ha-role deleted
+clusterrolebinding.rbac.authorization.k8s.io/mogdb-ha-rolebinding deleted
+secret/mogdb-ha-huawei-registry deleted
+service/mogdb-ha deleted
+deployment.apps/mogdb-ha deleted
+```
+
+
+
+**卸载 mogdb-cluster**
+
+```shell
+kubectl delete -k kustomize/mogdb-operator/install/default
+```
+
+期望输出:
+
+```shell
+$ kubectl delete -k kustomize/mogdb-operator/install/default
+namespace/mogdb-operator-system deleted
+serviceaccount/mogdb-operator-controller-manager deleted
+clusterrole.rbac.authorization.k8s.io/mogdb-operator-leader-election-role deleted
+clusterrole.rbac.authorization.k8s.io/mogdb-operator-manager-role deleted
+clusterrolebinding.rbac.authorization.k8s.io/mogdb-operator-leader-election-rolebinding deleted
+clusterrolebinding.rbac.authorization.k8s.io/mogdb-operator-manager-rolebinding deleted
+configmap/mogdb-operator-global-config deleted
+configmap/mogdb-operator-rclone-config deleted
+secret/mogdb-operator-huawei-registry deleted
+secret/mogdb-operator-token deleted
+deployment.apps/mogdb-operator-manager deleted
+```
+
+
+
+**卸载 CRD**
+
+```shell
+kubectl delete -k kustomize/mogdb-operator/bases/crd
+```
+
+期望输出:
+
+```shell
+$ kubectl delete -k kustomize/mogdb-operator/bases/crd
+customresourcedefinition.apiextensions.k8s.io "mogdbclusters.mogdb.enmotech.io" deleted
+customresourcedefinition.apiextensions.k8s.io "mogdbclustertemplates.mogdb.enmotech.io" deleted
+customresourcedefinition.apiextensions.k8s.io "mogdbpodtemplates.mogdb.enmotech.io" deleted
+```
+
+
+
+**删除命名空间**
+
+```shell
+kubectl delete namespace
+```
+
+期望输出:
+
+```shell
+$ kubectl delete namespace mogdb-ha
+namespace "mogdb-ha" deleted
+
+$ kubectl delete namespace mogdb-operator-system
+namespace "mogdb-operator-system" deleted
+```
diff --git a/product/zh/docs-mogdb-stack/v3.0/overview.md b/product/zh/docs-mogdb-stack/v3.0/overview.md
new file mode 100644
index 0000000000000000000000000000000000000000..3991a58c078ade39032d3513f3e6a79b191f5dd7
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/overview.md
@@ -0,0 +1,49 @@
+---
+title: MogDB Stack 简介
+summary: MogDB Stack 简介
+author: Ji Yabin
+date: 2021-06-16
+---
+
+# MogDB Stack 简介
+
+MogDB Stack是Kubernetes上的MogDB集群自动运维系统,提供包括部署、高可用、扩缩容、监控、备份恢复的MogDB全生命周期管理。借助MogDB Stack,MogDB可以无缝运行在公有云或私有部署的Kubernetes集群上。
+
+
+
+## MogDB Stack特性
+
+- **简单便捷的自动部署/回收**
+
+ 以Kubernetes作为原生的容器编排系统,以扩展资源的方式,轻松便捷地创建整套MogDB集群,并且根据用户的期望任意扩缩容。
+
+- **稳定可靠的备份恢复能力**
+
+ 支持基于SQL的备份方式,并且存储在远端分布式存储中,多副本保证备份的可靠性,指定point-in-time的恢复方式,恢复到指定的时间点。
+
+- **企业级的高可用性**
+
+ 自动故障探测、切换,并自动化的拉取数据快照恢复故障节点或重新调度新节点,实现系统的自愈能力,保证用户期望的副本数。
+
+- **完善可靠的监控能力**
+
+ 基于Prometheus实现多维度的统一监控,囊括了系统层、容器层、数据库层的完整的监控指标。
+
+- **精细化的资源管控**
+
+ 针对CPU、内存、存储等资源的限额,保证容器层的独立性,不会互相干扰,支持容器的亲和性、反亲和性调度。
+
+
+
+## 系统架构
+
+
+
+
+
+## 操作系统与平台支持
+
+MogDB Stack 目前支持在如下操作系统和平台架构下运行:
+
+1. Linux x86_64
+2. Linux arm64
\ No newline at end of file
diff --git a/product/zh/docs-mogdb-stack/v3.0/quick-start.md b/product/zh/docs-mogdb-stack/v3.0/quick-start.md
new file mode 100644
index 0000000000000000000000000000000000000000..b5c54e81baf11c90039f9adf2d14636612e9d8d2
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/quick-start.md
@@ -0,0 +1,1007 @@
+---
+title: 快速上手
+summary: 快速上手
+author: Wang Dong
+date: 2023-06-20
+---
+
+# 快速上手
+
+本文介绍了如何创建一个简单的 Kubernetes 集群, 以单集群模式和多集群模式部署 MogDB Stack。
+
+> 本文中的部署说明仅用于测试目的,不要直接用于生产环境。如果要在生产环境部署,请参阅部署 > 部署 MogDB Stack 集群章节。
+
+基本步骤如下:
+
+[1. 创建Kubernetes测试集群](#创建kubernetes测试集群)
+
+[2. 单集群模式部署 MogDB Stack](#单集群模式部署MogDBStack)
+
+[3. 多集群模式部署 MogDB Stack](#多集群模式部署MogDBStack)
+
+[4. 连接MogDB集群](#连接mogdb集群)
+
+[5. 销毁MogDB集群](#销毁mogdb集群)
+
+
+
+## 创建Kubernetes测试集群
+
+本节介绍了两种创建 Kubernetes 测试集群的方法,可用于测试 MogDB Operator 管理的 MogDB 集群。
+
+- [使用 kind](#使用kind创建Kubernetes集群)创建在 Docker 中运行的 Kubernetes
+
+- [使用 minikube](#使用minikube创建Kubernetes集群)创建在虚拟机中运行的 Kubernetes
+
+
+
+### 使用 kind 创建 Kubernetes 集群
+
+目前比较通用的方式是使用 [kind](https://kind.sigs.k8s.io/) 部署本地测试 Kubernetes 集群。kind 适用于使用 Docker 容器作为集群节点运行本地 Kubernetes 集群。请参阅 [Docker Hub](https://hub.docker.com/r/kindest/node/tags) 以查看可用 tags。默认使用当前 kind 支持的最新版本。
+
+部署前,请确保满足以下要求:
+
+- docker:版本 >= 18.09
+
+- kubectl:版本 >= 1.18.1
+
+- kindest/node:版本 >= 1.18.19 (1.18.19以下只会有amd64镜像,并且1.19以下的镜像在 cgroup v2中可能安装失败)
+
+- 若使用 Linux, net.ipv4.ip_forward 需要被设置为 1
+
+使用脚本通过kind安装k8s集群:
+
+在GitHub上fork [MogDB Stack examples](https://github.com/enmotech/mogdb-stack-examples)仓库:
+
+
+
+fork仓库之后,您可以通过类似如下的命令下载至本地:
+
+```shell
+YOUR_GITHUB_UN=""
+git clone --depth 1 "git@github.com:${YOUR_GITHUB_UN}/mogdb-stack-examples.git"
+#还需要安装yq和增加脚本权限
+cd mogdb-stack-examples
+chmod +x ./setup-kind-multicluster.sh
+wget https://github.com/mikefarah/yq/releases/download/v4.16.2/yq_linux_amd64 -O yq
+chmod +x yq
+mv yq /usr/local/bin/
+bash ./setup-kind-multicluster.sh -o
+```
+
+期望输出:
+
+```shell
+Unable to find image 'registry:2' locally
+2: Pulling from library/registry
+31e352740f53: Pull complete
+7f9bcf943fa5: Pull complete
+3c98a1678a82: Pull complete
+51f7a5bb21d4: Pull complete
+3f044f23c427: Pull complete
+Digest: sha256:9977826e0d1d0eccc7af97017ae41f2dbe13f2c61e4c886ec28f0fdd8c4078aa
+Status: Downloaded newer image for registry:2
+36576b59d66ceb554002ab1ee91ccbc8e87de9e4806cb532cab51f466311feed
+Deleting existing clusters...
+Deleting cluster 1 out of 1
+Deleting cluster "mogdb-stack-0" ...
+
+Creating 1 clusters...
+Creating cluster 1 out of 1
+Creating cluster "mogdb-stack-0" ...
+ ✓ Ensuring node image (kindest/node:v1.25.3) 🖼
+ ✓ Preparing nodes 📦 📦
+ ✓ Writing configuration 📜
+ ✓ Starting control-plane 🕹️
+ ✓ Installing CNI 🔌
+ ✓ Installing StorageClass 💾
+ ✓ Joining worker nodes 🚜
+Set kubectl context to "kind-mogdb-stack-0"
+You can now use your cluster with:
+
+kubectl cluster-info --context kind-mogdb-stack-0
+
+Have a question, bug, or feature request? Let us know! https://kind.sigs.k8s.io/#community 🙂
+
+Generating ./build/kind-kubeconfig
+Switched to context "kind-mogdb-stack-0".
+```
+
+检查集群是否创建成功:
+
+```shell
+kubectl cluster-info --context kind-mogdb-stack-0
+```
+
+期望输出:
+
+```shell
+Kubernetes control plane is running at https://127.0.0.1:36841
+KubeDNS is running at https://127.0.0.1:36841/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
+
+To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
+```
+
+Kubernetes 集群部署完成,现在就可以开始部署 MogDB Operator 了!
+
+
+
+### 使用 minikube 创建 Kubernetes 集群
+
+minikube 可以在虚拟机中创建一个 Kubernetes 集群,可在 macOS, Linux 和 Windows 上运行。
+
+部署前,请确保满足以下要求:
+
+- minikube:版本 1.18.1+
+
+- minikube 需要安装一个兼容的 hypervisor,详情见官方安装教程。
+
+- kubectl: 版本 >= 1.18.1
+
+安装完 minikube 后,可以执行下面命令启动一个 Kubernetes 集群:
+
+```shell
+minikube start
+```
+
+如果一切运行正常,会看到类似下面的输出,根据操作系统和使用的 hypervisor 会有些许差异。
+
+```shell
+😄 minikube v1.10.1 on Darwin 10.15.4
+✨ Automatically selected the hyperkit driver. Other choices: docker, vmwarefusion
+💾 Downloading driver docker-machine-driver-hyperkit:
+ > docker-machine-driver-hyperkit.sha256: 65 B / 65 B [---] 100.00% ? p/s 0s
+ > docker-machine-driver-hyperkit: 10.90 MiB / 10.90 MiB 100.00% 1.76 MiB p
+🔑 The 'hyperkit' driver requires elevated permissions. The following commands will be executed:
+
+ $ sudo chown root:wheel /Users/user/.minikube/bin/docker-machine-driver-hyperkit
+ $ sudo chmod u+s /Users/user/.minikube/bin/docker-machine-driver-hyperkit
+
+
+💿 Downloading VM boot image ...
+ > minikube-v1.10.0.iso.sha256: 65 B / 65 B [-------------] 100.00% ? p/s 0s
+ > minikube-v1.10.0.iso: 174.99 MiB / 174.99 MiB [] 100.00% 6.63 MiB p/s 27s
+👍 Starting control plane node minikube in cluster minikube
+💾 Downloading Kubernetes v1.18.2 preload ...
+ > preloaded-images-k8s-v3-v1.18.2-docker-overlay2-amd64.tar.lz4: 525.43 MiB
+🔥 Creating hyperkit VM (CPUs=2, Memory=4000MB, Disk=20000MB) ...
+🐳 Preparing Kubernetes v1.18.2 on Docker 19.03.8 ...
+🔎 Verifying Kubernetes components...
+🌟 Enabled addons: default-storageclass, storage-provisioner
+🏄 Done! kubectl is now configured to use "minikube"
+```
+
+对于中国大陆用户,可以使用国内 gcr.io mirror 仓库,例如 registry.cn-hangzhou.aliyuncs.com/google_containers。
+
+```shell
+minikube start --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers
+```
+
+或者给 Docker 配置 HTTP/HTTPS 代理。
+
+将下面命令中的 127.0.0.1:1086 替换为您自己的 HTTP/HTTPS 代理地址:
+
+```shell
+minikube start --docker-env https_proxy=http://127.0.0.1:1086 \
+ --docker-env http_proxy=http://127.0.0.1:1086
+```
+
+> **注意:**
+> 由于 minikube(默认)通过虚拟机运行,127.0.0.1 指向虚拟机本身,所以在有些情况下可能需要将代理修改为您的主机的实际 IP。
+
+参考 minikube setup 查看配置虚拟机和 Kubernetes 集群的更多选项。
+
+你可以使用 minikube 的子命令 kubectl 来进行集群操作。要使 kubectl 命令生效,你需要在 shell 配置文件中添加以下别名设置命令,或者在打开一个新的 shell 后执行以下别名设置命令。
+
+```shell
+alias kubectl='minikube kubectl --'
+```
+
+执行以下命令检查集群状态,并确保可以通过 kubectl 访问集群:
+
+```shell
+kubectl cluster-info
+```
+
+期望输出:
+
+```shell
+Kubernetes master is running at https://192.168.64.2:8443
+KubeDNS is running at https://192.168.64.2:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
+
+To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
+```
+
+现在就可以开始部署 MogDB Operator 了!
+
+测试完成后,执行下面命令来销毁集群:
+
+```shell
+minikube delete
+```
+
+
+
+## 单集群模式部署MogDB Stack
+
+
+
+### 部署MogDB Operator
+
+开始之前,确保以下要求已满足:
+
+- 可以使用 kubectl 访问的 Kubernetes 集群
+- kubectl >= 1.21
+
+**步骤1: 下载样例**
+
+在GitHub上fork [MogDB Stack examples](https://github.com/enmotech/mogdb-stack-examples)仓库:
+
+
+
+fork仓库之后,您可以通过类似如下的命令下载至本地:
+
+```shell
+YOUR_GITHUB_UN=""
+git clone --depth 1 "git@github.com:${YOUR_GITHUB_UN}/mogdb-stack-examples.git"
+cd mogdb-stack-examples
+```
+
+
+
+**步骤2: 安装 mogdb-ha 组件**
+
+```shell
+kubectl create ns mogdb-ha
+kubectl apply --server-side -k kustomize/mogdb-ha/install
+```
+
+期望输出:
+
+```shell
+namespace/mogdb-ha serverside-applied
+serviceaccount/mogdb-ha serverside-applied
+clusterrole.rbac.authorization.k8s.io/mogdb-ha-role serverside-applied
+clusterrolebinding.rbac.authorization.k8s.io/mogdb-ha-rolebinding serverside-applied
+secret/mogdb-ha-huawei-registry serverside-applied
+service/mogdb-ha serverside-applied
+deployment.apps/mogdb-ha serverside-applied
+```
+
+检查相关组件是否运行正常:
+
+```shell
+kubectl get all -n mogdb-ha
+```
+
+期望输出:
+
+```shell
+$ kubectl get all -n mogdb-ha
+NAME READY STATUS RESTARTS AGE
+pod/mogdb-ha-58fb655887-59q8z 2/2 Running 0 71s
+
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+service/mogdb-ha NodePort 10.96.7.215 6544:32544/TCP 71s
+
+NAME READY UP-TO-DATE AVAILABLE AGE
+deployment.apps/mogdb-ha 1/1 1 1 71s
+
+NAME DESIRED CURRENT READY AGE
+replicaset.apps/mogdb-ha-58fb655887 1 1 1 71s
+```
+
+当 pod 处于 running 状态时,继续下一步。
+
+
+
+**步骤3: 安装 mogdb operator**
+
+首先安装 CRD:
+
+```shell
+kubectl apply --server-side -k kustomize/mogdb-operator/bases/crd
+```
+
+期望输出:
+
+```shell
+customresourcedefinition.apiextensions.k8s.io/mogdbclusters.mogdb.enmotech.io serverside-applied
+customresourcedefinition.apiextensions.k8s.io/mogdbclustertemplates.mogdb.enmotech.io serverside-applied
+customresourcedefinition.apiextensions.k8s.io/mogdbpodtemplates.mogdb.enmotech.io serverside-applied
+```
+
+
+
+安装 mogdb-operator:
+
+```shell
+kubectl create ns mogdb-operator-system
+kubectl apply --server-side -k kustomize/mogdb-operator/install/default
+```
+
+期望输出:
+
+```shell
+namespace/mogdb-operator-system serverside-applied
+serviceaccount/mogdb-operator-controller-manager serverside-applied
+clusterrole.rbac.authorization.k8s.io/mogdb-operator-leader-election-role serverside-applied
+clusterrole.rbac.authorization.k8s.io/mogdb-operator-manager-role serverside-applied
+clusterrolebinding.rbac.authorization.k8s.io/mogdb-operator-leader-election-rolebinding serverside-applied
+clusterrolebinding.rbac.authorization.k8s.io/mogdb-operator-manager-rolebinding serverside-applied
+configmap/mogdb-operator-global-config serverside-applied
+configmap/mogdb-operator-rclone-config serverside-applied
+secret/mogdb-operator-huawei-registry serverside-applied
+secret/mogdb-operator-token serverside-applied
+deployment.apps/mogdb-operator-manager serverside-applied
+```
+
+检查相关组件是否运行正常:
+
+```shell
+kubectl get all -n mogdb-operator-system
+```
+
+期望输出:
+
+```shell
+NAME READY STATUS RESTARTS AGE
+pod/mogdb-operator-manager-74c955bdd-6pwkr 1/1 Running 0 32s
+
+NAME READY UP-TO-DATE AVAILABLE AGE
+deployment.apps/mogdb-operator-manager 1/1 1 1 32s
+
+NAME DESIRED CURRENT READY AGE
+replicaset.apps/mogdb-operator-manager-74c955bdd 1 1 1 32s
+```
+
+operator现在已经安装成功了!
+
+
+
+### 部署MogDB集群
+
+```shell
+kubectl apply --server-side -k kustomize/mogdb-cluster/install/default
+```
+
+期望输出:
+
+```shell
+mogdbcluster.mogdb.enmotech.io/mogdb-cluster serverside-applied
+```
+
+查看相关组件:
+
+```shell
+kubectl get all -n mogdb-operator-system
+```
+
+期望输出:
+
+```shell
+NAME READY STATUS RESTARTS AGE
+pod/mogdb-cluster-sts-4bvbg-0 3/3 Running 0 2m15s
+pod/mogdb-cluster-sts-rmssp-0 3/3 Running 0 97s
+pod/mogdb-operator-manager-74c955bdd-6pwkr 1/1 Running 0 2m45s
+
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+service/mogdb-cluster-svc-headless ClusterIP None 26000/TCP,9187/TCP 2m15s
+service/mogdb-cluster-svc-master NodePort 10.96.225.229 26000:30416/TCP 2m15s
+service/mogdb-cluster-svc-replicas NodePort 10.96.48.193 26000:32493/TCP 2m15s
+
+NAME READY UP-TO-DATE AVAILABLE AGE
+deployment.apps/mogdb-operator-manager 1/1 1 1 29m
+
+NAME DESIRED CURRENT READY AGE
+replicaset.apps/mogdb-operator-manager-74c955bdd 1 1 1 2m45s
+
+NAME READY AGE
+statefulset.apps/mogdb-cluster-sts-4bvbg 1/1 2m15s
+statefulset.apps/mogdb-cluster-sts-rmssp 1/1 97s
+```
+
+等待所有pod都处于running状态,单集群模式MogDB Cluster就安装好了,可以进行下一步,连接到MogDB集群。
+
+
+
+## 多集群模式部署MogDB Stack
+
+
+
+开始之前,确保以下要求已满足:
+
+- 可以使用 kubectl 访问的 Kubernetes 集群
+- kubectl >= 1.21
+
+
+
+**步骤1: 下载样例**
+
+在GitHub上fork [MogDB Stack examples](https://github.com/enmotech/mogdb-stack-examples)仓库:
+
+
+
+fork仓库之后,您可以通过类似如下的命令下载至本地:
+
+```shell
+YOUR_GITHUB_UN=""
+git clone --depth 1 "git@github.com:${YOUR_GITHUB_UN}/mogdb-stack-examples.git"
+cd mogdb-stack-examples
+```
+
+
+
+**步骤2: 模拟多个k8s集群环境**
+
+```shell
+kubectl config set-context control-plane --namespace=control-plane --cluster=kind-mogdb-stack-0 --user=kind-mogdb-stack-0
+kubectl config set-context data-plane1 --namespace=data-plane1 --cluster=kind-mogdb-stack-0 --user=kind-mogdb-stack-0
+kubectl config set-context data-plane2 --namespace=data-plane2 --cluster=kind-mogdb-stack-0 --user=kind-mogdb-stack-0
+```
+
+期望输出:
+
+```shell
+Context "control-plane" created.
+Context "data-plane1" created.
+Context "data-plane2" created.
+```
+
+
+
+**步骤3: 安装控制平面**
+
+切换上下文到控制平面:
+
+```shell
+kubectl config use-context control-plane
+```
+
+期望输出:
+
+```shell
+Switched to context "control-plane".
+```
+
+
+
+1、安装mogdb-ha组件:
+
+```shell
+kubectl create ns mogdb-ha
+kubectl apply --server-side -k kustomize/mogdb-ha/install
+```
+
+期望输出:
+
+```shell
+namespace/mogdb-ha serverside-applied
+serviceaccount/mogdb-ha serverside-applied
+clusterrole.rbac.authorization.k8s.io/mogdb-ha-role serverside-applied
+clusterrolebinding.rbac.authorization.k8s.io/mogdb-ha-rolebinding serverside-applied
+secret/mogdb-ha-huawei-registry serverside-applied
+service/mogdb-ha serverside-applied
+deployment.apps/mogdb-ha serverside-applied
+```
+
+检查相关组件是否运行正常:
+
+```shell
+kubectl get all -n mogdb-ha
+```
+
+期望输出:
+
+```shell
+$ kubectl get all -n mogdb-ha
+NAME READY STATUS RESTARTS AGE
+pod/mogdb-ha-58fb655887-59q8z 2/2 Running 0 71s
+
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+service/mogdb-ha NodePort 10.96.7.215 6544:32544/TCP 71s
+
+NAME READY UP-TO-DATE AVAILABLE AGE
+deployment.apps/mogdb-ha 1/1 1 1 71s
+
+NAME DESIRED CURRENT READY AGE
+replicaset.apps/mogdb-ha-58fb655887 1 1 1 71s
+```
+
+当 pod 处于 running 状态时,继续下一步。
+
+
+
+2、安装 multi-operator:
+
+安装 CRD:
+
+```shell
+kubectl apply --server-side -k kustomize/multi-operator/bases/crd
+```
+
+期望输出:
+
+```shell
+customresourcedefinition.apiextensions.k8s.io/kubeclientconfigs.mogdb.enmotech.io serverside-applied
+customresourcedefinition.apiextensions.k8s.io/multiclusters.mogdb.enmotech.io serverside-applied
+```
+
+安装multi-operator:
+
+```shell
+kubectl create ns control-plane
+kubectl apply --server-side -k kustomize/multi-operator/install-ctl-plane/default/
+```
+
+期望输出:
+
+```shell
+namespace/control-plane serverside-applied
+customresourcedefinition.apiextensions.k8s.io/kubeclientconfigs.mogdb.enmotech.io serverside-applied
+customresourcedefinition.apiextensions.k8s.io/multiclusters.mogdb.enmotech.io serverside-applied
+serviceaccount/mogdb-multi-serviceaccount serverside-applied
+role.rbac.authorization.k8s.io/mogdb-multi-leader-election-role serverside-applied
+clusterrole.rbac.authorization.k8s.io/control-plane-multi serverside-applied
+rolebinding.rbac.authorization.k8s.io/mogdb-multi-leader-election-rolebinding serverside-applied
+clusterrolebinding.rbac.authorization.k8s.io/control-plane-multi serverside-applied
+configmap/mogdb-multi-manager-config serverside-applied
+secret/mogdb-multi-multi-operator-huawei-registry serverside-applied
+deployment.apps/mogdb-multi-manager serverside-applied
+```
+
+检查相关组件是否运行正常:
+
+```shell
+kubectl get all -n control-plane
+```
+
+期望输出:
+
+```shell
+NAME READY STATUS RESTARTS AGE
+pod/mogdb-multi-manager-b79757f75-v25cp 1/1 Running 0 25s
+
+NAME READY UP-TO-DATE AVAILABLE AGE
+deployment.apps/mogdb-multi-manager 1/1 1 1 25s
+
+NAME DESIRED CURRENT READY AGE
+replicaset.apps/mogdb-multi-manager-b79757f75 1 1 1 25s
+```
+
+当 pod 处于 running 状态时,继续下一步。
+
+
+
+**步骤4: 安装数据平面**:
+
+### 1、安装数据平面1
+
+切换上下文到数据平面1:
+
+```shell
+kubectl config use-context data-plane1
+```
+
+期望输出:
+
+```shell
+Switched to context "data-plane1".
+```
+
+安装 mogdb-operator CRD:
+
+```shell
+kubectl apply --server-side -k kustomize/mogdb-operator/bases/crd
+```
+
+期望输出:
+
+```shell
+customresourcedefinition.apiextensions.k8s.io/mogdbclusters.mogdb.enmotech.io serverside-applied
+customresourcedefinition.apiextensions.k8s.io/mogdbclustertemplates.mogdb.enmotech.io serverside-applied
+customresourcedefinition.apiextensions.k8s.io/mogdbpodtemplates.mogdb.enmotech.io serverside-applied
+```
+
+
+
+安装mogdb-operator:
+首先将以下几个文件的对应的值修改成和data-plane1相关:
+
+```shell
+kustomize/mogdb-operator/install/singlenamespace/kustomization.yaml:
+namespace:data-plane1
+
+kustomize/mogdb-operator/install/singlenamespace/patches/rbac/leader_election_role_binding.yaml:
+value: mogdb-operator-system-leader-election-rolebinding-data-plane1
+
+kustomize/mogdb-operator/install/singlenamespace/patches/rbac/leader_election_role.yaml:
+value: mogdb-operator-system-leader-election-role-data-plane1
+
+kustomize/mogdb-operator/install/singlenamespace/patches/rbac/manager_role_binding.yaml
+value: mogdb-operator-system-manager-rolebinding-data-plane1
+
+kustomize/mogdb-operator/install/singlenamespace/patches/rbac/manager_role.yaml
+value: mogdb-operator-system-manager-role-data-plane1
+```
+
+```shell
+kubectl create ns data-plane1
+kubectl apply --server-side -k kustomize/mogdb-operator/install/singlenamespace/
+```
+
+期望输出:
+
+```shell
+namespace/data-plane1 serverside-applied
+customresourcedefinition.apiextensions.k8s.io/mogdbclusters.mogdb.enmotech.io serverside-applied
+customresourcedefinition.apiextensions.k8s.io/mogdbclustertemplates.mogdb.enmotech.io serverside-applied
+customresourcedefinition.apiextensions.k8s.io/mogdbpodtemplates.mogdb.enmotech.io serverside-applied
+serviceaccount/mogdb-operator-controller-manager serverside-applied
+role.rbac.authorization.k8s.io/mogdb-operator-leader-election-role serverside-applied
+clusterrole.rbac.authorization.k8s.io/data-plane1-single serverside-applied
+rolebinding.rbac.authorization.k8s.io/mogdb-operator-leader-election-rolebinding serverside-applied
+clusterrolebinding.rbac.authorization.k8s.io/data-plane1-single serverside-applied
+configmap/mogdb-operator-global-config serverside-applied
+configmap/mogdb-operator-manager-config serverside-applied
+configmap/mogdb-operator-rclone-config serverside-applied
+secret/mogdb-operator-huawei-registry serverside-applied
+secret/mogdb-operator-token serverside-applied
+deployment.apps/mogdb-operator-manager serverside-applied
+```
+
+检查相关组件是否运行正常:
+
+```shell
+kubectl get all -n data-plane1
+```
+
+期望输出:
+
+```shell
+$ kubectl get all -n data-plane1
+NAME READY STATUS RESTARTS AGE
+pod/mogdb-operator-manager-76bfdc9b76-wmmhq 1/1 Running 0 32s
+
+NAME READY UP-TO-DATE AVAILABLE AGE
+deployment.apps/mogdb-operator-manager 1/1 1 1 32s
+
+NAME DESIRED CURRENT READY AGE
+replicaset.apps/mogdb-operator-manager-76bfdc9b76 1 1 1 32s
+```
+
+当 pod 处于 running 状态时,继续下一步。
+
+
+
+### 2、安装数据平面2
+
+切换上下文到数据平面2:
+
+```shell
+kubectl config use-context data-plane2
+```
+
+期望输出:
+
+```shell
+Switched to context "data-plane2".
+```
+
+
+
+安装mogdb-operator:
+首先将以下几个文件的对应的值修改成和data-plane1相关:
+
+```shell
+kustomize/mogdb-operator/install/singlenamespace/kustomization.yaml:
+namespace:data-plane2
+
+kustomize/mogdb-operator/install/singlenamespace/patches/rbac/leader_election_role_binding.yaml:
+value: mogdb-operator-system-leader-election-rolebinding-data-plane2
+
+kustomize/mogdb-operator/install/singlenamespace/patches/rbac/leader_election_role.yaml:
+value: mogdb-operator-system-leader-election-role-data-plane2
+
+kustomize/mogdb-operator/install/singlenamespace/patches/rbac/manager_role_binding.yaml
+value: mogdb-operator-system-manager-rolebinding-data-plane2
+
+kustomize/mogdb-operator/install/singlenamespace/patches/rbac/manager_role.yaml
+value: mogdb-operator-system-manager-role-data-plane2
+```
+
+```shell
+kubectl create ns data-plane2
+kubectl apply --server-side -k kustomize/mogdb-operator/install/singlenamespace/
+```
+
+期望输出:
+
+```shell
+Switched to context "data-plane2".
+namespace/data-plane2 serverside-applied
+serviceaccount/mogdb-operator-controller-manager serverside-applied
+role.rbac.authorization.k8s.io/mogdb-operator-leader-election-role serverside-applied
+clusterrole.rbac.authorization.k8s.io/data-plane2-single serverside-applied
+rolebinding.rbac.authorization.k8s.io/mogdb-operator-leader-election-rolebinding serverside-applied
+clusterrolebinding.rbac.authorization.k8s.io/data-plane2-single serverside-applied
+configmap/mogdb-operator-global-config serverside-applied
+configmap/mogdb-operator-manager-config serverside-applied
+configmap/mogdb-operator-rclone-config serverside-applied
+secret/mogdb-operator-huawei-registry serverside-applied
+secret/mogdb-operator-token serverside-applied
+deployment.apps/mogdb-operator-manager serverside-applied
+Apply failed with 3 conflicts: conflicts with "kube-apiserver" using apiextensions.k8s.io/v1:
+- .status.conditions
+- .status.acceptedNames.kind
+- .status.acceptedNames.plural
+Please review the fields above--they currently have other managers. Here
+are the ways you can resolve this warning:
+* If you intend to manage all of these fields, please re-run the apply
+ command with the `--force-conflicts` flag.
+* If you do not intend to manage all of the fields, please edit your
+ manifest to remove references to the fields that should keep their
+ current managers.
+* You may co-own fields by updating your manifest to match the existing
+ value; in this case, you'll become the manager if the other manager(s)
+ stop managing the field (remove it from their configuration).
+See https://kubernetes.io/docs/reference/using-api/server-side-apply/#conflicts
+Apply failed with 3 conflicts: conflicts with "kube-apiserver" using apiextensions.k8s.io/v1:
+- .status.conditions
+- .status.acceptedNames.kind
+- .status.acceptedNames.plural
+Please review the fields above--they currently have other managers. Here
+are the ways you can resolve this warning:
+* If you intend to manage all of these fields, please re-run the apply
+ command with the `--force-conflicts` flag.
+* If you do not intend to manage all of the fields, please edit your
+ manifest to remove references to the fields that should keep their
+ current managers.
+* You may co-own fields by updating your manifest to match the existing
+ value; in this case, you'll become the manager if the other manager(s)
+ stop managing the field (remove it from their configuration).
+See https://kubernetes.io/docs/reference/using-api/server-side-apply/#conflicts
+Apply failed with 3 conflicts: conflicts with "kube-apiserver" using apiextensions.k8s.io/v1:
+- .status.conditions
+- .status.acceptedNames.kind
+- .status.acceptedNames.plural
+Please review the fields above--they currently have other managers. Here
+are the ways you can resolve this warning:
+* If you intend to manage all of these fields, please re-run the apply
+ command with the `--force-conflicts` flag.
+* If you do not intend to manage all of the fields, please edit your
+ manifest to remove references to the fields that should keep their
+ current managers.
+* You may co-own fields by updating your manifest to match the existing
+ value; in this case, you'll become the manager if the other manager(s)
+ stop managing the field (remove it from their configuration).
+See https://kubernetes.io/docs/reference/using-api/server-side-apply/#conflicts
+```
+
+检查相关组件是否运行正常:
+
+```shell
+kubectl get all -n data-plane2
+```
+
+期望输出:
+
+```shell
+$ kubectl get all -n data-plane2
+NAME READY STATUS RESTARTS AGE
+pod/mogdb-operator-manager-86584fb878-89m42 1/1 Running 0 32s
+
+NAME READY UP-TO-DATE AVAILABLE AGE
+deployment.apps/mogdb-operator-manager 1/1 1 1 32s
+
+NAME DESIRED CURRENT READY AGE
+replicaset.apps/mogdb-operator-manager-86584fb878 1 1 1 32s
+```
+
+当 pod 处于 running 状态时,继续下一步。
+
+
+
+**步骤5: 注册数据平面到控制平面**
+
+将数据平面1加入控制平面:
+
+```shell
+bash ./join-to-control-plane.sh --src-namespace data-plane1 --src-serviceaccount mogdb-operator-controller-manager --src-context data-plane1 --src-kubeconfig ~/.kube/config --dest-context control-plane --dest-kubeconfig ~/.kube/config --dest-namespace control-plane
+```
+
+期望结果:
+
+```shell
+Source cluster had localhost as the API server address; replacing with https://172.19.0.2:6443
+Creating KubeConfig at /tmp/tmp.dvw8bjOgVh/kubeconfig
+Creating secret data-plane1
+Error from server (NotFound): secrets "data-plane1" not found
+secret/data-plane1 created
+Creating ClientConfig /tmp/tmp.dvw8bjOgVh/data-plane1.yaml
+kubeclientconfig.mogdb.enmotech.io/data-plane1 created
+```
+
+将数据平面2加入控制平面:
+
+```shell
+bash ./join-to-control-plane.sh --src-namespace data-plane2 --src-serviceaccount mogdb-operator-controller-manager --src-context data-plane2 --src-kubeconfig ~/.kube/config --dest-context control-plane --dest-kubeconfig ~/.kube/config --dest-namespace control-plane
+```
+
+期望结果:
+
+```shell
+Source cluster had localhost as the API server address; replacing with https://172.19.0.2:6443
+Creating KubeConfig at /tmp/tmp.jANezLSUZK/kubeconfig
+Creating secret data-plane2
+Error from server (NotFound): secrets "data-plane2" not found
+secret/data-plane2 created
+Creating ClientConfig /tmp/tmp.jANezLSUZK/data-plane2.yaml
+kubeclientconfig.mogdb.enmotech.io/data-plane2 created
+```
+
+这个时候多集群的 Multi Operator 已经部署好了,可以部署 Multi Cluster 啦!
+
+
+
+**步骤6: 部署Multi Cluster**
+
+```shel
+kubectl apply --server-side -k kustomize/multi-cluster/install/default
+```
+
+期望输出:
+
+```shell
+multicluster.mogdb.enmotech.io/multi-cluster created
+```
+
+查看Multi Cluster pod状态:
+
+```shell
+kubectl get pods -A --selector='mogdb.enmotech.io/app=multi-operator'
+```
+
+查看结果:
+
+```shell
+NAMESPACE NAME READY STATUS RESTARTS AGE
+data-plane1 dc1-sts-259bm-0 2/2 Running 0 3h52m
+data-plane1 dc1-sts-fxq24-0 2/2 Running 0 3h53m
+data-plane2 dc2-sts-djsm2-0 2/2 Running 0 3h51m
+data-plane2 dc2-sts-zbqxb-0 2/2 Running 0 3h51m
+```
+
+
+
+## 连接MogDB集群
+
+### 安装gsql命令行工具
+
+要连接到MogDB集群,您需要在使用kubectl的主机上安装MogDB客户端工具[gsql](../../docs-mogdb/v3.0/quick-start/mogdb-access/use-cli-to-access-mogdb/gsql.md#安装gsql客户端)安装与物理机匹配的命令行工具。
+
+
+
+### 查看MogDB服务端口
+
+首先,将端口从本地主机转发到 Kubernetes 中的 MogDB Service。 我们先获取 mogdb-operator-system 命名空间中的服务列表:
+
+```shell
+kubectl get svc -n mogdb-operator-system
+```
+
+期望输出:
+
+```text
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+mogdb-cluster-svc-headless ClusterIP None 26000/TCP,9187/TCP 107m
+mogdb-cluster-svc-master NodePort 10.96.225.229 26000:30013/TCP 107m
+mogdb-cluster-svc-replicas NodePort 10.96.48.193 26000:30012/TCP 107m
+```
+
+输出结果显示了,k8s集群内部通过26000端口,集群外部通过30013端口访问实际的MogDB集群。
+
+
+
+### 连接集群
+
+在连接之前,需要修改默认用户的密码。可以通过kubectl命令连接到容器,修改密码。
+
+```shell
+kubectl exec -it mogdb-cluster-xxxxx -c mogdb -n mogdb-operator-system -- /bin/bash
+gosu omm gsql -dpostgres
+```
+
+```sql
+ALTER USER mogdb WITH PASSWORD 'new_password';
+```
+
+修改新密码后,ctrl+z退出数据库,exit退出容器,再通过主机的gsql进行连接。
+
+```shell
+gsql -h 10.1.115.245 -p 5432 -U mogdb -W
+```
+
+期望输出:
+
+```shell
+gsql ((MogDB 3.1.0 build aef997f9) compiled at 2022-11-24 00:09:16 commit 0 last mr )
+Non-SSL connection (SSL connection is recommended when requiring high-security)
+Type "help" for help.
+
+MogDB=#
+```
+
+以下是一些可以用来验证集群功能的命令。
+
+- 查看MogDB版本
+
+```sql
+MogDB=#select version();
+ version
+---------------------------------------------------------------------------------------------------------------------------------------------------
+(MogDB 3.1.0 build aef997f9) compiled at 2022-11-24 00:09:16 commit 0 last mr on aarch64-unknown-linux-gnu, compiled by g++ (GCC) 7.3.0, 64-bit
+(1 row)
+```
+
+- 创建t1表
+
+```sql
+MogDB=#create table t1(id int);
+CREATE TABLE
+```
+
+- 插入数据
+
+```sql
+MogDB=#insert into t1(id) values(1),(2),(3);
+INSERT 0 3
+```
+
+- 查看数据
+
+```sql
+MogDB=#select * from t1;
+ id
+----
+ 1
+ 2
+ 3
+(3 rows)
+```
+
+
+
+## 销毁MogDB集群
+
+完成测试后,您可能希望销毁MogDB集群。
+
+### 删除单k8s集群的MogDB集群
+
+```shell
+kubectl delete mogdbcluster mogdb-cluster -n mogdb-operator-system
+```
+
+或
+
+```shell
+kubectl delete -k kustomize/mogdb-cluster/install/default
+```
+
+期望输出:
+
+```text
+mogdbcluster.mogdb.enmotech.io "mogdb-cluster" deleted
+```
+
+### 删除多k8s集群的MogDB集群
+
+```shell
+kubectl delete -k kustomize/multi-cluster/install/default
+```
+
+期望输出:
+
+```text
+mogdbcluster.mogdb.enmotech.io "multi-cluster" deleted
+```
\ No newline at end of file
diff --git a/product/zh/docs-mogdb-stack/v3.0/references/charts/mogdb-cluster.md b/product/zh/docs-mogdb-stack/v3.0/references/charts/mogdb-cluster.md
new file mode 100644
index 0000000000000000000000000000000000000000..24b23e5a443dee4b19bd361fb0acd8b84007d445
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/references/charts/mogdb-cluster.md
@@ -0,0 +1,67 @@
+---
+date: 2023-06-30
+author: houzhen.su
+title: helm charts mogdb-cluster values
+summary: helm charts mogdb-cluster values
+---
+
+# helm charts mogdb-cluster values
+
+## .Values
+
+| 名称 | 类型 | 描述 | 默认值 |
+| ------- | ------ | ------------------ | ------ |
+| replica | int | mogdb 副本数 | 2 |
+| backup | object | mogdb 备份相关配置 | nil |
+| restore | object | mogdb 恢复相关配置 | nil |
+
+
+
+## .Values.ha
+
+> ha 相关配置。
+
+| 名称 | 类型 | 描述 | 默认值 |
+| ----------------------- | -------- | ----------------------------------------------- | ----------------------------------------------- |
+| url | string | mogdb ha 组件的访问路径 | |
+| scope | string | mogdb ha 的 scope | default |
+
+
+
+## .Values.mogdb
+
+> mogdb 容器的相关配置。
+
+| 名称 | 类型 | 描述 | 默认值 |
+| ------------------------------- | ------ | -------------------------------------------------- | ------- |
+| mogdb.resources.limits.cpu | string | mogdb 容器的 cpu 限制,是容器使用资源的最高限制 | 500m |
+| mogdb.resources.limits.memory | string | mogdb 容器的 memory 限制,是容器使用资源的最高限制 | 1Gi |
+| mogdb.resources.requests.cpu | string | mogdb 容器的 cpu 请求,是容器能够启动的最低限制 | 500m |
+| mogdb.resources.requests.memory | string | mogdb 容器的 memory 请求,是容器能够启动的最低限制 | 1Gi |
+| mogdb.volume.storageClass | string | mogdb pod 所使用的 kubernetes 存储类型 | default |
+| mogdb.volume.dataVolumeSize | string | mogdb 容器挂载的数据卷的大小 | 1Gi |
+| mogdb.volume.backupVolumeSize | string | mogdb 容器挂载的备份数据卷的大小 | 1Gi |
+
+
+
+## .Values.service
+
+> mogdb 暴露服务相关配置。
+
+| 名称 | 类型 | 描述 | 默认值 |
+| ---------------- | ---- | ------------ | ------ |
+| service.readPort | int | mogdb 读端口 | 30012 |
+| service.readPort | int | mogdb 写端口 | 30013 |
+
+
+
+## .Values.images
+
+> mogdb pod 使用镜像相关配置。
+
+| 名称 | 类型 | 描述 | 默认值 |
+| ---------------------- | ------ | ------------------ | ------------------------------------------------------------ |
+| images.imagePullPolicy | string | 容器的镜像拉取策略 | IfNotPresent |
+| images.initImage | string | init 镜像 | swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/mogdb:3.0.4 |
+| images.mogdbImage | string | mogdb 镜像 | swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/mogdb:3.0.4 |
+| images.exporterImage | strin | exporter 镜像 | swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/mogdb-exporter:3.0.3 |
diff --git a/product/zh/docs-mogdb-stack/v3.0/references/charts/mogdb-ha.md b/product/zh/docs-mogdb-stack/v3.0/references/charts/mogdb-ha.md
new file mode 100644
index 0000000000000000000000000000000000000000..13a742fe388a277463924cae779a898e9cd439b8
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/references/charts/mogdb-ha.md
@@ -0,0 +1,71 @@
+---
+date: 2023-06-30
+author: houzhen.su
+title: helm charts mogdb-ha values
+summary: helm charts mogdb-ha values
+---
+
+# helm charts mogdb-ha values
+
+## .Values
+
+| 名称 | 类型 | 描述 | 默认值 |
+| ----------------------- | -------- | ----------------------------------------------- | ------ |
+| debug | bool | 是否开启 debug | false |
+| withEtcd | bool | 是否一并安装 etcd | false |
+| singleNamespace | bool | 是否以单集群模式运行 | false |
+| imagePullSecrets | []string | 定义 ha 拉取镜像的 secret | |
+| imagePullSecretNames | []string | 定义 ha 拉取镜像的 secret name | |
+| failover | bool | 启用/禁用故障转移开关 | true |
+| apiPort | int | ha 服务的端口号 | 6544 |
+| apiTimeout | int | ha 服务的超时时间,单位:秒 | 60 |
+| dbProbePeriod | int | ha 探测单个 mogdb 节点的周期,单位:秒 | 5 |
+| dbProbeFailureThreshold | int | 探测阈值,当超出阈值时 ha 会判定 mogdb 发生故障 | 3 |
+| buildInterval | duration | ha 执行 mogdb build 的最小时间间隔 | 30s |
+| observePeriod | duration | ha 探测整个 mogdb 集群的周期,单位:秒 | 5s |
+| failoverThreshold | duration | ha 的 mogdb failover 阈值 | 30s |
+| needRepairThreshold | duration | ha need repair continue 阈值 | 30s |
+
+
+
+## .Values.ha
+
+> ha 容器的相关配置。
+
+| 名称 | 类型 | 描述 | 默认值 |
+| ---------------------------- | ------ | --------------------------------------------------- | -------------- |
+| ha.image | string | ha 容器的镜像 | mogdb-ha:3.0.0 |
+| ha.imagePullPolicy | string | ha 容器的镜像拉取策略 | IfNotPresent |
+| ha.resources.limits.cpu | string | ha 容器的 cpu 限制,是 ha 容器使用资源的最高限制 | 500m |
+| ha.resources.limits.memory | string | ha 容器的 memory 限制,是 ha 容器使用资源的最高限制 | 500Mi |
+| ha.resources.requests.cpu | string | ha 容器的 cpu 请求,是 ha 容器能够启动的最低限制 | 500m |
+| ha.resources.requests.memory | string | ha 容器的 memory 请求,是 ha 容器能够启动的最低限制 | 500Mi |
+
+
+
+## .Values.etcd
+
+> etcd 容器的相关配置。仅在 withEtcd=true 时生效。
+
+| 名称 | 类型 | 描述 | 默认值 |
+| ------------------------------ | ------ | ----------------------------------------------------- | ------------ |
+| etcd.image | string | etcd 容器的镜像 | etcd:3.5.0-0 |
+| etcd.imagePullPolicy | string | etcd 容器的镜像拉取策略 | IfNotPresent |
+| etcd.resources.limits.cpu | string | etcd 容器的 cpu 限制,是 ha 容器使用资源的最高限制 | 500m |
+| etcd.resources.limits.memory | string | etcd 容器的 memory 限制,是 ha 容器使用资源的最高限制 | 500Mi |
+| etcd.resources.requests.cpu | string | etcd 容器的 cpu 请求,是 ha 容器能够启动的最低限制 | 500m |
+| etcd.resources.requests.memory | string | etcd 容器的 memory 请求,是 ha 容器能够启动的最低限制 | 500Mi |
+
+
+
+## .Values.etcdConfig
+
+> ha 连接 etcd 的相关信息。当 withEtcd=false 时,需要事先准备高可用 etcd 集群。
+
+| 名称 | 类型 | 描述 | 默认值 |
+| ---------------------- | ----------------- | ------------------------------ | -------------- |
+| etcdConfig.key | string | etcd 存储前缀 | mogha |
+| etcdConfig.username | string | 连接 etcd 的用户名 | "" |
+| etcdConfig.password | string | 连接 etcd 的用户密码 | "" |
+| etcdConfig.endpoints | string | 连接 etcd 的地址 | 127.0.0.1:2379 |
+| etcdConfig.dialTimeout | int | 连接 etcd 的超时时间,单位:秒 | 5 |
diff --git a/product/zh/docs-mogdb-stack/v3.0/references/charts/mogdb-operator.md b/product/zh/docs-mogdb-stack/v3.0/references/charts/mogdb-operator.md
new file mode 100644
index 0000000000000000000000000000000000000000..7b245df526289f502c465682ea8bb58061c7e24c
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/references/charts/mogdb-operator.md
@@ -0,0 +1,79 @@
+---
+date: 2023-06-30
+author: houzhen.su
+title: helm charts mogdb-operator values
+summary: helm charts mogdb-operator values
+---
+
+# helm charts mogdb-operator values
+
+## .Values
+
+| 名称 | 类型 | 描述 | 默认值 |
+| ----------------------- | -------- | ------------------------------ | ------ |
+| debug | bool | 是否开启 debug | false |
+| withCRD | bool | 是否一并安装 CRD | false |
+| singleNamespace | bool | 是否以单集群模式运行 | false |
+| enablePrometheusMonitor | bool | 是否开启普罗米修斯监控接口 | true |
+| imagePullSecrets | []string | 定义 ha 拉取镜像的 secret | |
+| imagePullSecretNames | []string | 定义 ha 拉取镜像的 secret name | |
+
+
+
+## .Values.operator
+
+> mogdb-operator 容器的相关配置。
+
+| 名称 | 类型 | 描述 | 默认值 |
+| ---------------------------------- | ------ | ----------------------------------------------------- | -------------------- |
+| operator.image | string | operator 容器的镜像 | mogdb-operator:3.0.0 |
+| operator.imagePullPolicy | string | operator 容器的镜像拉取策略 | IfNotPresent |
+| operator.resources.limits.cpu | string | operator 容器的 cpu 限制,是容器使用资源的最高限制 | 500m |
+| operator.resources.limits.memory | string | operator 容器的 memory 限制,是容器使用资源的最高限制 | 500Mi |
+| operator.resources.requests.cpu | string | operator 容器的 cpu 请求,是容器能够启动的最低限制 | 500m |
+| operator.resources.requests.memory | string | operator 容器的 memory 请求,是容器能够启动的最低限制 | 500Mi |
+
+
+
+## .Values.container
+
+> mogdb-operator 处理 mogdbcluster 时的相关配置。
+
+| 名称 | 类型 | 描述 | 默认值 |
+| -------------------------------------------------- | ------ | ------------------------------------------------------------ | ------------ |
+| etcd.imagePullPolicy | string | 创建 mogdb 容器时的默认镜像拉取策略 | IfNotPresent |
+| container.resources.limits.cpu | string | 创建 mogdb 容器时的默认 cpu 限制,是容器使用资源的最高限制 | 1 |
+| container.resources.limits.memory | string | 创建 mogdb 容器时的默认 memory 限制,是容器使用资源的最高限制 | 4Gi |
+| container.resources.requests.cpu | string | 创建 mogdb 容器时的默认 cpu 请求,是容器能够启动的最低限制 | 1 |
+| container.resources.requests.memory | string | 创建 mogdb 容器时的默认 memory 请求,是容器能够启动的最低限制 | 4Gi |
+| | | | |
+| container.jobResources.limits.cpu | string | 创建 job 容器时的默认 cpu 限制,是容器使用资源的最高限制 | 1 |
+| container.jobResources.limits.memory | string | 创建 job 容器时的默认 memory 限制,是容器使用资源的最高限制 | 4Gi |
+| container.jobResources.requests.cpu | string | 创建 job 容器时的默认 cpu 请求,是容器能够启动的最低限制 | 1 |
+| container.jobResources.requests.memory | string | 创建 job 容器时的默认 memory 请求,是容器能够启动的最低限制 | 4Gi |
+| container.metricsExporterResources.limits.cpu | string | 创建 exporter 容器时的默认 cpu 限制,是容器使用资源的最高限制 | 500m |
+| container.metricsExporterResources.limits.memory | string | 创建 exporter 容器时的默认 memory 限制,是容器使用资源的最高限制 | 500Mi |
+| container.metricsExporterResources.requests.cpu | string | 创建 exporter 容器时的默认 cpu 请求,是容器能够启动的最低限制 | 500m |
+| container.metricsExporterResources.requests.memory | string | 创建 exporter 容器时的默认 memory 请求,是容器能够启动的最低限制 | 500Mi |
+
+
+
+## .Values.rclone
+
+> mogdb-operator 执行备份恢复时所需的 rclone 配置。
+
+| 名称 | 类型 | 描述 | 默认值 |
+| -------------------- | ------ | ---------------- | --------------------- |
+| rclone.s3.provider | string | s3 提供者 | Minio |
+| rclone.s3.endpoint | string | s3 的链接地址 | |
+| rclone.s3.access_key | string | s3 的 access key | root |
+| rclone.s3.secret_key | string | s3 的 secret key | root |
+
+
+
+## .Values.license
+
+| 名称 | 类型 | 描述 | 默认值 |
+| ----------------- | ------ | ------------- | ------ |
+| license.licValue | string | mogdb license | |
+| license.encodeStd | string | mogdb license | |
diff --git a/product/zh/docs-mogdb-stack/v3.0/references/charts/multi-cluster.md b/product/zh/docs-mogdb-stack/v3.0/references/charts/multi-cluster.md
new file mode 100644
index 0000000000000000000000000000000000000000..57e0426e9a8d05eb878b1bca62c6bf60059ec843
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/references/charts/multi-cluster.md
@@ -0,0 +1,68 @@
+---
+date: 2023-06-30
+author: houzhen.su
+title: helm charts multi-cluster values
+summary: helm charts multi-cluster values
+---
+
+# helm charts multi-cluster values
+
+## .Values
+
+| 名称 | 类型 | 描述 | 默认值 |
+| ------- | ------ | ------------------ | ------ |
+| backup | object | mogdb 备份相关配置 | nil |
+| restore | object | mogdb 恢复相关配置 | nil |
+
+
+
+## .Values.templates
+
+> mogdb 容器的配置模板,被所有的数据中心所使用,同时可被具体的数据中心配置所覆盖。
+
+| 名称 | 类型 | 描述 | 默认值 |
+| ----------------------------------------- | ------ | -------------------------------------------------- | ------------------------------------------------------------ |
+| templates.replica | int | mogdb 副本数 | 2 |
+| templates.ha.url | string | mogdb ha 组件的访问路径 | |
+| templates.ha.scope | string | mogdb ha 的 scope | default |
+| templates.mogdb.resources.limits.cpu | string | mogdb 容器的 cpu 限制,是容器使用资源的最高限制 | 500m |
+| templates.mogdb.resources.limits.memory | string | mogdb 容器的 memory 限制,是容器使用资源的最高限制 | 1Gi |
+| templates.mogdb.resources.requests.cpu | string | mogdb 容器的 cpu 请求,是容器能够启动的最低限制 | 500m |
+| templates.mogdb.resources.requests.memory | string | mogdb 容器的 memory 请求,是容器能够启动的最低限制 | 1Gi |
+| templates.mogdb.volume.storageClass | string | mogdb pod 所使用的 kubernetes 存储类型 | default |
+| templates.mogdb.volume.dataVolumeSize | string | mogdb 容器挂载的数据卷的大小 | 1Gi |
+| templates.mogdb.volume.backupVolumeSize | string | mogdb 容器挂载的备份数据卷的大小 | 1Gi |
+| templates.images.imagePullPolicy | string | 容器的镜像拉取策略 | IfNotPresent |
+| templates.images.initImage | string | init 镜像 | swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/mogdb-init:3.1.0 |
+| templates.images.mogdbImage | string | mogdb 镜像 | swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/mogdb:3.1.0 |
+| templates.images.sidecarImage | string | sidecar 镜像 | swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/mogdb-agent:3.0.0 |
+
+
+
+## .Values.primaryDC
+
+> mogdb 主数据中心配置。
+
+| 名称 | 类型 | 描述 | 默认值 |
+| --------------- | ------ | ---------------------------------------- | --------------------- |
+| name | string | 主数据中心名称 | dc0 |
+| region | string | 主数据中心区域 | dc0 |
+| namespace | string | 主数据中心位于 kubernetes 中的命名空间 | mogdb-operator-system |
+| kubeContextName | string | 主数据中心 kubernetes 的连接配置定位 | data-plane0 |
+| spec | object | 主数据中心配置说明,与 template 结构一致 | nil |
+
+
+
+## .Values.standbyDCs
+
+> mogdb 备份数据中心配置,可以传递多个。
+
+| 名称 | 类型 | 描述 | 默认值 |
+| --------------- | ------ | ---------------------------------------- | --------------------- |
+| name | string | 备份数据中心名称 | dc0 |
+| region | string | 备份数据中心区域 | dc0 |
+| namespace | string | 备份数据中心位于 kubernetes 中的命名空间 | mogdb-operator-system |
+| kubeContextName | string | 备份数据中心 kubernetes 的连接配置定位 | data-plane0 |
+| spec | object | 主数据中心配置说明,与 template 结构一致 | nil |
+
+
diff --git a/product/zh/docs-mogdb-stack/v3.0/references/charts/multi-operator.md b/product/zh/docs-mogdb-stack/v3.0/references/charts/multi-operator.md
new file mode 100644
index 0000000000000000000000000000000000000000..400f249f949c4335c9c474248850a680249a415f
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/references/charts/multi-operator.md
@@ -0,0 +1,36 @@
+---
+date: 2023-06-30
+author: houzhen.su
+title: helm charts multi-operator values
+summary: helm charts multi-operator values
+---
+
+# helm charts multi-operator values
+
+## .Values
+
+| 名称 | 类型 | 描述 | 默认值 |
+| ----------------------- | -------- | ------------------------------ | ------ |
+| withCRD | bool | 是否一并安装 CRD | false |
+| singleNamespace | bool | 是否以单集群模式运行 | false |
+| enableControl | bool | 是否为控制平面 | true |
+| enablePrometheusMonitor | bool | 是否开启普罗米修斯监控接口 | true |
+| imagePullSecrets | []string | 定义 ha 拉取镜像的 secret | |
+| imagePullSecretNames | []string | 定义 ha 拉取镜像的 secret name | |
+
+
+
+## .Values.operator
+
+> mogdb-operator 容器的相关配置。
+
+| 名称 | 类型 | 描述 | 默认值 |
+| ---------------------------------- | ------ | ----------------------------------------------------- | -------------------- |
+| operator.image | string | operator 容器的镜像 | multi-operator:3.0.0 |
+| operator.imagePullPolicy | string | operator 容器的镜像拉取策略 | IfNotPresent |
+| operator.resources.limits.cpu | string | operator 容器的 cpu 限制,是容器使用资源的最高限制 | 500m |
+| operator.resources.limits.memory | string | operator 容器的 memory 限制,是容器使用资源的最高限制 | 500Mi |
+| operator.resources.requests.cpu | string | operator 容器的 cpu 请求,是容器能够启动的最低限制 | 500m |
+| operator.resources.requests.memory | string | operator 容器的 memory 请求,是容器能够启动的最低限制 | 500Mi |
+
+
diff --git a/product/zh/docs-mogdb-stack/v3.0/references/client/multictl.md b/product/zh/docs-mogdb-stack/v3.0/references/client/multictl.md
new file mode 100644
index 0000000000000000000000000000000000000000..84a2205b459d3f097ecfa65dd7fd28fe3e63d2da
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/references/client/multictl.md
@@ -0,0 +1,354 @@
+---
+date: 2023-10-12
+author: andong.zhu
+title: MogDB multictl client
+summary: MogDB multictl client
+---
+
+# multictl 介绍
+
+multictl 是一个命令行工具,主要是通过命令行进行多集群的信息查询及主备切换。其包括三大类基础命令,分别是 list,get 和 switch,其中,list 的功能是展示多集群的信息, get 的功能是获取诸如 pod,svc,pv,pvc,sts 等资源的信息,switch 的功能是主备切换。
+
+下面是一些全局参数,可以在任意一个指令中增加参数:
+| 参数 | 说明 |
+| ---- | ---- |
+| --as string | Username to impersonate for the operation. User could be a regular user or a service account in a namespace.
+| --as-group stringArray | Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
+| --as-uid string | UID to impersonate for the operation.
+| --cache-dir string | Default cache directory (default "/root/.kube/cache")
+| --certificate-authority string | Path to a cert file for the certificate authority
+| --client-certificate string | Path to a client certificate file for TLS
+| --client-key string | Path to a client key file for TLS
+| --context string | The name of the kubeconfig context to use
+| --disable-compression | If true, opt-out of response compression for all requests to the server
+| --insecure-skip-tls-verify | If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
+| --kubeconfig string | Path to the kubeconfig file to use for CLI requests.
+| -n, --namespace string | If present, the namespace scope for this CLI request
+| --request-timeout string | The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")
+| -s, --server string | The address and port of the Kubernetes API server
+| --tls-server-name string | Server name to use for server certificate validation. If it is not provided, the hostname used to contact the server is used
+| --token string | Bearer token for authentication to the API server
+| --user string | The name of the kubeconfig user to use
+
+## list
+
+通过以下指令获取集群信息:
+
+```shell
+multictl list -n mogdb-operator-system
+```
+
+可以得到以下结果
+
+```shell
++---------------+-------------------------------+
+| NAME | CREATE TIMESTAMP |
++---------------+-------------------------------+
+| multi-cluster | 2023-10-12 09:05:23 +0000 UTC |
++---------------+-------------------------------+
+```
+
+
+
+## get
+
+get 参数如下:
+
+| 参数 | 说明 |
+| ---- | ---- |
+| -c, --cluster string | The cluster name (default "cls")
+| -h, --help | help for get
+| -o, --output string | Output format
+
+
+
+### get pod
+
+使用以下指令获取 pod 信息:
+
+```shell
+multictl get pod -c multi-cluster -n mogdb-operator-system
+```
+
+可以得到以下结果:
+
+```shell
++--------+-------------+-----------------+---------+-------+---------+---------+-------------------------------+
+| REGION | NAMESPACE | NAME | ROLE | READY | STATUS | RESTART | CREATE TIMESTAMP |
++--------+-------------+-----------------+---------+-------+---------+---------+-------------------------------+
+| dc1 | data-plane1 | dc1-sts-77kjj-0 | standby | 2/2 | Running | 0 | 2023-10-12 09:06:03 +0000 UTC |
+| dc1 | data-plane1 | dc1-sts-hf2wd-0 | standby | 2/2 | Running | 0 | 2023-10-12 09:05:30 +0000 UTC |
+| dc2 | data-plane2 | dc2-sts-m5l5f-0 | standby | 2/2 | Running | 0 | 2023-10-12 09:06:09 +0000 UTC |
+| dc2 | data-plane2 | dc2-sts-wdxlk-0 | primary | 2/2 | Running | 0 | 2023-10-12 09:06:14 +0000 UTC |
++--------+-------------+-----------------+---------+-------+---------+---------+-------------------------------+
+```
+
+
+
+### get svc
+
+使用以下指令获取 svc 信息:
+
+```shell
+multictl get svc -c multi-cluster -n mogdb-operator-system
+```
+
+可以得到以下结果
+
+```shell
++--------+-------------+------------------+-----------+---------------+-------------+--------------------+-------------------------------+
+| REGION | NAMESPACE | NAME | TYPE | CLUSTER-IP | EXTERNAL-IP | PORT(S) | CREATE TIMESTAMP |
++--------+-------------+------------------+-----------+---------------+-------------+--------------------+-------------------------------+
+| dc1 | data-plane1 | dc1-svc-headless | ClusterIP | None | | 26000/TCP,9187/TCP | 2023-10-12 17:05:29 +0800 CST |
+| dc1 | data-plane1 | dc1-svc-master | NodePort | 10.96.247.134 | | 26000:30013/TCP | 2023-10-12 17:05:29 +0800 CST |
+| dc1 | data-plane1 | dc1-svc-replicas | NodePort | 10.96.141.34 | | 26000:30012/TCP | 2023-10-12 17:05:29 +0800 CST |
+| dc2 | data-plane2 | dc2-svc-headless | ClusterIP | None | | 26000/TCP,9187/TCP | 2023-10-12 17:06:08 +0800 CST |
+| dc2 | data-plane2 | dc2-svc-master | NodePort | 10.96.128.123 | | 26000:30015/TCP | 2023-10-12 17:06:08 +0800 CST |
+| dc2 | data-plane2 | dc2-svc-replicas | NodePort | 10.96.101.46 | | 26000:30014/TCP | 2023-10-12 17:06:08 +0800 CST |
++--------+-------------+------------------+-----------+---------------+-------------+--------------------+-------------------------------+
+```
+
+
+
+### get sts
+
+使用以下指令获取 sts 信息:
+
+```shell
+multictl get sts -c multi-cluster -n mogdb-operator-system
+```
+
+可以得到以下结果
+
+```shell
++--------+-------------+---------------+---------+-------+-------------------------------+
+| REGION | NAMESPACE | NAME | ROLE | READY | CREATE TIMESTAMP |
++--------+-------------+---------------+---------+-------+-------------------------------+
+| dc1 | data-plane1 | dc1-sts-77kjj | standby | 1/1 | 2023-10-12 17:06:03 +0800 CST |
+| dc1 | data-plane1 | dc1-sts-hf2wd | standby | 1/1 | 2023-10-12 17:05:30 +0800 CST |
+| dc2 | data-plane2 | dc2-sts-m5l5f | standby | 1/1 | 2023-10-12 17:06:09 +0800 CST |
+| dc2 | data-plane2 | dc2-sts-wdxlk | primary | 1/1 | 2023-10-12 17:06:14 +0800 CST |
++--------+-------------+---------------+---------+-------+-------------------------------+
+```
+
+
+
+## switch
+
+switch 的参数如下:
+
+| 参数 | 说明 |
+| ---- | ---- |
+| -c, --cluster string | The cluster name (default "cls") |
+| -h, --help | help for switch |
+| -i, --instance string | The instance name for switch |
+| -r, --region string | The region name for switch |
+
+
+
+其中 -c 参数是必须的,需要集群的名字,集群的名字可以通过以下指令获得:
+
+```shell
+kubectl get multicluster -A
+```
+
+
+
+### switch -r
+
+参数 -r 提供了将 MogDB 主节点切换到不同数据中心的功能,首先我们通过以下指令查看多集群有哪些节点:
+
+```shell
+kubectl get pods -A --selector="mogdb.enmotech.io/name=mogdb"
+```
+
+可以得到类似以下结果:
+
+```shell
+data-plane1 dc1-sts-77kjj-0 2/2 Running 0 112m
+data-plane1 dc1-sts-hf2wd-0 2/2 Running 0 112m
+data-plane2 dc2-sts-m5l5f-0 2/2 Running 0 112m
+data-plane2 dc2-sts-wdxlk-0 2/2 Running 0 112m
+```
+
+可以看到目前有两个中心并分别存在两个 MogDB 的节点,通过以下指令获取主节点:
+
+```shell
+kubectl get pods -A --selector="mogdb.enmotech.io/role=primary"
+```
+
+可以得到类似以下结果:
+
+```shell
+NAMESPACE NAME READY STATUS RESTARTS AGE
+data-plane1 dc1-sts-77kjj-0 2/2 Running 0 112m
+```
+
+可以看到目前的主节点处于 data-plane1 中心,使用以下客户端命令进行主节点切换,将主节点切换到 data-plane2 中心:
+
+```shell
+multictl switch -c multi-cluster -n mogdb-operator-system -r dc2
+```
+
+此时查看主节点信息:
+
+```shell
+kubectl get pods -A --selector="mogdb.enmotech.io/role=primary"
+```
+
+可以看到主节点顺利的从 data-plane1 中心切换到了 data-plane2 中心:
+
+```shell
+NAMESPACE NAME READY STATUS RESTARTS AGE
+data-plane2 dc2-sts-wdxlk-0 2/2 Running 0 112m
+```
+
+
+
+### switch -i
+
+参数 -i 提供了将 MogDB 主节点切换到不同节点的功能,可以是同数据中心,也可以是不同的数据中心,首先我们通过以下指令查看多集群有哪些节点:
+
+```shell
+kubectl get pods -A --selector="mogdb.enmotech.io/name=mogdb"
+```
+
+可以得到类似以下结果:
+
+```shell
+data-plane1 dc1-sts-77kjj-0 2/2 Running 0 112m
+data-plane1 dc1-sts-hf2wd-0 2/2 Running 0 112m
+data-plane2 dc2-sts-m5l5f-0 2/2 Running 0 112m
+data-plane2 dc2-sts-wdxlk-0 2/2 Running 0 112m
+```
+
+可以看到目前有两个中心并分别存在两个 MogDB 的节点,通过以下指令获取主节点:
+
+```shell
+kubectl get pods -A --selector="mogdb.enmotech.io/role=primary"
+```
+
+可以得到类似以下结果:
+
+```shell
+NAMESPACE NAME READY STATUS RESTARTS AGE
+data-plane2 dc2-sts-wdxlk-0 2/2 Running 0 112m
+```
+
+-i 需要提供 statefulset的名字,即 pod 的名字去掉 -0
+可以看到目前的主节点为 dc2-sts-wdxlk-0,使用以下客户端命令进行主节点切换,将主节点切换到其他节点:
+
+```shell
+multictl switch -c multi-cluster -n mogdb-operator-system -i dc1-sts-hf2wd
+```
+
+此时查看主节点信息:
+
+```shell
+kubectl get pods -A --selector="mogdb.enmotech.io/role=primary"
+```
+
+可以看到主节点顺利的切换到了 data-plane1 中心的节点 dc1-sts-hf2wd-0:
+
+```shell
+NAMESPACE NAME READY STATUS RESTARTS AGE
+data-plane1 dc1-sts-hf2wd-0 2/2 Running 0 113m
+```
+
+再次通过以下指令查看多集群有哪些节点:
+
+```shell
+kubectl get pods -A --selector="mogdb.enmotech.io/name=mogdb"
+```
+
+可以得到类似以下结果:
+
+```shell
+data-plane1 dc1-sts-77kjj-0 2/2 Running 0 113m
+data-plane1 dc1-sts-hf2wd-0 2/2 Running 0 113m
+data-plane2 dc2-sts-m5l5f-0 2/2 Running 0 113m
+data-plane2 dc2-sts-wdxlk-0 2/2 Running 0 113m
+```
+
+
+
+最后可以通过 exec 指令获取主备信息:
+
+```shell
+kubectl exec -it -n data-plane1 dc1-sts-hf2wd-0 -- gosu omm gs_ctl query -D /var/lib/mogdb/data/"
+```
+
+可以看到主备信息如下:
+
+```shell
+ HA state:
+ local_role : Primary
+ static_connections : 3
+ db_state : Normal
+ detail_information : Normal
+
+ Senders info:
+ sender_pid : 4136
+ local_role : Primary
+ peer_role : Standby
+ peer_state : Normal
+ state : Streaming
+ sender_sent_location : 0/700CF38
+ sender_write_location : 0/700CF38
+ sender_flush_location : 0/700CF38
+ sender_replay_location : 0/700CF38
+ receiver_received_location : 0/700CF38
+ receiver_write_location : 0/700CF38
+ receiver_flush_location : 0/700CF38
+ receiver_replay_location : 0/700CF38
+ sync_percent : 100%
+ sync_state : Quorum
+ sync_priority : 1
+ sync_most_available : On
+ channel : 10.244.1.9:26001-->10.244.1.7:45532
+
+ sender_pid : 4135
+ local_role : Primary
+ peer_role : Standby
+ peer_state : Normal
+ state : Streaming
+ sender_sent_location : 0/700CF38
+ sender_write_location : 0/700CF38
+ sender_flush_location : 0/700CF38
+ sender_replay_location : 0/700CF38
+ receiver_received_location : 0/700CF38
+ receiver_write_location : 0/700CF38
+ receiver_flush_location : 0/700CF38
+ receiver_replay_location : 0/700CF38
+ sync_percent : 100%
+ sync_state : Quorum
+ sync_priority : 1
+ sync_most_available : On
+ channel : 10.244.1.9:26001-->10.244.1.8:33418
+
+ sender_pid : 4137
+ local_role : Primary
+ peer_role : Standby
+ peer_state : Normal
+ state : Streaming
+ sender_sent_location : 0/700CF38
+ sender_write_location : 0/700CF38
+ sender_flush_location : 0/700CF38
+ sender_replay_location : 0/700CF38
+ receiver_received_location : 0/700CF38
+ receiver_write_location : 0/700CF38
+ receiver_flush_location : 0/700CF38
+ receiver_replay_location : 0/700CF38
+ sync_percent : 100%
+ sync_state : Quorum
+ sync_priority : 1
+ sync_most_available : On
+ channel : 10.244.1.9:26001-->10.244.1.6:43494
+
+ Receiver info:
+No information
+```
+
+此节点的 HA state:local_role 为 Primary 则证明主备切换成功
+
+
\ No newline at end of file
diff --git a/product/zh/docs-mogdb-stack/v3.0/references/helm-charts b/product/zh/docs-mogdb-stack/v3.0/references/helm-charts
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/product/zh/docs-mogdb-stack/v3.0/references/server/crd/kubeclientconfigs.md b/product/zh/docs-mogdb-stack/v3.0/references/server/crd/kubeclientconfigs.md
new file mode 100644
index 0000000000000000000000000000000000000000..00e07cd3b960102f6ce5883b60be089e2cb7b484
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/references/server/crd/kubeclientconfigs.md
@@ -0,0 +1,32 @@
+---
+date: 2023-06-30
+author: houzhen.su
+title: CRD kubeclientconfig
+summary: CRD kubeclientconfig
+---
+
+# CRD kubeclientconfig
+
+## kubeClientConfig
+
+> KubeClientConfig 是 multi-operator 所需的 CRD。
+>
+> 它定义了控制平面连接数据平面所需的 KubeClient 配置,以便控制平面控制数据平面。
+
+| 名称 | 类型 | 描述 | 必选项 |
+| ---------- | ------ | -------------------------------- | ------ |
+| kind | string | KubeClientConfig | true |
+| apiVersion | string | mogdb.enmotech.io/v1 | true |
+| metadata | object | 相关字段参考 Kubernetes API 文档 | true |
+| spec | object | 定义 KubeClientConfig 期望的状态 | true |
+
+
+
+## KubeClientConfig.spec
+
+> 定义 KubeClientConfig 期望的状态。
+
+| 名称 | 类型 | 描述 | 必选项 |
+| ---------------- | ------- | --------------------------------------- | ------ |
+| ContextName | string | 子集群的标识 | false |
+| KubeConfigSecret | object | 连接子集群所需 kubeconfig 所在的 secret | true |
diff --git a/product/zh/docs-mogdb-stack/v3.0/references/server/crd/mogdbclusters.md b/product/zh/docs-mogdb-stack/v3.0/references/server/crd/mogdbclusters.md
new file mode 100644
index 0000000000000000000000000000000000000000..93e38ad126f9d00fcdd3ca2d2e898e725bab5db5
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/references/server/crd/mogdbclusters.md
@@ -0,0 +1,311 @@
+---
+date: 2023-06-30
+author: houzhen.su
+title: CRD kubeclientconfig
+summary: CRD kubeclientconfig
+---
+
+# CRD mogdbcluster
+
+## mogdbCluster
+
+> MogdbCluster 是 mogdb-operator 所需的 CRD。它描述了一个 mogdb 集群的期望状态。
+
+| 名称 | 类型 | 描述 | 必选项 |
+| ---------- | ------ | -------------------------------- | ------ |
+| kind | string | MogdbPodTemplate | true |
+| apiVersion | string | mogdb.enmotech.io/v1 | true |
+| metadata | object | 相关字段参考 Kubernetes API 文档 | true |
+| spec | object | 定义 mogdbCluster 期望的状态 | false |
+| status | object | 定义 mogdbCluster 观测到的状态 | false |
+
+
+
+## mogdbCluster.spec
+
+> 定义 mogdbCluster 期望的状态。
+
+| 名称 | 类型 | 描述 | 必选项 |
+| --------------- | ------ | ------------------------------------------------------------ | ------ |
+| paused | bool | 是否暂停 opeartor 介入 | false |
+| stopped | bool | 是否关闭集群 | false |
+| ha | object | Ha 组件相关配置 | true |
+| replicas | int | 期望的 mogdb 副本数 | true |
+| readPort | int | mogdb service 只读端口 | true |
+| writePort | int | mogdb service 读写端口 | true |
+| podSpec | object | mogdb pod 期望的状态 | false |
+| volumeSpec | object | 额外的自定义 vloumes,挂载到 mogdb pod | false |
+| postgresConf | object | mogdb 配置文件配置项 | false |
+| backup | object | 备份配置 | false |
+| restore | object | 备份恢复配置 | false |
+| dataSource | object | 备份恢复数据源 | false |
+| rcloneConfigMap | string | rclone 配置文件的名字 | false |
+| templates | object | 用于定位并使用各类模板 | false |
+| useTemplates | object | 用于定位并使用 [mogdbClusterTemplate](mogdbclustertemplates.md) | false |
+
+
+
+## mogdbCluster.spec.ha
+
+> Ha 组件相关配置。
+
+| 名称 | 类型 | 描述 | 必选项 |
+| ----- | ------ | -------- | ------ |
+| uRL | string | ha URL | true |
+| scope | string | ha scope | false |
+
+
+
+## mogdbCluster.spec.podSpec
+
+| 名称 | 类型 | 描述 | 必选项 |
+| ------------------ | ----------------- | ---------------------------- | ------ |
+| labels | map[string]string | 自定义 label | false |
+| annotations | map[string]string | 自定义 annotation | false |
+| nodeSelector | map[string]string | 自定义 节点选择器 | false |
+| mogdbVersion | string | mogdb 数据库的版本 | false |
+| gaussPort | int | mogdb 端口 | false |
+| image | string | mogdb 镜像 | false |
+| initImage | string | mogdb init 镜像 | false |
+| sidecarImage | string | sidecar 镜像 | false |
+| sidecarHaImage | string | ha sidecar 镜像 | false |
+| exporterImage | string | exporter 镜像 | false |
+| imagePullPolicy | string | 镜像拉取策略 | false |
+| priorityClassName | string | 优先级类名设置 | false |
+| serviceAccountName | string | 服务账户名称 | false |
+| resources | object | 资源限额 | false |
+| sidecarResources | object | sidecar 容器资源限额 | false |
+| affinity | object | 亲和性设置 | false |
+| tolerations | []object | 容忍性设置 | false |
+| volumeSpec | object | mogdb data volume 配置 | false |
+| backupVolumeSpec | object | mogdb backup volume 类型配置 | false |
+| volumes | []object | 额外的 volume 设置 | false |
+| volumeMounts | []object | 额外的 volume 挂载设置 | false |
+| containers | []object | 额外的容器设置 | false |
+| initContainers | []object | 额外的初始化容器设置 | false |
+| imagePullSecrets | []string | 额外的镜像拉取秘钥 | false |
+
+
+
+## MogdbCluster.spec.podSpec.volumeSpec
+
+> mogdb pod volume 类型配置,与 [mogdbCluster.spec.volumeSpec](#mogdbCluster.spec.volumeSpec) 保持一致。
+
+
+
+## mogdbCluster.spec.volumeSpec
+
+> 额外的自定义 vloumes,挂载到 mogdb pod。
+
+| 名称 | 类型 | 描述 | 必选项 |
+| --------------------- | ------ | ---------------- | ------ |
+| emptyDir | object | emptyDir类型的卷 | false |
+| hostPath | object | hostPath类型的卷 | false |
+| persistentVolumeClaim | object | pvc卷声明 | false |
+
+
+
+## mogdbCluster.spec.backup
+
+> 备份配置。
+
+| 名称 | 类型 | 描述 | 必选项 |
+| ------ | ------ | -------------- | ------ |
+| image | string | 备份镜像 | false |
+| auto | object | 自动周期性备份 | false |
+| manual | object | 手动单次的备份 | false |
+
+
+
+## mogdbCluster.spec.backup.auto
+
+> 自动周期性备份。
+
+| 名称 | 类型 | 描述 | 必选项 |
+| -------------------------- | ------ | ------------------------------ | ------ |
+| name | string | 备份名称 | false |
+| suspend | bool | 是否暂停备份 | false |
+| backupType | string | 备份类型(dumpall/basebackup) | false |
+| backupSchedules | object | 备份策略 | false |
+| backupFileHistoryLimit | int | 保留历史自大数量 | false |
+| failedJobsHistoryLimit | int | 失败的 job 保留数量 | false |
+| successfulJobsHistoryLimit | int | 成功的 job 保留数量 | false |
+| storageProvider | object | 存储配置 | false |
+
+
+
+## MogdbCluster.spec.backup.auto.storageProvider
+
+> 存储配置。
+
+| 名称 | 类型 | 描述 | 必选项 |
+| ------------- | ------ | ----------- | ------ |
+| rcloneStorage | object | rclone 配置 | false |
+
+
+
+## MogdbCluster.spec.backup.auto.storageProvider.rcloneStorage
+
+> rclone 存储配置。
+
+| 名称 | 类型 | 描述 | 必选项 |
+| --------- | ------ | ---- | ------ |
+| name | string | 名字 | true |
+| directory | string | 路径 | true |
+
+
+
+## mogdbCluster.spec.backup.manual
+
+> 手动单次的备份。
+
+| 名称 | 类型 | 描述 | 必选项 |
+| --------------- | ------ | ------------------------------ | ------ |
+| id | string | 备份名称 | false |
+| backupType | string | 备份类型(dumpall/basebackup) | false |
+| storageProvider | object | 存储配置 | false |
+
+
+
+## MogdbCluster.spec.backup.manual.storageProvider
+
+> 存储配置。与 [MogdbCluster.spec.Backup.auto.storageProvider](#MogdbCluster.spec.Backup.auto.storageProvider) 保持一致。
+
+
+
+## mogdbCluster.spec.restore
+
+> 备份恢复配置。
+
+| 名称 | 类型 | 描述 | 必选项 |
+| ---------- | ------ | -------------- | ------ |
+| image | string | 镜像 | false |
+| restoreId | string | 恢复标识ID | false |
+| dataSource | object | 备份恢复数据源 | false |
+
+
+
+## mogdbCluster.spec.restore.dataSource
+
+> 备份恢复数据源,与 [mogdbCluster.spec.DataSource](mogdbCluster.spec.DataSource) 保持一致。
+
+
+
+## mogdbCluster.spec.dataSource
+
+> 备份恢复数据源。
+
+| 名称 | 类型 | 描述 | 必选项 |
+| --------------- | ------ | ------------------------------ | ------ |
+| type | string | 恢复类型(time/object) | true |
+| target | string | 恢复对象 | true |
+| clusterName | string | 目标集群名称 | true |
+| backupType | string | 备份类型(dumpall/basebackup) | false |
+| storageProvider | object | 存储配置 | false |
+
+
+
+## MogdbCluster.spec.dataSource.storageProvider
+
+> 存储配置。与 [MogdbCluster.spec.Backup.auto.storageProvider](#MogdbCluster.spec.Backup.auto.storageProvider) 保持一致。
+
+## mogdbCluster.status
+
+| 名称 | 类型 | 描述 | 必选项 |
+| --------------- | -------- | ------------------- | ------ |
+| readyNodes | integer | 处于ready节点的个数 | true |
+| conditions | []object | 集群状况 | true |
+| nodes | []object | 节点状况 | true |
+| RestoreStatus | object | 恢复状况 | true |
+| BackupStatus | object | 备份状况 | true |
+| StartupInstance | string | 开始实现 | true |
+| FirstInstance | string | 第一次实现 | true |
+| HaService | string | ha服务 | true |
+
+
+
+## mogdbCluster.status.conditions
+
+| 名称 | 类型 | 描述 | 必选项 |
+| ------------------ | ------ | -------------- | ------ |
+| type | string | 状况类型 | true |
+| status | string | 状况的状态 | true |
+| lastTransitionTime | time | 状况发生的时间 | true |
+| reason | string | 状况的原因 | true |
+| message | string | 状况信息 | true |
+
+
+
+## mogdbCluster.status.RestoreStatus
+
+| 名称 | 类型 | 描述 | 必选项 |
+| -------------- | ------- | ------------ | ------ |
+| id | string | 恢复ID | true |
+| finished | bool | 是否已经结束 | true |
+| startTime | time | 开始时间 | true |
+| completionTime | time | 完成时间 | true |
+| active | integer | 进行中数量 | true |
+| succeeded | integer | 成功数量 | true |
+| Failed | integer | 失败数量 | true |
+
+
+
+## mogdbCluster.status.BackupStatus
+
+| 名称 | 类型 | 描述 | 必选项 |
+| ---------------- | -------- | -------- | ------ |
+| ManualBackups | []object | 手动备份 | true |
+| ScheduledBackups | []object | 自动备份 | true |
+
+
+
+## mogdbCluster.status.BackupStatus.ManualBackups
+
+| 名称 | 类型 | 描述 | 必选项 |
+| -------------- | ------- | ------------ | ------ |
+| name | string | 备份名称 | true |
+| backupType | string | 备份类型 | true |
+| backupLevel | string | 备份级别 | true |
+| backupFile | string | 备份文件 | true |
+| startTime | time | 开始时间 | true |
+| completionTime | time | 结束时间动 | true |
+| active | integer | 进行中数量 | true |
+| succeeded | integer | 成功数量 | true |
+| failed | integer | 失败数量 | true |
+| finished | bool | 是否已经结束 | true |
+
+
+
+## mogdbCluster.status.BackupStatus.ScheduledBackups
+
+| 名称 | 类型 | 描述 | 必选项 |
+| -------------- | ------- | ------------ | ------ |
+| name | string | 备份名称 | true |
+| backupType | string | 备份类型 | true |
+| backupLevel | string | 备份级别 | true |
+| backupFile | string | 备份文件 | true |
+| startTime | time | 开始时间 | true |
+| completionTime | time | 结束时间动 | true |
+| active | integer | 进行中数量 | true |
+| succeeded | integer | 成功数量 | true |
+| failed | integer | 失败数量 | true |
+| finished | bool | 是否已经结束 | true |
+
+
+
+## mogdbCluster.status.nodes
+
+| 名称 | 类型 | 描述 | 必选项 |
+| ---------- | -------- | ------------------ | ------ |
+| name | string | 集群节点状态的名称 | true |
+| conditions | []object | 节点状况集合 | true |
+
+
+
+## mogdbCluster.status.nodes.conditions
+
+| 名称 | 类型 | 描述 | 必选项 |
+| ------------------ | ------ | -------------- | ------ |
+| type | string | 状况类型 | true |
+| status | string | 状况的状态 | true |
+| lastTransitionTime | time | 状况发生的时间 | true |
diff --git a/product/zh/docs-mogdb-stack/v3.0/references/server/crd/mogdbclustertemplates.md b/product/zh/docs-mogdb-stack/v3.0/references/server/crd/mogdbclustertemplates.md
new file mode 100644
index 0000000000000000000000000000000000000000..d0b2852ab432558b8f32866319607dd1cb606af8
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/references/server/crd/mogdbclustertemplates.md
@@ -0,0 +1,32 @@
+---
+date: 2023-06-30
+author: houzhen.su
+title: CRD mogdbclustertemplate
+summary: CRD mogdbclustertemplate
+---
+
+# CRD mogdbclustertemplate
+
+## mogdbClusterTemplate
+
+> mogdbClusterTemplate 是 mogdb-operator 所需的 CRD。它描述了一个 mogdb 集群的期望状态,但仅用作模板。
+
+| 名称 | 类型 | 描述 | 必选项 |
+| ---------- | ------ | -------------------------------- | ------ |
+| kind | string | MogdbPodTemplate | true |
+| apiVersion | string | mogdb.enmotech.io/v1 | true |
+| metadata | object | 相关字段参考 Kubernetes API 文档 | true |
+| spec | object | 定义 mogdbCluster 期望的状态 | false |
+| status | object | 定义 mogdbCluster 观测到的状态 | false |
+
+
+
+## mogdbClusterTemplate.spec
+
+> 定义 mogdbCluster 期望的状态。与 [mogdbCluster.spec](mogdbclusters.md#mogdbCluster.spec) 保持一致。
+
+
+
+## mogdbPodTemplate.status
+
+> 定义 mogdb pod 观测到的状态。与 [mogdbCluster.status](mogdbclusters.md#mogdbCluster.status) 保持一致。
diff --git a/product/zh/docs-mogdb-stack/v3.0/references/server/crd/mogdbpodtemplates.md b/product/zh/docs-mogdb-stack/v3.0/references/server/crd/mogdbpodtemplates.md
new file mode 100644
index 0000000000000000000000000000000000000000..5720451e53322a170c9fe76df745b98f47b8b1a8
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/references/server/crd/mogdbpodtemplates.md
@@ -0,0 +1,32 @@
+---
+date: 2023-06-30
+author: houzhen.su
+title: CRD mogdbpodtemplate
+summary: CRD mogdbpodtemplate
+---
+
+# CRD mogdbpodtemplate
+
+## mogdbPodTemplate
+
+> mogdbPodTemplate 是 mogdb-operator 所需的 CRD。它描述了一个 mogdb 节点的期望状态,但仅用作模板。
+
+| 名称 | 类型 | 描述 | 必选项 |
+| ---------- | ------ | -------------------------------- | ------ |
+| kind | string | MogdbPodTemplate | true |
+| apiVersion | string | mogdb.enmotech.io/v1 | true |
+| metadata | object | 相关字段参考 Kubernetes API 文档 | true |
+| spec | object | 定义 mogdb pod 期望的状态 | false |
+| status | object | 定义 mogdb pod 观测到的状态 | false |
+
+
+
+## mogdbPodTemplate.spec
+
+> 定义 mogdb pod 期望的状态。与 [kubernetes pod.spec](https://kubernetes.io/docs/concepts/workloads/pods/) 保持一致。
+
+
+
+## mogdbPodTemplate.status
+
+> 定义 mogdb pod 观测到的状态。与 [kubernetes pod.spec](https://kubernetes.io/docs/concepts/workloads/pods/) 保持一致。
diff --git a/product/zh/docs-mogdb-stack/v3.0/references/server/crd/multiclusters.md b/product/zh/docs-mogdb-stack/v3.0/references/server/crd/multiclusters.md
new file mode 100644
index 0000000000000000000000000000000000000000..899665806174e5fdd200c8ef750c79742ff33b64
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/references/server/crd/multiclusters.md
@@ -0,0 +1,134 @@
+---
+date: 2023-06-30
+author: houzhen.su
+title: CRD kubeclientconfig
+summary: CRD kubeclientconfig
+---
+
+# CRD multicluster
+
+## multiCluster
+
+> MultiCluster 是 multi-operator 所需的 CRD。
+>
+> 它描述了部署一个跨 kubernetes 集群的 mogdb 集群的期望状态。
+
+| 名称 | 类型 | 描述 | 必选项 |
+| ---------- | ------ | -------------------------------- | ------ |
+| kind | string | MultiCluster | true |
+| apiVersion | string | mogdb.enmotech.io/v1 | true |
+| metadata | object | 相关字段参考 Kubernetes API 文档 | true |
+| spec | object | 定义 multiCluster 期望的状态 | false |
+| status | object | 定义 multiCluster 观测到的状态 | false |
+
+
+
+## multiCluster.spec
+
+> MogdbClusterSpec 定义 multiCluster 期望的状态。
+
+| 名称 | 类型 | 描述 | 必选项 |
+| ------------------- | -------- | ------------------------------------------------------------ | ------ |
+| template | object | 模板,描述 mogdb 的期望状态 | false |
+| dataCenters | []object | 数据中心列表,描述 mogdb 在每个数据中心的期望状态 | true |
+| secretsProvider | string | [保留 暂未使用] secret 提供方 | false |
+| externalDatacenters | []string | [保留 暂未使用] 额外的数据中心 | false |
+| superuserSecretRef | object | [保留 暂未使用] mogdb node 的超级用户,便于 operator 管理 mogdb 集群 | false |
+
+
+
+## multiCluster.spec.template
+
+> 模板,描述 mogdb 的期望状态。与 [mogdbCluster.spec](mogdbclusters.md#mogdbCluster.spec) 保持一致。
+
+
+
+## multiCluster.spec.dataCenters
+
+> 数据中心列表,描述 mogdb 在每个数据中心的期望状态。
+
+| 名称 | 类型 | 描述 | 必选项 |
+| -------------- | ------ | --------------------------------------- | ------ |
+| dataCenterMeta | object | 数据中心元数据 | true |
+| dataCenterRole | string | 数据中心角色(primary/standby/cascade) | true |
+| dataCenterSpec | object | 数据中心中 mogdb 的期望状态 | false |
+
+
+
+## multiCluster.spec.dataCenters.DataCenterMeta
+
+> 数据中心元数据。
+
+| 名称 | 类型 | 描述 | 必选项 |
+| --------------- | ------ | ------------------------------------------------------------ | ------ |
+| name | string | 数据中心名称 | false |
+| namespace | string | 数据中心命名空间 | false |
+| region | string | 数据中心区域 | false |
+| kubeContextName | string | 指向 [kubeclientconfigs](kubeclientconfigs.md),定位数据平面 | true |
+
+
+
+## multiCluster.spec.dataCenterSpec
+
+> 模板,描述 mogdb 的期望状态。与 [mogdbCluster.spec](mogdbclusters.md#mogdbCluster.spec) 保持一致。
+
+
+
+## multiCluster.status
+
+> 定义 MultiCluster 观测到的状态。
+
+| 名称 | 类型 | 描述 | 必选项 |
+| --------------------- | -------- | ---------------------------------------- | ------ |
+| status | string | 集群整体状态 | true |
+| readyDCs | int32 | 处于 ready 状态的数据中心个数 | true |
+| reconciledDCs | int32 | 正在 reconcile 中的数据中心个数 | true |
+| conditions | []object | 集群状态列表,描述集群的状态 | true |
+| dataCenters | []object | 数据中心状态列表,描述每个数据中心的状态 | true |
+| primaryDataCenterMeta | object | 主数据中心的元数据信息 | true
+
+
+
+## multiCluster.status.conditions
+
+> 集群状态列表,描述集群的状态。
+
+| 名称 | 类型 | 描述 | 必选项 |
+| ------------------ | ------ | -------------- | ------ |
+| type | string | 状况类型 | true |
+| status | string | 状况的状态 | true |
+| reason | string | 状况的原因 | true |
+| message | string | 状况的信息 | true |
+| lastTransitionTime | time | 状况发生的时间 | true |
+
+
+
+## multiCluster.status.dataCenters
+
+> 数据中心状态列表,描述每个数据中心的状态。
+
+| 名称 | 类型 | 描述 | 必选项 |
+| ------------------ | ------ | -------------------- | ------ |
+| dataCenterMeta | object | 数据中心的元数据信息 | true |
+| mogdbClusterStatus | object | 数据中心的状态信息 | true |
+| primary | bool | 数据中心是否为主 | true |
+| decommission | bool | 数据中心是否退役 | true |
+| processing | bool | 数据中心是否在处理中 | true |
+
+
+
+## multiCluster.status.primaryDataCenterMeta
+
+> 主数据中心的元数据信息。与 [multiCluster.spec.dataCenters.DataCenterMeta](#multiCluster.spec.dataCenters.DataCenterMeta) 保持一致。
+
+
+
+## multiCluster.status.dataCenters.dataCenterMeta
+
+> 数据中心的元数据信息。与 [multiCluster.spec.dataCenters.DataCenterMeta](#multiCluster.spec.dataCenters.DataCenterMeta) 保持一致。
+
+
+
+## multiCluster.status.dataCenters.mogdbClusterStatus
+
+> 数据中心的 mogdb 状态。与 [mogdbCluster.status](mogdbclusters.md#mogdbcluster.status) 保持一致。
diff --git a/product/zh/docs-mogdb-stack/v3.0/references/server/sample/mogdbcluster-sample.md b/product/zh/docs-mogdb-stack/v3.0/references/server/sample/mogdbcluster-sample.md
new file mode 100644
index 0000000000000000000000000000000000000000..b3c0e2ae3aa8ae7ca1c682ae5f9a00c160867178
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/references/server/sample/mogdbcluster-sample.md
@@ -0,0 +1,59 @@
+---
+date: 2023-06-30
+author: houzhen.su
+title: MogDB Cluster CR 样例
+summary: MogDB Cluster CR 样例
+---
+
+# MogDB Cluster CR 样例
+
+如果您希望通过原生的 kubectl 命令创建一个 MogDB Cluster CR,可以通过编写简单的 yaml 文件,提交到 k8s。
+
+下面是一个 mogdb cluster 样例,分别制定了数据卷、日志卷、备份卷以及基本的镜像配置,还有副本数等:
+
+```yaml
+apiVersion: mogdb.enmotech.io/v1
+kind: MogdbCluster
+metadata:
+ name: mogdb
+ namespace: mogdb-operator-system
+ labels:
+ name: mogdb
+ mogdb.enmotech.io/cluster: mogdb
+spec:
+ replicas: 2
+ readPort: 30012
+ writePort: 30013
+ ha:
+ scope: default
+ url: http://mogdb-ha.mogdb-ha.svc.cluster.local:6544
+ podSpec:
+ volumeSpec:
+ persistentVolumeClaim:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 1Gi
+ storageClassName: default
+ backupVolumeSpec:
+ persistentVolumeClaim:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 1Gi
+ storageClassName: default
+ image: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/mogdb:3.1.0
+ initImage: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/mogdb-init:3.1.0
+ sidecarImage: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/mogdb-agent:3.0.0
+ exporterImage: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/mogdb-exporter:3.0.3
+ imagePullPolicy: IfNotPresent
+ resources:
+ limits:
+ cpu: 500m
+ memory: 1Gi
+ requests:
+ cpu: 500m
+ memory: 1Gi
+```
diff --git a/product/zh/docs-mogdb-stack/v3.0/references/server/sample/multicluster-sample.md b/product/zh/docs-mogdb-stack/v3.0/references/server/sample/multicluster-sample.md
new file mode 100644
index 0000000000000000000000000000000000000000..0c5a31385ff1e8ddf2955fb4678c7e99a09182d5
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/references/server/sample/multicluster-sample.md
@@ -0,0 +1,84 @@
+---
+date: 2023-06-30
+author: houzhen.su
+title: Multi Cluster CR 样例
+summary: Multi Cluster CR 样例
+---
+
+# Multi Cluster CR 样例
+
+如果您希望通过原生的 kubectl 命令创建一个 Multi Cluster CR,可以通过编写简单的 yaml 文件,提交到 k8s。
+
+下面是一个两地三中心的 multi cluster 样例:
+
+```yaml
+apiVersion: mogdb.enmotech.io/v1
+kind: MultiCluster
+metadata:
+ name: mogdb
+ namespace: mogdb-operator-system
+ labels:
+ name: mogdb
+ mogdb.enmotech.io/cluster: mogdb
+spec:
+ dataCenters:
+ - dataCenterRole: primary
+ name: dc0
+ region: region0
+ namespace: mogdb-operator-system
+ kubeContextName: data-plane0
+ dataCenterSpec:
+ replicas: 2
+ - dataCenterRole: standby0
+ name: dc1
+ region: region0
+ namespace: mogdb-operator-system
+ kubeContextName: data-plane1
+ dataCenterSpec:
+ replicas: 2
+ - dataCenterRole: standby1
+ name: dc2
+ region: region1
+ namespace: mogdb-operator-system
+ kubeContextName: data-plane2
+ dataCenterSpec:
+ replicas: 2
+ template:
+ replicas: 2
+ readPort: 30012
+ writePort: 30013
+ ha:
+ scope: default
+ url: http://mogdb-ha.mogdb-ha.svc.cluster.local:6544
+ podSpec:
+ volumeSpec:
+ persistentVolumeClaim:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 1Gi
+ storageClassName: default
+ backupVolumeSpec:
+ persistentVolumeClaim:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 1Gi
+ storageClassName: default
+ image: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/mogdb:3.1.0
+ initImage: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/mogdb-init:3.1.0
+ sidecarImage: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/mogdb-agent:3.0.0
+ exporterImage: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/mogdb-exporter:3.0.3
+ imagePullPolicy: IfNotPresent
+ resources:
+ limits:
+ cpu: 500m
+ memory: 1Gi
+ requests:
+ cpu: 500m
+ memory: 1Gi
+```
+
+上述配置,分别制定了数据卷、日志卷、备份卷以及基本的镜像配置,还有副本数等,提交到系统将会创建一个MogDB 集群。
\ No newline at end of file
diff --git a/product/zh/docs-mogdb-stack/v3.0/release.md b/product/zh/docs-mogdb-stack/v3.0/release.md
new file mode 100644
index 0000000000000000000000000000000000000000..513be53cc99df8813ccb89fe7c0b413acf33169f
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/release.md
@@ -0,0 +1,50 @@
+---
+title: 发布记录
+summary: 发布记录
+author: Wang Dong
+date: 2023-06-30
+---
+
+# 发布记录
+
+## v3.0.0
+
+发布日期:2023年6月30日
+
+本次发布 MogDB stack v3.0.0
+
+MogDB Stack Examples
+
++ [mogdb-stack-examples](https://github.com/enmotech/mogdb-stack-examples)
+
+## v2.0.0
+
+发布日期:2022年12月30日
+
+本次发布 mgo客户端 v2.0.0 和 MogDB stack v2.0.0
+
+mgo 客户端
+
++ [mgo_linux_x86_64](https://cdn-mogdb.enmotech.com/mogdb-stack/v2.0.0/mgo_linux_x86_64)
++ [mgo_linux_arm64](https://cdn-mogdb.enmotech.com/mogdb-stack/v2.0.0/mgo_linux_arm64)
++ [mgo_darwin_x86_64](https://cdn-mogdb.enmotech.com/mogdb-stack/v2.0.0/mgo_darwin_x86_64)
++ [mgo_darwin_arm64](https://cdn-mogdb.enmotech.com/mogdb-stack/v2.0.0/mgo_darwin_arm64)
+
+MogDB Stack Examples
+
++ [mogdb-stack-examples](https://github.com/enmotech/mogdb-stack-examples)
+
+## v1.0.0
+
+发布日期:2022年6月30日
+
+本次发布 mgo客户端 v1.0.0 和 MogDB operator v1.0.0
+
+[MogDB operator](https://cdn-mogdb.enmotech.com/mogdb-stack/v1.0.0/mogdb-operator-examples.tar)
+
+mgo 客户端
+
++ [mgo_linux_x86_64](https://cdn-mogdb.enmotech.com/mogdb-stack/v1.0.0/mgo_linux_x86_64)
++ [mgo_linux_arm64](https://cdn-mogdb.enmotech.com/mogdb-stack/v1.0.0/mgo_linux_arm64)
++ [mgo_darwin_x86_64](https://cdn-mogdb.enmotech.com/mogdb-stack/v1.0.0/mgo_darwin_x86_64)
++ [mgo_darwin_arm64](https://cdn-mogdb.enmotech.com/mogdb-stack/v1.0.0/mgo_darwin_arm64)
\ No newline at end of file
diff --git a/product/zh/docs-mogdb-stack/v3.0/toc.md b/product/zh/docs-mogdb-stack/v3.0/toc.md
new file mode 100644
index 0000000000000000000000000000000000000000..daeba5977978ae45368a01da845630ef11e09edd
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/toc.md
@@ -0,0 +1,53 @@
+
+
+
+# 文档
+
+## MogDB Stack 文档目录
+
++ [关于 MogDB Stack](overview.md)
++ [快速上手](quick-start.md)
++ 软件安装
+ + [helm(单集群模式)](installation/single-helm.md)
+ + [helm(多集群模式)](installation/multi-helm.md)
+ + [kustomize(单集群模式)](installation/single-kustomize.md)
+ + [kustomize(多集群模式)](installation/multi-kustomize.md)
++ 使用手册
+ + 单机房 mogdb 集群
+ + [开始](tutorial/single-cluster/getting-started.md)
+ + [创建与删除](tutorial/single-cluster/create-mogdb-cluster.md)
+ + [扩容与缩容](tutorial/single-cluster/scale-up-and-down.md)
+ + [备份与恢复](tutorial/single-cluster/backup-and-restore.md)
+ + [连接到 mogdb](tutorial/single-cluster/connect-to-mogdb.md)
+ + [定制您的单机房 mogdb 集群](tutorial/single-cluster/customize-mogdb-cluster.md)
+ + 多机房 mogdb 集群
+ + [开始](tutorial/multi-cluster/getting-started.md)
+ + [创建与删除](tutorial/multi-cluster/create-mogdb-cluster.md)
+ + [扩容与缩容](tutorial/multi-cluster/resize-mogdb-cluster.md)
+ + [备份、恢复与克隆](tutorial/multi-cluster/backup-and-restore.md)
+ + [高可用](tutorial/multi-cluster/high availability.md)
+ + [连接到 mogdb](tutorial/multi-cluster/connect-to-mogdb.md)
+ + [定制您的多机房 mogdb 集群](tutorial/multi-cluster/customize-mogdb-cluster.md)
++ 架构
+ +
++ 参考
+ + 客户端
+ + [multictl](references/client/multictl.md)
+ + helm charts
+ + [mogdb-ha](references/charts/mogdb-ha.md)
+ + [mogdb-operator](references/charts/mogdb-operator.md)
+ + [multi-operator](references/charts/multi-operator.md)
+ + [mogdb-cluster](references/charts/mogdb-cluster.md)
+ + [multi-cluster](references/charts/multi-cluster.md)
+ + 服务端
+ + CRD 参考
+ + [multiclusters](references/server/crd/multiclusters.md)
+ + [kubeclientconfigs](references/server/crd/kubeclientconfigs.md)
+ + [mogdbclusters](references/server/crd/mogdbclusters.md)
+ + [mogdbclustertemplates](references/server/crd/mogdbclustertemplates.md)
+ + [mogdbpodtemplates](references/server/crd/mogdbpodtemplates.md)
+ + CR 样例参考
+ + [mogdbcluster 参考](references/server/sample/mogdbcluster-sample.md)
+ + [multicluster 参考](references/server/sample/multicluster-sample.md)
++ [FAQ](faq.md)
++ [发布记录](release.md)
\ No newline at end of file
diff --git a/product/zh/docs-mogdb-stack/v3.0/tutorial/multi-cluster/backup-and-restore.md b/product/zh/docs-mogdb-stack/v3.0/tutorial/multi-cluster/backup-and-restore.md
new file mode 100644
index 0000000000000000000000000000000000000000..a159ef55e07c69e0913f09e1beb91c73a7b6624c
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/tutorial/multi-cluster/backup-and-restore.md
@@ -0,0 +1,376 @@
+---
+date: 2023-06-30
+author: houzhen.su
+title: 备份、恢复与克隆
+summary: 备份、恢复与克隆
+---
+
+# 备份、恢复与克隆
+
+本文档介绍如何对 Kubernetes 上的 MogDB 集群进行数据备份和数据恢复。
+
+数据备份是 MogDB 集群的一个重要部分,我们可以执行数据库生命周期中可能发生的许多常见和高级操作:
+
+- 执行一次性/临时备份
+- 设置自动备份计划和保留策略
+- 执行“时间点恢复”
+- 将数据克隆到新实例
+
+以及更多。
+
+## 设置存储库
+
+我们在安装 mogdb-operator 时候已经对备份存储库配置做了初始化,我们可以通过以下命令观察它的配置信息:
+
+登录主数据中心:
+
+```shell
+kubectl config --kubeconfig use-context
+```
+
+查看备份存储库配置:
+
+```shell
+kubectl edit configmap mogdb-operator-rclone-config -n
+```
+
+预期输出:
+
+```shell
+$ kubectl config --kubeconfig ~/.kube/config use-context kind-mogdb-stack-0
+Switched to context "kind-mogdb-stack-0".
+
+$ kubectl edit configmap mogdb-operator-rclone-config -n mogdb-operator-system
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: mogdb-operator-rclone-config
+data:
+ rclone.conf: |
+ [s3-remote]
+ type=s3
+ provider=minio
+ endpoint=http://172.18.236.214:9000
+ access_key_id=edeykTZsa9eZ1DSEsD21
+ secret_access_key=8JTe5SQbdrpKGA912EmR0XDgHFqsKTBUX6gm600J
+```
+
+备份存储通信后端采用 rclone,有关 rclone 配置文件的相关信息,请参考[Documentation (rclone.org)](https://rclone.org/docs/#config-config-file)。
+
+
+
+## 备份管理
+
+MogDB 集群的备份配置位于 **spec.backup** 自定义资源部分,有关备份配置的详细说明,请参考[备份](../../references/server/crd/mogdbclusters.md#mogdbCluster.spec.backup)。
+
+### 1.管理备份计划
+
+operator 对于 MogDB 集群设置备份计划,他将不断的将备份内容存储在备份存储库中。
+
+对于备份类型, 提供 **full-全量备份**,**incremental-增量备份**的方式帮助您从空间管理和优化策略上做出抉择。并且接受一个 [cron 格式](https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/cron-jobs/#cron-schedule-syntax)的字符串用于设置备份计划。其中全量备份通过 **spec.backup.auto.backupSchedules.full** 字段配置,增量备份通过 **spec.backup.auto.backupSchedules.incremental** 字段配置。
+
+假设我们的备份策略是每周日凌晨 1 点进行全量备份。按照以下规范内容配置:
+
+```yaml
+spec:
+ backup:
+ auto:
+ name: "auto"
+ backupSchedules:
+ full: "0 1 * * 0"
+ storageProvider:
+ rcloneStorage:
+ name: s3-remote
+ directory: backup
+ backupType: basebackup
+ image: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/remote-client:3.0.0
+```
+
+为了管理计划备份,operator 将创建多个 Kubernetes CronJobs,这些作业将在指定时间段执行备份。备份将使用您指定的配置。
+
+确保定期进行备份对于维护 MogDB 集群的健康状况非常重要。但是,您不需要保留所有备份:这可能会导致您耗尽空间!因此,设置备份保留策略也很重要。
+
+
+
+### 2.管理备份保留
+
+您可以设置多种类型备份保留:
+
++ **spec.backup.auto.backupFileHistoryLimit**:备份文件保留数量限制
+
++ **spec.backup.auto.failedJobsHistoryLimit**:失败备份任务数量限制
+
++ **spec.backup.auto.successfulJobsHistoryLimit**:成功备份任务数量限制
+
+让我们看一个备份计划中备份文件保留最多 7 个的示例:
+
+```yaml
+spec:
+ backup:
+ auto:
+ name: "auto"
+ backupSchedules:
+ full: "0 1 * * 0"
+ storageProvider:
+ rcloneStorage:
+ name: s3-remote
+ directory: backup
+ backupType: basebackup
+ image: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/remote-client:3.0.0
+ successfulJobsHistoryLimit: 7
+```
+
+
+
+### 3.进行临时备份
+
+有时您可能需要进行一次性备份,例如在重大应用程序更改或更新之前。
+
+为了防止一个备份的反复提交我们需要一个 id 标识此次备份任务。**spec.backup.manual.id** 将满足这样的配置,您可以使用一个不重复的随机字符串填充它。
+
+在 helm 中,只需修改 values 文件中的 对应数据中心描述的 .backup 内容即可。此处将 values 文件修改如下:
+
+```yaml
+...
+backup:
+ manual:
+ id: "001"
+ backupType: dumpall
+ storageProvider:
+ rcloneStorage:
+ name: s3-remote
+ directory: backup
+ image: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/remote-client:3.0.0
+```
+
+ 我们来尝试一次性备份吧!运行以下命令:
+
+ ```shell
+ helm upgrade mogdb-stack/multi-cluster -n [-f ] [--set =...]
+ ```
+
+ 期望输出:
+
+ ```shell
+ $ helm upgrade multi-mogdb helm/multi-cluster -n control-plane -f helm/multi-cluster/values.yaml
+ Release "multi-mogdb" has been upgraded. Happy Helming!
+ NAME: multi-mogdb
+ LAST DEPLOYED: Tue Jul 18 23:14:01 2023
+ NAMESPACE: control-plane
+ STATUS: deployed
+ REVISION: 5
+ TEST SUITE: None
+ NOTES:
+ Thank you for deploying MogDB Multi Cluster!
+ ```
+
+此时,切换只主数据中心并观察 pods 内容:
+
+```shell
+$ kubectl get pods
+NAME READY STATUS RESTARTS AGE
+mogdb-cluster-backup-xlhgf-wbm2s 1/1 Running 0 4s
+mogdb-cluster-sts-f5zqj-0 2/2 Running 0 176m
+mogdb-cluster-sts-z6kz6-0 2/2 Running 0 165m
+mogdb-operator-controller-manager-86d4cfd876-gg986 1/1 Running 0 3h5m
+```
+
+您会发现一个关于 backup 的 pod 已经启动了,等待这个 pod 状态为 completed。这次一次性备份就完成了!
+
+
+
+### 4.进行周期性备份
+
+有时您可能需要进行周期性备份,以保障数据不被丢失。
+
+本例设置备份周期为十分钟,备份所使用的 rclone 配置为 s3-remote。
+
+在 helm 中,只需修改 values 文件中的 对应数据中心描述的 .backup 内容即可。此处将 values 文件修改如下:
+
+```yaml
+...
+backup:
+ auto:
+ name: "auto"
+ backupSchedules:
+ full: "*/10 * * * *"
+ storageProvider:
+ rcloneStorage:
+ name: s3-remote
+ directory: backup
+ backupType: basebackup
+ backupFileHistoryLimit: 7
+ failedJobsHistoryLimit: 7
+ successfulJobsHistoryLimit: 7
+ image: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/remote-client:3.0.0
+```
+
+随后执行更新操作:
+
+```shell
+helm upgrade mogdb-stack/multi-cluster -n [-f ] [--set =...]
+```
+
+期望输出:
+
+```shell
+$ helm upgrade multi-mogdb helm/multi-cluster -n control-plane -f helm/multi-cluster/values.yaml
+Release "multi-mogdb" has been upgraded. Happy Helming!
+NAME: multi-mogdb
+LAST DEPLOYED: Tue Jul 18 23:14:01 2023
+NAMESPACE: control-plane
+STATUS: deployed
+REVISION: 5
+TEST SUITE: None
+NOTES:
+Thank you for deploying MogDB Multi Cluster!
+```
+
+此时,切换只主数据中心并观察内容:
+
+```shell
+# 检查主数据中心
+$ kubectl config --kubeconfig ~/.kube/config use-context kind-mogdb-stack-0
+$ kubectl get all -n mogdb-operator-system --selector="mogdb.enmotech.io/cluster=dc0"
+NAME READY STATUS RESTARTS AGE
+pod/dc0-auto-full-28161560-qjnwr 0/1 Completed 0 5m37s
+
+NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE
+cronjob.batch/dc0-auto-full */10 * * * * False 0 78s
+
+NAME COMPLETIONS DURATION AGE
+job.batch/dc0-auto-full-28161560 1/1 5m23s 31m
+```
+
+您会发现一个关于 backup 的 cronjob 已经启动了,且创建了第一次备份任务,等待该任务状态为 completed。第一次备份就完成了!与此同时,cronjob 仍会根据周期配置定期执行备份任务。
+
+
+
+## 从备份中恢复
+
+从备份中恢复时需要在描述文件中指定 restore 相关内容。
+
+在 helm 中,只需修改 values 文件中的 对应数据中心描述的 .restore 内容即可。有关恢复配置的详细说明,请参考[恢复](../../references/server/crd/mogdbclusters.md#mogdbCluster.spec.restore)。
+
+由于从备份中恢复为创建新集群,因此需要定制新的 values 文件,示例的 values 文件如下:
+
+```yaml
+primaryDC:
+ name: dc0-backup
+ namespace: data-plane0
+ region: "dc0"
+ kubeContextName: "data-plane0"
+ spec:
+ replica: 2
+ readPort: 30012
+ writePort: 30013
+ mogdb:
+ resources:
+ limits:
+ cpu: 500m
+ memory: 1Gi
+ requests:
+ cpu: 500m
+ memory: 1Gi
+ volume:
+ dataVolumeSize: 2Gi
+ backupVolumeSize: 2Gi
+ storageClass: default
+
+
+templates:
+ replica: 2
+ service:
+ readPort: 30012
+ writePort: 30013
+ mogdb:
+ resources:
+ limits:
+ cpu: 500m
+ memory: 1Gi
+ requests:
+ cpu: 500m
+ memory: 1Gi
+ volume:
+ dataVolumeSize: 1Gi
+ backupVolumeSize: 1Gi
+ storageClass: default
+ ha:
+ url: http://mogdb-ha.mogdb-ha.svc.cluster.local:6544
+ images:
+ imagePullPolicy: IfNotPresent
+ mogdbImage: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/mogdb:3.0.4
+ initImage: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/mogdb:3.0.4
+ exporterImage: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/mogdb-exporter:3.0.3
+
+restore:
+ restoreId: "001"
+ dataSource:
+ type: "object"
+ backupType: basebackup
+ clusterName: dc0
+ storageProvider:
+ rcloneStorage:
+ name: s3-remote
+ directory: backup
+ target: basebackup-2023-07-18-15-25-11.tar.gz
+ image: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/remote-client:3.0.0
+```
+
+> 注意:
+>
+> 恢复数据源需与备份配置保持一致,其中 target 为位于备份存储上的目标文件。
+>
+> 备份数据源中的 clusterName,为老集群中 primaryDC 的名字,而非 multicluster 的名字。
+>
+> 新集群与老集群所在位置需一致。即 primaryDC.namespace 与 primaryDC.kubeContextName 需要保持一致。
+
+随后执行创建操作:
+
+```shell
+helm install mogdb-stack/multi-cluster -n [-f ] [--set =...]
+```
+
+期望输出:
+
+```shell
+$ helm install multi-mogdb-backup helm/multi-cluster -n control-plane -f helm/multi-cluster/values.yaml
+NAME: multi-mogdb-backup
+LAST DEPLOYED: Tue Jul 18 23:49:23 2023
+NAMESPACE: control-plane
+STATUS: deployed
+REVISION: 1
+TEST SUITE: None
+NOTES:
+Thank you for deploying MogDB Multi Cluster!
+```
+
+以下命令将检查恢复出的 MogDB 集群是否正常运行:
+
+```shell
+kubectl config --kubeconfig use-context \
+&& kubectl get all -n --selector="mogdb.enmotech.io/multi-cluster-name="
+```
+
+预期输出:
+
+```shell
+# 检查主数据中心
+$ kubectl config --kubeconfig ~/.kube/config use-context kind-mogdb-stack-0
+$ kubectl get all -n mogdb-operator-system --selector="mogdb.enmotech.io/cluster=dc0-backup"
+NAME READY STATUS RESTARTS AGE
+pod/dc0-backup-sts-rctcq-0 2/2 Running 0 3m43s
+pod/dc0-backup-sts-9c4z7-0 2/2 Running 0 54s
+
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+service/dc0-backup-svc-master NodePort 10.96.80.185 26000:30011/TCP 3m43s
+service/dc0-backup-svc-replicas NodePort 10.96.35.250 26000:30010/TCP 3m43s
+```
+
+等待所有 Pod 资源处于 Running 状态,意味着集群恢复成功。
+
+
+
+## 克隆集群
+
+克隆集群与从备份中恢复过程相同,请参考[从备份中恢复](#从备份中恢复)。
diff --git a/product/zh/docs-mogdb-stack/v3.0/tutorial/multi-cluster/connect-to-mogdb.md b/product/zh/docs-mogdb-stack/v3.0/tutorial/multi-cluster/connect-to-mogdb.md
new file mode 100644
index 0000000000000000000000000000000000000000..629c6e350a1c9d599b34e114d96a1638dc51481a
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/tutorial/multi-cluster/connect-to-mogdb.md
@@ -0,0 +1,102 @@
+---
+date: 2023-06-30
+author: houzhen.su
+title: 连接 mogdb 集群
+summary: 连接 mogdb 集群
+---
+
+# 连接 MogDB 集群
+
+## 创建用户
+
+在连接之前,需要创建用于连接数据库的用户。可以通过 kubectl 命令连接到主节点所在容器。
+
+> **注意**:数据库内置用户 `mogdb` 用于 operator 管理集群使用,请**不要**修改该用户的相关内容。
+
+```shell
+# 切换到主节点所在机房
+kubectl config --kubeconfig use-context
+
+# 进入数据库所在节点
+kubectl exec -it pod/mogdb-cluster-sts-jxtqn-0 -c mogdb -n mogdb-operator-system -- /bin/bash
+
+# 连接数据库
+gosu omm gsql -dpostgres
+```
+
+创建用户:
+
+```sql
+create user "" with login password "" ;
+```
+
+期望输出:
+
+```shell
+# 切换到主节点所在机房
+$ kubectl config --kubeconfig ~/.kube/config use-context kind-mogdb-stack-1
+Switched to context "kind-mogdb-stack-1".
+
+$ kubectl exec -it pod/dc0-sts-82lgq-0 -c mogdb -n mogdb-operator-system -- /bin/bash
+
+root@dc0-sts-82lgq-0:/# gosu omm gsql -dpostgres
+
+gsql ((MogDB 3.0.4 build cc068866) compiled at 2023-03-03 17:46:59 commit 0 last mr )
+Non-SSL connection (SSL connection is recommended when requiring high-security)
+Type "help" for help.
+
+MogDB=# create user test with login password "P@55w0rd!" ;
+CREATE ROLE
+```
+
+之后您可根据需求对用户进行授权。
+
+
+
+## 连接到 MogDB
+
+### 1.安装 gsql 客户端
+
+相关内容请参考 [gsql | MogDB Docs](https://docs.mogdb.io/zh/mogdb/v3.1/gsql)。
+
+### 2.连接到 MogDB 集群
+
+默认情况下,MogDB Operator 将创建两个服务, 一个负载到主节点,一个负载到从节点。
+
+首先获取所有可用服务的列表:
+
+```shell
+kubectl get svc -n --selector="mogdb.enmotech.io/cluster="
+```
+
+预期输出:
+
+```shell
+$ kubectl get svc -n mogdb-operator-system --selector="mogdb.enmotech.io/cluster=dc0"
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+service/dc0-svc-master NodePort 10.96.58.154 26000:30013/TCP 10m
+service/dc0-svc-replicas NodePort 10.96.17.44 26000:30012/TCP 10m
+```
+
+可以看到,主节点 service 开放端口为 30013,从节点 service 开放端口为 30012。您可以使用以下命令连接到数据库:
+
+```shell
+gsql -h 127.0.0.1 -p 30013 -d postgres -U -W
+```
+
+期望输出:
+
+```shell
+$ gsql -h 127.0.0.1 -p 30013 -d postgres -U test -W P@55w0rd!
+gsql ((MogDB 3.0.4 build cc068866) compiled at 2023-03-03 17:46:59 commit 0 last mr )
+Non-SSL connection (SSL connection is recommended when requiring high-security)
+Type "help" for help.
+
+MogDB=>
+```
+
+
+
+### 3.在 Kubernetes 集群之外
+
+默认情况下,MogDB Operator 创建的服务类型为 NodePort,可将 service 端口和主机端口映射起来。只需要连接 "Host:Port" 即可。
diff --git a/product/zh/docs-mogdb-stack/v3.0/tutorial/multi-cluster/create-mogdb-cluster.md b/product/zh/docs-mogdb-stack/v3.0/tutorial/multi-cluster/create-mogdb-cluster.md
new file mode 100644
index 0000000000000000000000000000000000000000..f789572e8665e4a0a3e6b68b5d4a6699260fee8f
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/tutorial/multi-cluster/create-mogdb-cluster.md
@@ -0,0 +1,229 @@
+---
+date: 2023-06-30
+author: houzhen.su
+title: 创建 mogdb 集群
+summary: 创建 mogdb 集群
+---
+
+# 创建多机房 MogDB 集群
+
+在开始本章前,请确保您已正确依据[开始](getting-started.md)完成 MogDB Stack 的安装与配置。
+
+**注意:确保多个机房之前的 kubernetes 网络互通,否则部署无法成功。**
+
+
+
+## 术语
+
+提前了解以下术语将有助于您阅读本文档。
+
+- 数据平面:数据层,mogdb 真实存在的位置;
+- 数据中心:每个数据平面被称为一个数据中心;
+- 控制平面:控制层,用于控制 mogdb 在多个数据中心上的分配逻辑;
+
+注意:控制平面、数据平面、数据中心均为逻辑概念。实际上,控制平面和数据平面出现在同一 kubernetes 集群中是被允许的,多个数据平面也可以同时出现在一个 kubernetes 集群中。**在生产环境中我们推荐将控制平面、数据平面分开部署。**
+
+
+
+## 前置条件
+
+- 已安装 [helm](https://helm.sh),具体请参考
+- 添加 [enmotech helm 发布仓](https://github.com/enmotech/charts)
+
+```shell
+helm repo add mogdb-stack https://enmotech.github.io/charts
+```
+
+ 期望输出:
+
+```shell
+$ helm repo add mogdb-stack https://enmotech.github.io/charts
+"mogdb-stack" has been added to your repositories
+
+$ helm search repo enmotech
+NAME CHART VERSION APP VERSION DESCRIPTION
+mogdb-stack/mogha 3.0.0 3.0.0 Helm chart for deploying MogDB Ha on Kubernetes
+mogdb-stack/mogdb-monitor 3.0.0 3.0.0 A Helm chart for Kubernetes
+mogdb-stack/mogdb-cluster 3.0.0 3.0.0 Helm chart for deploying MogDB Cluster on Kubernetes
+mogdb-stack/multi-cluster 3.0.0 3.0.0 Helm chart for deploying MogDB Multi Cluster on Kubernetes
+mogdb-stack/mogdb-operator 3.0.0 3.0.0 Helm chart for deploying MogDB Operator on Kubernetes
+mogdb-stack/multi-operator 3.0.0 3.0.0 Helm chart for deploying MogDB Multi Operator on Kubernetes
+```
+
+
+
+## 部署多机房 MogDB 集群
+
+> 由于多机房 mogdb 的 helm values 文件较为复杂。
+>
+> 我们建议您下载 helm values 文件并直接修改。而不是使用 --set 传递参数。
+
+```shell
+wget https://raw.githubusercontent.com/enmotech/mogdb-stack-examples/main/helm/multi-cluster/values.yaml
+```
+
+在本例中将其修改如下,有关设置的详细信息说明请参考 [mogdb multi cluster charts value](../../references/charts/multi-cluster.md):
+
+其中主数据中心设置为 kind-mogdb-stack-0 集群,部署在 mogdb-operator-system 命名空间;
+
+设置一个备份数据中心,在 kind-mogdb-stack-1 集群,部署在 mogdb-operator-system 命名空间;
+
+```yaml
+primaryDC:
+ name: dc0
+ region: "dc0"
+ namespace: mogdb-operator-system
+ kubeContextName: "kind-mogdb-stack-0"
+ spec:
+ replica: 2
+ readPort: 30012
+ writePort: 30013
+ mogdb:
+ resources:
+ limits:
+ cpu: 1
+ memory: 1Gi
+ requests:
+ cpu: 1
+ memory: 1Gi
+ volume:
+ dataVolumeSize: 2Gi
+ backupVolumeSize: 2Gi
+ storageClass: default
+
+standbyDCs:
+ - name: dc1
+ region: "dc1"
+ namespace: mogdb-operator-system
+ kubeContextName: "kind-mogdb-stack-1"
+ spec:
+ replica: 2
+ readPort: 30014
+ writePort: 30015
+ mogdb:
+ resources:
+ limits:
+ cpu: 500m
+ memory: 1Gi
+ requests:
+ cpu: 500m
+ memory: 1Gi
+ volume:
+ dataVolumeSize: 1Gi
+ backupVolumeSize: 1Gi
+ storageClass: default
+
+
+templates:
+ replica: 2
+ service:
+ readPort: 30012
+ writePort: 30013
+ mogdb:
+ resources:
+ limits:
+ cpu: 500m
+ memory: 1Gi
+ requests:
+ cpu: 500m
+ memory: 1Gi
+ volume:
+ dataVolumeSize: 1Gi
+ backupVolumeSize: 1Gi
+ storageClass: default
+ ha:
+ url: http://mogdb-ha.mogdb-ha.svc.cluster.local:6544
+ images:
+ imagePullPolicy: IfNotPresent
+ mogdbImage: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/mogdb:3.1.0
+ initImage: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/mogdb-init:3.1.0
+ sidecarImage: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/mogdb-agent:dev.001
+ exporterImage: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/mogdb-exporter:3.0.3
+
+backup: {}
+restore: {}
+```
+
+随后部署多机房 mogdb 集群:
+
+```shell
+helm install mogdb-stack/multi-cluster -n [-f ] [--set =...]
+```
+
+期望输出:
+
+```shell
+$ helm install multi-mogdb helm/multi-cluster -n control-plane -f values.yaml
+NAME: multi-mogdb
+LAST DEPLOYED: Tue Jul 18 11:56:46 2023
+NAMESPACE: control-plane
+STATUS: deployed
+REVISION: 1
+TEST SUITE: None
+NOTES:
+Thank you for deploying MogDB Multi Cluster!
+```
+
+
+
+## 检查安装
+
+以下命令将检查 MogDB 节点是否正确运行:
+
+```shell
+kubectl config --kubeconfig use-context \
+&& kubectl get all -n --selector="mogdb.enmotech.io/multi-cluster-name="
+```
+
+预期输出:
+
+```shell
+# 检查主数据中心
+$ kubectl config --kubeconfig ~/.kube/config use-context kind-mogdb-stack-1
+$ kubectl get all -n mogdb-operator-system --selector="mogdb.enmotech.io/cluster=dc0"
+NAME READY STATUS RESTARTS AGE
+pod/dc0-sts-82lgq-0 3/3 Running 0 10m
+pod/dc0-sts-vrgqh-0 3/3 Running 0 5m10s
+
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+service/dc0-svc-master NodePort 10.96.58.154 26000:30013/TCP 10m
+service/dc0-svc-replicas NodePort 10.96.17.44 26000:30012/TCP 10m
+
+NAME READY AGE
+statefulset.apps/dc0-sts-82lgq 1/1 10m
+statefulset.apps/dc0-sts-vrgqh 1/1 5m10s
+
+# 检查副本数据中心
+$ kubectl config --kubeconfig ~/.kube/config use-context kind-mogdb-stack-2
+$ kubectl get all -n mogdb-operator-system --selector="mogdb.enmotech.io/cluster=dc1"
+NAME READY STATUS RESTARTS AGE
+pod/dc1-sts-tvgc2-0 3/3 Running 0 58s
+pod/dc1-sts-vx4zt-0 3/3 Running 0 6m41s
+
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+service/dc1-svc-master NodePort 10.96.242.192 26000:30015/TCP 6m42s
+service/dc1-svc-replicas NodePort 10.96.43.104 26000:30014/TCP 6m42s
+
+NAME READY AGE
+statefulset.apps/dc1-sts-tvgc2 1/1 58s
+statefulset.apps/dc1-sts-vx4zt 1/1 6m41s
+```
+
+等待所有 Pod 资源处于 Running 状态,意味着集群创建成功。
+
+
+
+## 卸载集群
+
+以下命令将卸载集群:
+
+```shell
+helm uninstall -n
+```
+
+期望输出:
+
+```shell
+$ helm uninstall multi-mogdb -n mogdb-operator-system
+release "multi-mogdb" uninstalled
+```
diff --git a/product/zh/docs-mogdb-stack/v3.0/tutorial/multi-cluster/customize-mogdb-cluster.md b/product/zh/docs-mogdb-stack/v3.0/tutorial/multi-cluster/customize-mogdb-cluster.md
new file mode 100644
index 0000000000000000000000000000000000000000..a13a3a3c5a1dd297fb2666aa453defd63739db5a
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/tutorial/multi-cluster/customize-mogdb-cluster.md
@@ -0,0 +1,96 @@
+---
+date: 2023-06-30
+author: houzhen.su
+title: 定制您的多机房 MogDB 集群
+summary: 定制您的多机房 MogDB 集群
+---
+
+# 定制您的多机房 MogDB 集群
+
+我们提供了两种方式供您创建 MogDB 集群。包括使用 helm,或者使用 manifest。请按需选择。
+
+如若需要高度自定义多机房 mogdb 集群,我们建议您编写 multi-cluster manifest,绕过 helm 的限制。
+
+
+
+## 使用 helm
+
+helm 安装集群自定义 MogDB 集群的配置有很多种。 您可以在 [multi cluster values](../../references/charts/multi-cluster.md) 中了解所有这些选项。
+
+
+
+### 1.定义存储
+
+MogDB 定义了存储目录可用配置。
+
+数据库有各种不同的大小,而且这些大小肯定会随着时间而改变。因此能够指定要存储 MogDB 数据的 PVC 大小是很有帮助的。
+
+
+
+**定义 MogDB 数据目录**
+
+helm 依据 values 值允许您使用 `--set mogdb.volume.dataVolumeSize=` 标志选择 `MogDB 数据目录`的大小。PVC 大小应该使用标准的 Kubernetes 资源单元,例如 128Mi。
+
+以下命令将创建一个具有 20Gi 大小目录的 MogDB 集群:
+
+```shell
+helm install mogdb-stack/mogdb-cluster -n --set mogdb.volume.dataVolumeSize=20Gi
+```
+
+并且还可以使用 `--set mogdb.volume.storageClass=` 的标志来配置自定义存储类
+
+
+
+### 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**
+
+helm 依据 values 提供了几个标志来帮助管理 MogDB 实例的资源:
+
++ mogdb.resources.limits.cpu:指定 MogDB 实例的 CPU 限制
++ mogdb.resources.requests.cpu:指定 MogDB 实例的 CPU 请求
++ mogdb.resources.limits.memory: 指定 MogDB 实例的内存限制
++ mogdb.resources.requests.memory:指定 MogDB 实例的内存请求
+
+以下命令将创建一个 CPU 请求为 1.0,CPU 限制为 2.0,内存请求为 1Gi,内存限制为 2Gi 的 MogDB 集群:
+
+```shell
+helm install mogdb-stack/mogdb-cluster/ -n \
+--set mogdb.resources.limits.cpu=2.0 --set mogdb.resources.limits.memory=2Gi \
+--set mogdb.resources.requests.cpu=1.0 --set mogdb.resources.requests.memory=1Gi
+```
+
+
+
+### 3.创建高可用性 MogDB 集群
+
+高可用性允许您部署具有冗余的 MogDB 集群,即使您的主实例发生停机事件,您的应用程序也可以访问它们。MogDB 集群使用 Kubernetes 附带的分布式共识存储系统,因此可用性与 Kubernetes 集群的可用性相关联。
+
+要创建具有一个副节点的高可用性 MogDB 集群,您可以运行以下命令:
+
+```shell
+helm install mogdb-stack/mogdb-cluster/ -n --set replica=2
+```
+
+
+
+## 编写您的 manifest
+
+有关 multi-cluster CRD 的说明,请参考 [multiclusters](../../references/server/crd/multiclusters.md)。
+
+同时我们为您提供了 multi-cluster 的 manifest 样例,请参考 [multicluster 参考](../../references/server/sample/multicluster-sample.md)。
+
+通过参照 CRD 字段说明,对 manifest 对应字段进行修改,即可完成对 MogDB 集群的高度定制。
+
+
diff --git a/product/zh/docs-mogdb-stack/v3.0/tutorial/multi-cluster/getting-started.md b/product/zh/docs-mogdb-stack/v3.0/tutorial/multi-cluster/getting-started.md
new file mode 100644
index 0000000000000000000000000000000000000000..7586cbff5a6209b7af7f9bf025005c73a86d29e6
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/tutorial/multi-cluster/getting-started.md
@@ -0,0 +1,12 @@
+---
+date: 2023-06-30
+author: houzhen.su
+title: 开始
+summary: 开始
+---
+
+# 开始
+
+**注意:在本章中,除特别说明,所有命令均在控制平面进行。**
+
+如果您尚未安装多 kubernetes 集群模式 MogDB Stack,请参考[软件安装](../../installation/multi-helm.md)部分。
diff --git a/product/zh/docs-mogdb-stack/v3.0/tutorial/multi-cluster/high-availability.md b/product/zh/docs-mogdb-stack/v3.0/tutorial/multi-cluster/high-availability.md
new file mode 100644
index 0000000000000000000000000000000000000000..4bb272a2ee244f599bb838e09bf7559504317137
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/tutorial/multi-cluster/high-availability.md
@@ -0,0 +1,278 @@
+---
+date: 2023-06-30
+author: houzhen.su
+title: 高可用
+summary: 高可用
+---
+
+# 高可用
+
+## 概述
+
+高可用是 MogDB Stack 体系中的一个功能组件,以哨兵模式运行,并实时监测 MogDB 集群的运行状态,当监测到集群出现故障时,触发修复逻辑。
+
+发生切换的场景包括:
+
+- 机架掉电
+- 主库网络不可达
+- 数据库发生故障宕机
+- 数据库磁盘故障或者某些硬件故障
+
+在安装阶段我们已经部署了高可用组件。注意:HA 自身使用 dcs 保证高可用,当前仅支持 etcd,如果要将此用于生产环境,确认您安装高可用组件时使用了自定义的 etcd 集群,而非采取简易安装模式。
+
+
+
+
+
+## 使用高可用组件
+
+MogDB 集群通过 .spec.ha 描述高可用组件配置。
+
+其中 .spec.ha.scope 应为为集群名称,.spec.ha.url 应为高可用组件的访问路径。
+
+```yaml
+...
+sepc:
+ ha:
+ url:
+ scope:
+...
+```
+
+在 helm 中,只需修改 values 文件中的 对应数据中心描述的 .templates.ha 内容即可。本例中 values 文件如下:
+
+```yaml
+templates:
+ ha:
+ url: http://mogdb-ha.mogdb-ha.svc.cluster.local:6544
+...
+```
+
+
+
+## 测试高可用组件
+
+### 测试1:删除 service
+
+在[连接到 MogDB 集群](conntect-to-mogdb.md)中,我们观察到 operator 创建的服务,例如:
+
+```shell
+kubectl get svc -n mogdb-operator-system --selector="mogdb.enmotech.io/cluster=mogdb-cluster"
+```
+
+产生类似以下内容:
+
+```text
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+service/mogdb-cluster-svc-master NodePort 10.96.105.230 26000:30013/TCP 20m
+service/mogdb-cluster-svc-replicas NodePort 10.96.153.226 26000:30012/TCP 20m
+```
+
+在[连接到 MogDB 集群](connect-to-mogdb.md)中,我们使用应用程序连接到 mogdb-cluster-svc-master 服务。尝试删除这个服务:
+
+```shell
+kubectl delete svc mogdb-cluster-svc-master -n mogdb-operator-system
+```
+
+这看起来可能会造成停机场景,再次运行查看服务的命令:
+
+```shell
+kubectl get svc -n mogdb-operator-system --selector="mogdb.enmotech.io/cluster=mogdb-cluster"
+```
+
+得到类似以下的内容:
+
+```text
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+service/mogdb-cluster-svc-master NodePort 10.96.88.238 26000:30013/TCP 3s
+service/mogdb-cluster-svc-replicas NodePort 10.96.153.226 26000:30012/TCP 20m
+```
+
+operator 检测到主服务已被删除并且重新创建了它!连接 mogdb 的应用程序有可能没注意到此次事件的发生。
+
+
+
+### 测试2:删除单集群主节点
+
+StatefulSets 是一个 Kubernetes 对象,它提供了有用的机制来管理与有状态应用程序(例如数据库)交互的 Pod。它们提供了管理 Pod 的稳定机制,以帮助确保可以以可预测的方式检索数据。
+
+如果我们删除代表 MogDB 主节点的 Pod 会发生什么?首先,我们通过以下命令查询主节点:
+
+```shell
+kubectl get pods -n mogdb-operator-system --selector="mogdb.enmotech.io/role=primary"
+```
+
+得到类似以下结果:
+
+```text
+NAME READY STATUS RESTARTS AGE
+mogdb-cluster-sts-z6kz6-0 2/2 Running 0 27m24s
+```
+
+删除这个 pod:
+
+```shell
+kubectl delete pods mogdb-cluster-sts-z6kz6-0 -n mogdb-operator-system
+```
+
+此时查看主节点信息:
+
+```shell
+kubectl get pods -n mogdb-operator-system --selector="mogdb.enmotech.io/role=primary"
+```
+
+发现主节点已经切换到另外一个 pod 上:
+
+```text
+NAME READY STATUS RESTARTS AGE
+mogdb-cluster-sts-f5zqj-0 2/2 Running 0 27m35s
+```
+
+查看所有节点:
+
+```shell
+kubectl get pod -n mogdb-operator-system --selector="mogdb.enmotech.io/cluster=mogdb-cluster"
+```
+
+预期结果:
+
+```text
+NAME READY STATUS RESTARTS AGE
+pod/mogdb-cluster-sts-f5zqj-0 2/2 Running 0 27m42s
+pod/mogdb-cluster-sts-z6kz6-0 2/2 Running 0 11s
+```
+
+可以看到,在主节点 down 掉之后,不仅发生了主备切换,并且对删除了的节点进行了恢复,重新加入了集群。
+
+我们可以进入节点直接连接到 MogDB 实例并执行以下命令来验证他们的主备关系:
+
+```shell
+select pg_is_in_recovery();
+```
+
+如果返回结果为 **f**,则 MogDB 实例是主库;如果返回结果为 **t**,则 MogDB 实例是备库;
+
+
+
+### 测试3:删除多集群主节点
+
+在多个 MogDB 集群存在于多个中心的环境中时,主节点的 pod 被删除时依然可以进行主备切换,切换不局限于单中心,还可以跨中心切换。
+
+首先我们通过以下指令查看多集群有哪些节点:
+
+```shell
+kubectl get pods -A --selector="mogdb.enmotech.io/name=mogdb"
+```
+
+可以得到类似以下结果:
+
+```shell
+NAMESPACE NAME READY STATUS RESTARTS AGE
+data-plane1 dc1-sts-9dj5c-0 2/2 Running 0 4h25m
+data-plane1 dc1-sts-tmwxh-0 2/2 Running 0 4h25m
+data-plane2 dc2-sts-qhw2n-0 2/2 Running 0 4h25m
+data-plane2 dc2-sts-wcf5w-0 2/2 Running 1 (4h24m ago) 4h24m
+
+```
+
+可以看到目前有两个中心并分别存在两个 MogDB 的节点,通过以下指令获取主节点:
+
+```shell
+kubectl get pods -A --selector="mogdb.enmotech.io/role=primary"
+```
+
+可以得到类似以下结果:
+
+```shell
+NAMESPACE NAME READY STATUS RESTARTS AGE
+data-plane1 dc1-sts-9dj5c-0 2/2 Running 0 4h25m
+```
+
+删除这个 pod:
+
+```shell
+kubectl delete pod -n data-plane1 dc1-sts-9dj5c-0"
+```
+
+此时查看主节点信息:
+
+```shell
+kubectl get pods -A --selector="mogdb.enmotech.io/role=primary"
+```
+
+经过一小段时间后,发现主节点已经切换到另外一个中心的 pod 上:
+
+```shell
+NAMESPACE NAME READY STATUS RESTARTS AGE
+data-plane2 dc2-sts-wcf5w-0 2/2 Running 0 4h28m
+```
+
+查看所有节点:
+
+```shell
+kubectl get pods -A --selector="mogdb.enmotech.io/name=mogdb"
+```
+
+```shell
+NAMESPACE NAME READY STATUS RESTARTS AGE
+data-plane1 dc1-sts-9dj5c-0 2/2 Running 0 1m50s
+data-plane1 dc1-sts-tmwxh-0 2/2 Running 0 4h29m
+data-plane2 dc2-sts-qhw2n-0 2/2 Running 0 4h29m
+data-plane2 dc2-sts-wcf5w-0 2/2 Running 0 4h28m
+
+```
+
+
+
+### 测试4:使用命令行工具切换多集群主节点
+
+除了主节点的 pod 被删除会发生主节点切换外,还可以通过命令行工具 [multictl](../../references/client/multictl.md) 主动进行切换。
+
+首先查看所有节点:
+
+```shell
+kubectl get pods -A --selector="mogdb.enmotech.io/name=mogdb"
+```
+
+```shell
+NAMESPACE NAME READY STATUS RESTARTS AGE
+data-plane1 dc1-sts-9dj5c-0 2/2 Running 0 1m50s
+data-plane1 dc1-sts-tmwxh-0 2/2 Running 0 4h29m
+data-plane2 dc2-sts-qhw2n-0 2/2 Running 0 4h29m
+data-plane2 dc2-sts-wcf5w-0 2/2 Running 0 4h28m
+
+```
+
+此时查看主节点信息:
+
+```shell
+kubectl get pods -A --selector="mogdb.enmotech.io/role=primary"
+```
+
+主节点经过上一步的测试处于另 data-plane2 中心的 pod 上:
+
+```shell
+NAMESPACE NAME READY STATUS RESTARTS AGE
+data-plane2 dc2-sts-wcf5w-0 2/2 Running 0 4h28m
+```
+
+使用以下客户端命令进行主节点切换,将主节点切换到 data-plane1 中心:
+
+```shell
+multictl switch -c multi-cluster -n mogdb-operator-system -r dc1
+```
+
+此时查看主节点信息:
+
+```shell
+kubectl get pods -A --selector="mogdb.enmotech.io/role=primary"
+```
+
+可以看到这次的主节点和之前的都不同,且顺利的从 data-plane2 中心手动切换到了 data-plane1 中心:
+
+```shell
+NAMESPACE NAME READY STATUS RESTARTS AGE
+data-plane1 dc1-sts-tmwxh-0 2/2 Running 0 4h30m
+```
+
+
\ No newline at end of file
diff --git a/product/zh/docs-mogdb-stack/v3.0/tutorial/multi-cluster/resize-mogdb-cluster.md b/product/zh/docs-mogdb-stack/v3.0/tutorial/multi-cluster/resize-mogdb-cluster.md
new file mode 100644
index 0000000000000000000000000000000000000000..4838836f84cec858f9a0b00905337a8f945b7a36
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/tutorial/multi-cluster/resize-mogdb-cluster.md
@@ -0,0 +1,237 @@
+---
+date: 2023-06-30
+author: houzhen.su
+title: 扩容与缩容
+summary: 扩容与缩容
+---
+
+# 扩容与缩容
+
+## 垂直扩缩容
+
+当您需要对数据库进行垂直扩缩容时,需要修改 mogdb 集群描述文件,并执行更新操作。
+
+> 注意:垂直扩缩容会导致数据库节点重启。
+>
+> 注意:当前版本仅支持 CPU / 内存 扩容,不支持磁盘扩容。
+
+在 helm 中,只需修改 values 文件中的 对应数据中心描述的 .spec.mogdb.resources 内容即可。此处以扩容主数据中心为例,将 values 文件修改如下:
+
+```yaml
+primaryDC:
+...
+ spec:
+...
+ mogdb:
+ resources:
+ limits:
+ cpu: 2
+ memory: 2Gi
+ requests:
+ cpu: 2
+ memory: 2Gi
+...
+```
+
+随后执行更新操作:
+
+```shell
+helm upgrade mogdb-stack/multi-cluster -n [-f ] [--set =...]
+```
+
+期望输出:
+
+```shell
+$ helm upgrade multi-mogdb helm/multi-cluster -n control-plane -f helm/multi-cluster/values.yaml
+Release "multi-mogdb" has been upgraded. Happy Helming!
+NAME: multi-mogdb
+LAST DEPLOYED: Tue Jul 18 14:18:46 2023
+NAMESPACE: control-plane
+STATUS: deployed
+REVISION: 2
+TEST SUITE: None
+NOTES:
+Thank you for deploying MogDB Multi Cluster!
+```
+
+以下命令将检查 MogDB 节点是否正确运行:
+
+```shell
+kubectl config --kubeconfig use-context \
+&& kubectl get all -n --selector="mogdb.enmotech.io/multi-cluster-name="
+```
+
+预期输出:
+
+```shell
+# 检查主数据中心
+$ kubectl config --kubeconfig ~/.kube/config use-context kind-mogdb-stack-0
+$ kubectl get all -n mogdb-operator-system --selector="mogdb.enmotech.io/cluster=dc0"
+NAME READY STATUS RESTARTS AGE
+pod/dc0-sts-82lgq-0 3/3 Running 0 10m
+pod/dc0-sts-vrgqh-0 3/3 Running 0 5m10s
+
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+service/dc0-svc-master NodePort 10.96.58.154 26000:30013/TCP 10m
+service/dc0-svc-replicas NodePort 10.96.17.44 26000:30012/TCP 10m
+
+NAME READY AGE
+statefulset.apps/dc0-sts-82lgq 1/1 10m
+statefulset.apps/dc0-sts-vrgqh 1/1 5m10s
+```
+
+等待所有 Pod 资源重启并处于 Running 状态,意味着扩缩容成功。
+
+
+
+## 水平扩缩容
+
+### 1.增加/减少副本
+
+当您需要对数据库进行增加/减少副本时,需要修改 mogdb 集群描述文件,并执行更新操作。
+
+在 helm 中,只需修改 values 文件中的 对应数据中心描述的 .spec.replica 内容即可。此处以第一备份数据中心为例,将 values 文件修改如下:
+
+```yaml
+standbyDCs:
+ - name: dc1
+...
+ spec:
+ replica: 3
+...
+```
+
+随后执行更新操作:
+
+```shell
+helm upgrade mogdb-stack/multi-cluster -n [-f ] [--set =...]
+```
+
+期望输出:
+
+```shell
+$ helm upgrade multi-mogdb helm/multi-cluster -n control-plane -f helm/multi-cluster/values.yaml
+Release "multi-mogdb" has been upgraded. Happy Helming!
+NAME: multi-mogdb
+LAST DEPLOYED: Tue Jul 18 15:25:47 2023
+NAMESPACE: control-plane
+STATUS: deployed
+REVISION: 3
+TEST SUITE: None
+NOTES:
+Thank you for deploying MogDB Multi Cluster!
+```
+
+以下命令将检查 MogDB 节点是否正确运行:
+
+```shell
+kubectl config --kubeconfig use-context \
+&& kubectl get all -n --selector="mogdb.enmotech.io/multi-cluster-name="
+```
+
+预期输出:
+
+```shell
+# 检查主数据中心
+$ kubectl config --kubeconfig ~/.kube/config use-context kind-mogdb-stack-1
+$ kubectl get all -n mogdb-operator-system --selector="mogdb.enmotech.io/cluster=dc1"
+NAME READY STATUS RESTARTS AGE
+pod/dc1-sts-k54h2-0 2/2 Running 0 110m
+pod/dc1-sts-mstmj-0 2/2 Running 0 55s
+pod/dc1-sts-xvczp-0 2/2 Running 0 111m
+
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+service/dc0-svc-master NodePort 10.96.58.154 26000:30013/TCP 10m
+service/dc0-svc-replicas NodePort 10.96.17.44 26000:30012/TCP 10m
+
+NAME READY AGE
+statefulset.apps/dc0-sts-82lgq 1/1 10m
+statefulset.apps/dc0-sts-vrgqh 1/1 5m10s
+```
+
+可以看到新增副本 pod/dc1-sts-mstmj-0,等待所有 Pod 资源处于 Running 状态,意味着扩缩容成功。
+
+
+
+### 2.增加数据中心
+
+> **注意:由于减少数据中心有重大风险,mogdb 当前不支持减少数据中心。**
+
+当您需要对数据库进行增加数据中心时,需要修改 mogdb 集群描述文件,并执行更新操作。
+
+在 helm 中,只需在 values 文件中的增加/减少对应的数据中心描述内容即可。此处以增加备份数据中心为例,将 values 文件修改如下:
+
+```yaml
+standbyDCs:
+ - name: dc1
+...
+ - name: dc2
+ namespace: data-plane2
+ region: "dc2"
+ kubeContextName: "data-plane2"
+ spec:
+ replica: 2
+ readPort: 30016
+ writePort: 30017
+ mogdb:
+ resources:
+ limits:
+ cpu: 500m
+ memory: 1Gi
+ requests:
+ cpu: 500m
+ memory: 1Gi
+ volume:
+ dataVolumeSize: 1Gi
+ backupVolumeSize: 1Gi
+ storageClass: default
+```
+
+随后执行更新操作:
+
+```shell
+helm upgrade mogdb-stack/multi-cluster -n [-f ] [--set =...]
+```
+
+期望输出:
+
+```shell
+$ helm upgrade multi-mogdb helm/multi-cluster -n control-plane -f helm/multi-cluster/values.yaml
+Release "multi-mogdb" has been upgraded. Happy Helming!
+NAME: multi-mogdb
+LAST DEPLOYED: Tue Jul 18 15:30:46 2023
+NAMESPACE: control-plane
+STATUS: deployed
+REVISION: 5
+TEST SUITE: None
+NOTES:
+Thank you for deploying MogDB Multi Cluster!
+```
+
+以下命令将检查 MogDB 节点是否正确运行:
+
+```shell
+kubectl config --kubeconfig use-context \
+&& kubectl get all -n --selector="mogdb.enmotech.io/multi-cluster-name="
+```
+
+预期输出:
+
+```shell
+# 检查主数据中心
+$ kubectl config --kubeconfig ~/.kube/config use-context kind-mogdb-stack-2
+$ kubectl get all -n mogdb-operator-system --selector="mogdb.enmotech.io/cluster=dc2"
+NAME READY STATUS RESTARTS AGE
+pod/dc2-sts-juyxc-0 2/2 Running 0 55s
+pod/dc2-sts-ftghx-0 2/2 Running 0 55s
+
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+service/dc0-svc-master NodePort 10.96.58.154 26000:30017/TCP 55s
+service/dc0-svc-replicas NodePort 10.96.17.44 26000:30016/TCP 55s
+
+NAME READY AGE
+statefulset.apps/dc0-sts-82lgq 1/1 55s
+statefulset.apps/dc0-sts-vrgqh 1/1 55s
+```
+
+可以看到新的数据中心已经创建出了两个 mogdb 副本节点,等待所有 Pod 资源处于 Running 状态,意味着扩缩容成功。
diff --git a/product/zh/docs-mogdb-stack/v3.0/tutorial/single-cluster/backup-mogdb-cluster.md b/product/zh/docs-mogdb-stack/v3.0/tutorial/single-cluster/backup-mogdb-cluster.md
new file mode 100644
index 0000000000000000000000000000000000000000..17816cb10dd61e5df6ccc2d60b8fde29372f1b49
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/tutorial/single-cluster/backup-mogdb-cluster.md
@@ -0,0 +1,168 @@
+---
+title: 备份MogDB集群
+summary: 备份MogDB集群
+author: Wang Dong
+date: 2022-07-12
+---
+
+# 备份
+
+本文档介绍如何对 Kubernetes 上的 MogDB 集群进行数据备份和数据恢复。数据备份是 MogDB 集群的一个重要部分,我们可以执行数据库生命周期中可能发生的许多常见和高级操作:
+
++ 设置自动备份计划和保留策略
+
++ 进行一次性/临时备份
+
++ 执行“时间点恢复”
+
++ 将数据克隆到新实例
+
+以及更多。
+
+## 设置备份存储库
+
+备份存储位置我们以S3为例,在安装mogdb-operator时候已经对 s3 配置做了初始化,我们可以通过以下命令观察它的配置信息:
+
+```shell
+kubectl get cm mogdb-operator-rclone-config -n mogdb-operator-system
+```
+
+观察配置信息,有类似以下内容:
+
+```yaml
+...
+data:
+ rclone.conf: |
+ [s3-remote]
+ type=s3
+ provider=Minio
+ endpoint=http://10.96.107.225:9000
+ access_key_id=root
+ secret_access_key=root@123
+...
+```
+
+根据实际配置修改 S3 配置的endpoint,key 和 secret。
+
+
+
+## 备份管理
+
+MogDB 集群的备份配置位于 **spec.backup** 自定义资源部分,了解以下字段信息帮助您为 MogDB 集群配置备份设置:
+
++ **spec.backup.image** - 指定备份所使用的镜像
+
++ **spec.backup.auto** - 创建一个备份计划,它会定期执行备份
+
++ **spec.backup.manual** - 创建一个一次性备份,它会是临时需要备份的最佳选择
+
++ **spec.backup.auto.backupType** - 指定备份类型,分为 `basebackup` 物理备份,`dumpall` 逻辑备份两种,当然 **spec.backup.manual.backupType** 是一次性备份的备份类型配置
+
+
+
+### 管理备份计划
+
+operator 对于 MogDB 集群设置备份计划,他将不断的将备份内容存储在备份存储库中。
+
+对于备份类型, 提供 **full** 全量备份,**incremental** 增量备份的方式帮助您从空间管理和优化策略上做出抉择。并且 **spec.backup.auto.backupSchedules.full** 或者 **spec.backup.auto.backupSchedules.incremental** 字段类容 接受一个 [**cron 格式**](https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/cron-jobs/#cron-schedule-syntax)的字符串,该字符串设置备份计划。
+
+例如,假设我们的备份策略是每周日凌晨 1 点进行全量备份。按照以下规范内容配置:
+
+```yaml
+spec:
+ backup:
+ auto:
+ name: "auto"
+ backupSchedules:
+ full: "0 1 * * 0"
+ storageProvider:
+ rcloneStorage:
+ name: s3-remote
+ directory: backup
+ backupType: basebackup
+ image: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/remote-client:3.0.0
+```
+
+为了管理计划备份,operator 将创建多个 Kubernetes CronJobs,这些作业将在指定时间段执行备份。备份将使用您指定的配置。
+
+确保定期进行备份对于维护 MogDB 集群的健康状况非常重要。但是,您不需要保留所有备份:这可能会导致您耗尽空间!因此,设置备份保留策略也很重要。
+
+
+
+### 管理备份保留
+
+您可以设置多种类型备份保留:
+
++ **spec.backup.auto.backupFileHistoryLimit** 备份文件保留数量限制
+
++ **spec.backup.auto.failedJobsHistoryLimit** 失败备份任务数量限制
+
++ **spec.backup.auto.successfulJobsHistoryLimit** 成功备份任务数量限制
+
+让我们看一个备份计划中备份文件保留最多 7 个的示例:
+
+```yaml
+spec:
+ backup:
+ auto:
+ name: "auto"
+ backupSchedules:
+ full: "0 1 * * 0"
+ storageProvider:
+ rcloneStorage:
+ name: s3-remote
+ directory: backup
+ backupType: basebackup
+ image: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/remote-client:3.0.0
+ successfulJobsHistoryLimit: 7
+```
+
+
+
+### 进行一次性备份
+
+有时您可能需要进行一次性备份,例如在重大应用程序更改或更新之前。
+
+为了防止一个备份的反复提交我们需要一个 id 标识此次备份任务。**spec.backup.manual.id** 将满足这样的配置,您可以使用一个不重复的随机字符串填充它。
+
+我们看一下一次性备份的配置的示例
+
+```yaml
+spec:
+ backup:
+ image: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/remote-client:3.0.0
+ manual:
+ id: "001"
+ backupType: dumpall
+ storageProvider:
+ rcloneStorage:
+ name: s3-remote
+ directory: backup
+```
+
+
+
+ 我们来尝试一次性备份吧!运行以下命令:
+
+ ```shell
+ kubectl edit mogdbcluster mogdb-cluster -n mogdb-operator-system
+ ```
+
+ 将一次性备份配置示例填写于 **spec** 中,然后保存,预期结果:
+
+ ```shell
+ mogdbcluster.mogdb.enmotech.io/mogdb-cluster edited
+ ```
+
+此时,观察pods内容:
+
+```shell
+$ kubectl get pods
+NAME READY STATUS RESTARTS AGE
+mogdb-cluster-backup-xlhgf-wbm2s 1/1 Running 0 4s
+mogdb-cluster-sts-f5zqj-0 2/2 Running 0 176m
+mogdb-cluster-sts-z6kz6-0 2/2 Running 0 165m
+mogdb-operator-controller-manager-86d4cfd876-gg986 1/1 Running 0 3h5m
+```
+
+您会发现一个关于 backup 的 pod 已经启动了,等待这个 pod 状态为 completed。这次一次性备份就完成了!
diff --git a/product/zh/docs-mogdb-stack/v3.0/tutorial/single-cluster/conntect-to-mogdb-cluster.md b/product/zh/docs-mogdb-stack/v3.0/tutorial/single-cluster/conntect-to-mogdb-cluster.md
new file mode 100644
index 0000000000000000000000000000000000000000..4d1a1e417dd6d604bee5be778ad59c5e670c3218
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/tutorial/single-cluster/conntect-to-mogdb-cluster.md
@@ -0,0 +1,98 @@
+---
+title: 连接MogDB集群
+summary: 连接MogDB集群
+author: Wang Dong
+date: 2022-07-12
+---
+
+# 连接到 MogDB 集群
+
+在开始本章前,请确保您已正确依据[创建 MogDB 集群](create-a-mogdb-cluster.md)完成 MogDB 集群的安装。
+
+## 创建用户
+
+在连接之前,需要创建用于连接数据库的用户。可以通过 kubectl 命令连接到主节点所在容器。
+
+> **注意**:数据库内置用户 `mogdb` 用于 operator 管理集群使用,请**不要**修改该用户的相关内容。
+
+```shell
+# 进入数据库所在节点
+kubectl exec -it pod/mogdb-cluster-sts-jxtqn-0 -c mogdb -n mogdb-operator-system -- /bin/bash
+
+# 连接数据库
+gosu omm gsql -dpostgres
+```
+
+创建用户:
+
+```sql
+create user "" with login password "" ;
+```
+
+期望输出:
+
+```shell
+$ kubectl exec -it pod/dc0-sts-82lgq-0 -c mogdb -n mogdb-operator-system -- /bin/bash
+
+root@dc0-sts-82lgq-0:/# gosu omm gsql -dpostgres
+
+gsql ((MogDB 3.0.4 build cc068866) compiled at 2023-03-03 17:46:59 commit 0 last mr )
+Non-SSL connection (SSL connection is recommended when requiring high-security)
+Type "help" for help.
+
+MogDB=# create user test with login password "P@55w0rd!" ;
+CREATE ROLE
+```
+
+之后您可根据需求对用户进行授权。
+
+
+
+## 连接到 MogDB
+
+### 1.安装 gsql 客户端
+
+相关内容请参考 [gsql | MogDB Docs](https://docs.mogdb.io/zh/mogdb/v3.0/gsql)。
+
+### 2.连接到 MogDB 集群
+
+默认情况下,MogDB Operator 将创建三个有集群名称前缀的服务, 一个是主节点的 service,一个是从节点的 service,有一个带有负载均衡的headless service。
+
+以下命令将获取 `mogdb-operator-system` 命名空间中所有可用服务的列表:
+
+```shell
+kubectl get svc -n mogdb-operator-system
+```
+
+预期输出:
+
+```text
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+service/mogdb-cluster-svc-headless ClusterIP None 26000/TCP,9187/TCP 30m
+service/mogdb-cluster-svc-master NodePort 10.96.105.230 26000:30013/TCP 30m
+service/mogdb-cluster-svc-replicas NodePort 10.96.153.226 26000:30012/TCP 30m
+```
+
+可以看到,主节点 service 开放端口为 30013,从节点 service 开放端口为 30012。您可以使用以下命令连接到数据库:
+
+```shell
+gsql -h 127.0.0.1 -p 30013 -U mogdb -W P@55word!
+```
+
+然后应该会看到 mogdb 提示符:
+
+```text
+gsql ((MogDB 3.1.0 build aef997f9) compiled at 2022-11-24 00:02:35 commit 0 last mr )
+Non-SSL connection (SSL connection is recommended when requiring high-security)
+Type "help" for help.
+
+MogDB=>
+```
+
+
+
+### 3.在 Kubernetes 集群之外
+
+由 MogDB Operator 创建两个带有集群名称前缀的 service,service 的类型 type 设置为 NodePort,可将 service 端口和主机端口映射起来。
+
+只需要连接 “Host:Port” 即可。
\ No newline at end of file
diff --git a/product/zh/docs-mogdb-stack/v3.0/tutorial/single-cluster/create-a-mogdb-cluster.md b/product/zh/docs-mogdb-stack/v3.0/tutorial/single-cluster/create-a-mogdb-cluster.md
new file mode 100644
index 0000000000000000000000000000000000000000..abe495dbeb3168f5f894fe7f06ed21f551585afc
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/tutorial/single-cluster/create-a-mogdb-cluster.md
@@ -0,0 +1,171 @@
+---
+title: 创建MogDB集群
+summary: 创建MogDB集群
+author: Wang Dong
+date: 2022-07-12
+---
+
+# 创建 MogDB 集群
+
+在开始本章前,请确保您已正确依据[开始](getting-started.md)完成 MogDB Stack 的安装与配置。
+
+我们提供了两种方式供您创建 MogDB 集群。包括使用 kustomize,或者使用 helm。
+
+我们建议使用 helm 的方式。
+
+
+
+## 使用 helm
+
+### 1. 添加MogDB Stack仓库
+
+```shell
+helm repo add mogdb-stack https://enmotech.github.io/mogdb-stack-examples/helm/charts
+```
+
+期望输出:
+
+```text
+"mogdb-stack" has been added to your repositories
+```
+
+```shell
+helm search repo mogdb-stack
+```
+
+期望输出:
+
+```text
+NAME CHART VERSION APP VERSION DESCRIPTION
+mogdb-stack/mogdb-cluster 3.0.0 3.0.0 A Helm chart for Kubernetes
+mogdb-stack/mogdb-ha 3.0.0 3.0.0 A Helm chart for Kubernetes
+mogdb-stack/mogdb-monitor 3.0.0 3.0.0 A Helm chart for Kubernetes
+mogdb-stack/mogdb-operator 3.0.0 3.0.0 A Helm chart for Kubernetes
+mogdb-stack/multi-cluster 3.0.0 3.0.0 A Helm chart for Kubernetes
+mogdb-stack/multi-operator 3.0.0 3.0.0 A Helm chart for Kubernetes
+
+```
+
+
+
+### 2.部署 MogDB Cluster 集群
+
+```shell
+helm install mogdb-cluster mogdb-stack/mogdb-cluster --namespace mogdb-operator-system
+```
+
+期望输出:
+
+```shell
+NAME: mogdb-cluster
+LAST DEPLOYED: Wed Jul 12 05:59:33 2023
+NAMESPACE: mogdb-operator-system
+STATUS: deployed
+REVISION: 1
+TEST SUITE: None
+NOTES:
+Thank you for deploying MogDB Cluster!
+```
+
+注意:
+
+- 关于 Helm 中详细的参数定义,请查看[values相关配置](https://raw.githubusercontent.com/enmotech/mogdb-stack-examples/main/helm/mogdb-cluster/values.yaml);
+- 默认情况下使用您 kubernetes 集群中的`local-path`存储类;以及 `30012` 和 `30013` 端口用于读写;
+- 默认情况下需要开启高可用,请确保提前安装ha模块,详细请参看installation/helm章节;
+- 请确保高可用组件的正确设置,`ha.scope`设置为集群名称,`ha.url` 默认值为`http://mogdb-ha.mogdb-ha.svc.cluster.local:6544`的域名,面对特殊的网络情况需要修改 `ha.url`;
+
+
+
+### 3.检查安装
+
+以下命令将检查 MogDB 节点是否正确运行:
+
+```shell
+kubectl get pod,svc -n mogdb-operator-system --selector="mogdb.enmotech.io/cluster=mogdb-cluster"
+```
+
+预期输出:
+
+```shell
+NAME READY STATUS RESTARTS AGE
+pod/mogdb-cluster-sts-pt79s-0 2/2 Running 3 63s
+pod/mogdb-cluster-sts-st9c8-0 2/2 Running 3 110s
+
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+service/mogdb-cluster-svc-headless ClusterIP None 26000/TCP,9187/TCP 110s
+service/mogdb-cluster-svc-master NodePort 10.96.56.16 26000:30013/TCP 110s
+service/mogdb-cluster-svc-replicas NodePort 10.96.217.226 26000:30012/TCP 110s
+```
+
+等待所有Pod资源处于Running状态,意味着集群创建成功。
+
+## 使用 Kustomize
+
+### 前置条件
+
+- 安装Kustomize v3+
+
+ ```shell
+ go install sigs.k8s.io/kustomize/kustomize/v3@v3.8.7
+ ~/go/bin/kustomize version
+ ```
+
+ > 注意: kubectl 1.4+版本默认集成了Kustomize,无需单独安装。
+
+- 下载MogDB Operator examples
+
+ 首先,在GitHub上fork [MogDB Stack examples](https://github.com/enmotech/mogdb-stack-examples)仓库:
+
+
+
+ fork仓库之后,您可以通过类似如下的命令下载至本地:
+
+ ```shell
+ YOUR_GITHUB_UN=""
+ git clone --depth 1 "git@github.com:${YOUR_GITHUB_UN}/mogdb-stack-examples.git"
+ cd mogdb-stack-examples
+ ```
+
+ MogDB Operator安装项目在kustomize目录下。
+
+### 1.创建 MogDB Cluster
+
+```shell
+kubectl apply --server-side -k kustomize/mogdb-cluster/install/default
+```
+
+期望输出:
+
+```text
+mogdbcluster.mogdb.enmotech.io/mogdb-cluster created
+```
+
+注意:
+
+- 默认情况下使用您 kubernetes 集群中的 `local-path`存储类,以及 `30012` 和 `30013` 端口用于读写;
+- 默认情况下需要开启高可用,请确保提前安装ha模块,详细请参看installation/helm章节;
+- 请确保高可用组件的正确设置,`ha.scope`设置为集群名称,`ha.url` 默认值为`http://mogdb-ha.mogdb-ha.svc.cluster.local:6544`的域名,面对特殊的网络情况需要修改 `ha.url`;
+- 如果需要定制化,请查看kustomize目录下,有各种见场景的安装example;
+
+### 2.检查安装
+
+以下命令将检查 MogDB 节点是否正确运行:
+
+```shell
+kubectl get pod,svc -n mogdb-operator-system --selector="mogdb.enmotech.io/cluster=mogdb-cluster"
+```
+
+期望输出:
+
+```text
+NAME READY STATUS RESTARTS AGE
+pod/mogdb-cluster-sts-jxtqn-0 2/2 Running 0 20m
+pod/mogdb-cluster-sts-nbg9l-0 2/2 Running 0 19m
+
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+service/mogdb-cluster-svc-headless ClusterIP None 26000/TCP,9187/TCP 20m
+service/mogdb-cluster-svc-master NodePort 10.96.105.230 26000:30013/TCP 20m
+service/mogdb-cluster-svc-replicas NodePort 10.96.153.226 26000:30012/TCP 20m
+```
+
+等待所有Pod资源处于Running状态,意味着集群创建成功。
\ No newline at end of file
diff --git a/product/zh/docs-mogdb-stack/v3.0/tutorial/single-cluster/customize-a-mogdb-cluster.md b/product/zh/docs-mogdb-stack/v3.0/tutorial/single-cluster/customize-a-mogdb-cluster.md
new file mode 100644
index 0000000000000000000000000000000000000000..f6d67d5256ce7b684d5798fbc12837b5ff7295a8
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/tutorial/single-cluster/customize-a-mogdb-cluster.md
@@ -0,0 +1,101 @@
+---
+title: 定制MogDB集群
+summary: 定制MogDB集群
+author: Wang Dong
+date: 2023-07-12
+---
+
+# 定制 MogDB 集群
+
+我们提供了两种方式供您创建 MogDB 集群。包括使用 helm,或者使用 manifest。请按需选择。
+
+我们建议使用 helm 方式。本章中我们将重点对 helm 方式进行阐述。
+
+
+
+## 自定义 MogDB 集群
+
++ 指定 MogDB 版本
++ 自定义 MogDB 配置
++ 高可用性(如定制副本)
++ 资源分配(如内存、计算、存储)
+
+
+
+## 使用 helm
+
+helm 安装集群自定义 MogDB 集群的配置有很多种。 您可以在[values相关配置](https://raw.githubusercontent.com/enmotech/mogdb-stack-examples/main/helm/mogdb-cluster/values.yaml) 中了解所有这些选项。
+
+
+
+### 1.定义存储
+
+MogDB 共定义了存储目录可用配置:
+
+数据库有各种不同的大小,而且这些大小肯定会随着时间而改变。因此能够指定要存储 MogDB 数据的 PVC 大小是很有帮助的。
+
+
+
+#### 定义 MogDB 数据目录
+
+helm 依据values值允许您使用 `--set mogdb.volume.dataVolumeSize=` 标志选择 `MogDB 数据目录`的大小。PVC 大小应该使用标准的 Kubernetes 资源单元,例如 128Mi。
+
+以下命令将创建一个具有 20Gi 大小目录的 MogDB 集群:
+
+```shell
+helm install clusterName mogdb-stack/mogdb-cluster/ -n mogdb-operator-system --set mogdb.volume.dataVolumeSize=20Gi
+```
+
+并且还可以使用 `--set mogdb.volume.storageClass=` 的标志来配置自定义存储类
+
+
+
+### 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
+
+helm 依据values提供了几个标志来帮助管理 MogDB 实例的资源:
+
++ mogdb.resources.requests.cpu:指定 MogDB 实例的 CPU 请求
++ mogdb.resources.limits.cpu:指定 MogDB 实例的 CPU 限制
++ mogdb.resources.requests.memory:指定 MogDB 实例的内存请求
++ mogdb.resources.limits.memory: 指定 MogDB 实例的内存限制
+
+以下命令将创建一个 CPU 请求为 1.0,CPU 限制为 2.0,内存请求为 1Gi,内存限制为 2Gi 的 MogDB 集群:
+
+```shell
+helm install clusterName mogdb-stack/mogdb-cluster/ -n mogdb-operator-system \
+--set mogdb.resources.requests.cpu=1.0 \
+--set mogdb.resources.limits.cpu=2.0 \
+--set mogdb.resources.requests.memory=1Gi \
+--set mogdb.resources.limits.memory=2Gi
+```
+
+
+
+### 3.创建高可用性 MogDB 集群
+
+高可用性允许您部署具有冗余的 MogDB 集群,即使您的主实例发生停机事件,您的应用程序也可以访问它们。MogDB 集群使用 Kubernetes 附带的分布式共识存储系统,因此可用性与 Kubernetes 集群的可用性相关联。
+
+要创建具有一个副节点的高可用性 MogDB 集群,您可以运行以下命令:
+
+```shell
+helm install clusterName mogdb-stack/mogdb-cluster/ -n mogdb-operator-system --set replica=2
+```
+
+
+
+## 使用 manifest
+
+您可参照 [CRD 参考](../references/server/crd-references.md)以及[manifest demo](../references/server/mogdbcluster-sample.md)进行集群的定制。通过参照 CRD 字段说明,对 manifest 对应字段进行修改,即可完成对 MogDB 集群的高度定制。
\ No newline at end of file
diff --git a/product/zh/docs-mogdb-stack/v3.0/tutorial/single-cluster/getting-started.md b/product/zh/docs-mogdb-stack/v3.0/tutorial/single-cluster/getting-started.md
new file mode 100644
index 0000000000000000000000000000000000000000..45bf27b6095a4e5bf636d54e1b5df03abfd5e598
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/tutorial/single-cluster/getting-started.md
@@ -0,0 +1,10 @@
+---
+title: 开始
+summary: 开始
+author: Wang Dong
+date: 2023-07-05
+---
+
+# 开始
+
+如果您尚未安装单 kubernetes 集群模式 MogDB Stack,请参考[软件安装](../../installation/single-helm.md)部分。
\ No newline at end of file
diff --git a/product/zh/docs-mogdb-stack/v3.0/tutorial/single-cluster/high-availability.md b/product/zh/docs-mogdb-stack/v3.0/tutorial/single-cluster/high-availability.md
new file mode 100644
index 0000000000000000000000000000000000000000..58a397253bb8e8b6057b2d7c5641370cd4db6d27
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/tutorial/single-cluster/high-availability.md
@@ -0,0 +1,254 @@
+---
+title: 高可用
+summary: 高可用
+author: Wang Dong
+date: 2022-07-12
+---
+
+# 高可用
+
+## 概述
+
+高可用是 MogDB Stack 体系中的一个功能组件,以哨兵模式运行,并实时监测 MogDB 集群的运行状态,当监测到集群出现故障时,触发修复逻辑。
+
+发生切换的场景包括:
+
+- 机架掉电
+- 主库网络不可达
+- 数据库发生故障宕机
+- 数据库磁盘故障或者某些硬件故障
+
+
+
+
+
+## 开启高可用组件
+
+> HA 自身使用 dcs 保证高可用,当前仅支持 etcd,因此在启动组件时,需要准备一个高可用 etcd 集群,并将连接信息配置到 HA 中。
+
+### 1.前置条件
+
+- 已安装 kustomize v3+;
+- 已安装 MogDB Operator;
+- 若您需要正式开始高可用组件,而非进行高可用体验,请准备高可用 etcd 集群;
+
+
+
+### 2.获取安装包
+
+在GitHub上fork [MogDB Stack examples](https://github.com/enmotech/mogdb-stack-examples)仓库:
+
+
+
+fork仓库之后,您可以通过类似如下的命令下载至本地:
+
+```shell
+YOUR_GITHUB_UN=""
+git clone --depth 1 "git@github.com:${YOUR_GITHUB_UN}/mogdb-stack-examples.git"
+cd mogdb-stack-examples
+```
+
+
+
+### 3.部署高可用组件
+
+HA 组件安装目录位于安装包中的 `kustomize/mogdb-ha` 目录下。
+
+**特别注意:默认情况下我们使用简易安装模式,即将 `etcd` 与 `ha` 部署在同一 pod 中,以供体验组件服务。若要正式使用该组件,请注意跟随 `kustomization.yaml` 文件中的指示注释掉 `patches/deployment-container-etcd.yaml` 一行,并修改 `patches/deployment-container-mogha.yaml` 文件,以传递您准备好的高可用 `etcd` 集群连接信息,该文件还允许您传递其它参数,具体参数列表请参考[参数列表](#参数列表)**。
+
+确保您编辑好高可用组件参数后,以下命令将部署高可用组件:
+
+```shell
+kustomize build kustomize/mogdb-ha | kubectl apply -f -
+```
+
+预期输出:
+
+```shell
+namespace/mogdb-ha serverside-applied
+serviceaccount/mogdb-ha serverside-applied
+clusterrole.rbac.authorization.k8s.io/mogdb-ha-role serverside-applied
+clusterrolebinding.rbac.authorization.k8s.io/mogdb-ha-rolebinding serverside-applied
+secret/mogdb-ha-huawei-registry serverside-applied
+service/mogdb-ha serverside-applied
+deployment.apps/mogdb-ha serverside-applied
+```
+
+
+
+### 4.检查安装
+
+ha 组件默认安装在 `mogdb-ha` 命名空间中:
+
+```shell
+kubectl get pods,svc -n mogdb-ha
+```
+
+预期输出:
+
+```shell
+NAME READY STATUS RESTARTS AGE
+pod/mogdb-ha-55cdbc7855-xfb8g 2/2 Running 0 44s
+
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+service/mogdb-ha ClusterIP 10.107.90.105 6544/TCP 44s
+```
+
+
+
+### 5.注册高可用组件
+
+在高可用组件部署成功后,需要将其注册至 MogDB Operator 中,以便正常使用高可用组件的功能。
+
+在[4.检查安装](#4检查安装)中,我们得到 mogdb-ha 服务的 endpoints,现在将其注册到 MogDB Operator 中,MogDB Operator 默认安装在 `mogdb-operator-system` 命名空间中:
+
+```shell
+kubectl edit configmap mogdb-operator-global-config -n mogdb-operator-system
+```
+
+之后修改 `.data.config.json` 中的 `haServices` 部分,将 endpoints 填入其中,并保存退出。
+
+> tips:
+>
+> 在 kubernetes 中,我们一般不推荐使用 cluster-ip:port 的方式,因为 cluster-ip 并不是一个定值,我们推荐使用 kubernetes 的域名解析,其中 service 的 endpoints 遵循结构 `http://namespace.service-name.kubernetes-domain-name`。
+>
+> 在本例中,namespace 为 mogha,service-name 为 mogdb-ha,kubernetes-domain-name 为 svc.cluster.local,因此 endpoints 为 `http://mogha.mogdb-ha.svc.cluster.local:6544`。
+
+
+
+### 6.使用高可用组件
+
+如果之后创建的 MogDB 集群要使用高可用组件,则需要您在 MogDB manifest 中将 .spec.ha.scope 配置为 集群名称,.spec.ha.url 按需求设置ha组件的url。
+
+```yaml
+...
+sepc:
+ ha:
+ scope:
+ url:
+...
+```
+
+
+
+## 参数列表
+
+| 参数 | 含义 | 类型 | 默认值 |
+| -------------------------- | --------------------------------------- | ------ | --------------------- |
+| debug | 是否开启 debug 模式 | 布尔值 | true |
+| etcd-key | 存储相关信息时使用的 base path | 字符串 | "mogha" |
+| etcd-username | 连接 etcd 集群的用户 | 字符串 | "" |
+| etcd-password | 连接 etcd 集群的密码 | 字符串 | "" |
+| etcd-endpoints | 连接 etcd 集群的地址 | 字符串 | "127.0.0.1:2379" |
+| etcd-dial-timeout | 连接 etcd 集群的超时时间 | 整型 | 5 |
+| observe-period | 探测 mogdb 集群的间隔时间 | 整型 | 60 |
+| db-probe-period | 探测单个 mogdb 节点是否健康的间隔时间 | 整型 | 5 |
+| db-probe-failure-threshold | 判断单个 mogdb 节点异常的探测次数阈值 | 整型 | 3 |
+| mogdb-username | 连接 mogdb 集群的用户,一般情况不用指定 | 字符串 | operator 内置管理用户 |
+| mogdb-password | 连接 mogdb 集群的密码,一般情况不用指定 | 字符串 | operator 内置管理用户 |
+
+
+
+## 测试高可用组件
+
+### 测试1:删除service
+
+在[连接到 MogDB 集群](conntect-to-mogdb-cluster.md)中,我们观察到operator创建的服务,例如:
+
+```shell
+kubectl get svc -n mogdb-operator-system --selector="mogdb.enmotech.io/cluster=mogdb-cluster"
+```
+
+产生类似以下内容:
+
+```text
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+service/mogdb-cluster-svc-headless ClusterIP None 26000/TCP,9187/TCP 20m
+service/mogdb-cluster-svc-master NodePort 10.96.105.230 26000:30013/TCP 20m
+service/mogdb-cluster-svc-replicas NodePort 10.96.153.226 26000:30012/TCP 20m
+```
+
+在[连接到 MogDB 集群](conntect-to-mogdb-cluster.md)中,我们使用应用程序连接到mogdb-cluster-svc-master服务。尝试删除这个服务:
+
+```shell
+kubectl delete svc mogdb-cluster-svc-master -n mogdb-operator-system
+```
+
+这看起来可能会造成停机场景,再次运行查看服务的命令:
+
+```shell
+kubectl get svc -n mogdb-operator-system --selector="mogdb.enmotech.io/cluster=mogdb-cluster"
+```
+
+得到类似以下的内容:
+
+```text
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+service/mogdb-cluster-svc-headless ClusterIP None 26000/TCP,9187/TCP 20m
+service/mogdb-cluster-svc-master NodePort 10.96.88.238 26000:30013/TCP 3s
+service/mogdb-cluster-svc-replicas NodePort 10.96.153.226 26000:30012/TCP 20m
+```
+
+operator 检测到主服务已被删除并且重新创建了它!连接mogdb的应用程序有可能没注意到此次事件的发生。
+
+接下来尝试一些其他场景
+
+### 测试2:删除主节点
+
+StatefulSets是一个 Kubernetes 对象,它提供了有用的机制来管理与有状态应用程序(例如数据库)交互的 Pod。它们提供了管理 Pod 的稳定机制,以帮助确保可以以可预测的方式检索数据。
+
+如果我们删除代表 MogDB 主节点的 Pod 会发生什么?首先,我们通过以下命令查询主节点:
+
+```shell
+kubectl get pods -n mogdb-operator-system --selector="mogdb.enmotech.io/role=primary"
+```
+
+得到类似以下结果:
+
+```text
+NAME READY STATUS RESTARTS AGE
+mogdb-cluster-sts-z6kz6-0 2/2 Running 0 27m24s
+```
+
+删除这个pod:
+
+```shell
+kubectl delete pods mogdb-cluster-sts-z6kz6-0 -n mogdb-operator-system
+```
+
+此时查看主节点信息:
+
+```shell
+kubectl get pods -n mogdb-operator-system --selector="mogdb.enmotech.io/role=primary"
+```
+
+发现主节点已经切换到另外一个pod上:
+
+```text
+NAME READY STATUS RESTARTS AGE
+mogdb-cluster-sts-f5zqj-0 2/2 Running 0 27m35s
+```
+
+查看所有节点:
+
+```shell
+kubectl get pod -n mogdb-operator-system --selector="mogdb.enmotech.io/cluster=mogdb-cluster"
+```
+
+预期结果:
+
+```text
+NAME READY STATUS RESTARTS AGE
+pod/mogdb-cluster-sts-f5zqj-0 2/2 Running 0 27m42s
+pod/mogdb-cluster-sts-z6kz6-0 2/2 Running 0 11s
+```
+
+可以看到,在主节点down掉之后,不仅发生了主备切换,并且对删除了的节点进行了恢复,重新加入了集群。
+
+我们可以进入节点直接连接到MogDB实例并执行以下命令来验证他们的主备关系:
+
+```shell
+select pg_is_in_recovery();
+```
+
+如果返回结果为**f**,则MogDB实例是主库;如果返回结果为**t**,则MogDB实例是备库;
\ No newline at end of file
diff --git a/product/zh/docs-mogdb-stack/v3.0/tutorial/single-cluster/recovery-and-clone-mogdb-cluster.md b/product/zh/docs-mogdb-stack/v3.0/tutorial/single-cluster/recovery-and-clone-mogdb-cluster.md
new file mode 100644
index 0000000000000000000000000000000000000000..d61e5667cf8d9cec5de72b33ee0a848688e6a55f
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/tutorial/single-cluster/recovery-and-clone-mogdb-cluster.md
@@ -0,0 +1,120 @@
+---
+title: 恢复和克隆MogDB集群
+summary: 恢复和克隆MogDB集群
+author: Wang Dong
+date: 2022-07-12
+---
+
+# 恢复和克隆
+
+在项目环境中,自然灾害、人为错误、安全违规和勒索软件攻击都会破坏 IT 资源的可用性。所以,若要最大限度降低计划外宕机对业务造成的影响,那么灾难恢复计划的制定和实施就显得尤为重要。我们来看看 MogDB Stack 灾难恢复是怎样进行的吧。
+
+
+
+## 恢复自定义属性
+
+作为恢复过程的一部分,理解自定义资源上的几个属性非常重要。所有这些属性都分组在 **spec.restore** 自定义资源部分中。
+
+请查看以下内容了解每个属性在设置还原操作的上下文中如何工作。
+
++ **spec.restore.restoreId**:备份任务唯一ID,防止重复或者错误提交导致不必要的恢复生成
+
++ **spec.restore.image**:指定恢复所使用的镜像
+
++ **spec.restore.dataSource**:恢复所需要用的数据源,也就是备份文件产生的数据源
+
++ **spec.restore.dataSource.clusterName**:恢复所需要用的数据源的集群
+
+让我们通过一些示例来了解如何克隆和恢复数据库。
+
+
+
+## 根据对象恢复
+
+当您做过一次性备份之后,根据对象恢复将会是一个不错的选择。不过,要完成对象恢复,您还需要设置一些选项才能执行。这些属性包括在: **spec.restore.dataSource**
+
++ **type** 恢复的类型,指定时间 `time` 或者对象 `object`
+
++ **target** 恢复的目标
+
++ **backupType** 恢复的目标的备份对象所使用的备份类型
+
++ **storageProvider** 备份存储库配置
+
+在开始之前,对这些属性做一些说明:
+
++ 要执行对象恢复,那么就需要有指定对象进行恢复,所以在 **type** 指定为 **object** 时,**target** 则表示指定恢复的备份文件
+
++ 请务配置正确存储库
+
+假设我们想要执行根据对象恢复,我们可以在 spec 内容中添加 restore 相关信息,如下:
+
+```yaml
+spec:
+ restore:
+ restoreId: "001"
+ image: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/remote-client:3.0.0
+ dataSource:
+ clusterName: clusterName
+ type: "object"
+ target: dumpall-2023-09-07-02-34-20.tar.gz
+ backupType: dumpall
+ storageProvider:
+ rcloneStorage:
+ name: s3-remote
+ directory: backup
+```
+
+运行以下命令,将一次性备份配置示例填写于 **spec** 中,然后保存,产生如下类似结果:
+
+ ```shell
+ $ kubectl edit mogdbcluster mogdb-cluster -n mogdb-operator-system
+mogdbcluster.mogdb.enmotech.io/mogdb-cluster edited
+ ```
+
+此时,观察pods内容:
+
+```shell
+$ kubectl get pods
+NAME READY STATUS RESTARTS AGE
+mogdb-cluster-restore-ljwkd-x5dpn 1/1 Running 0 4s
+mogdb-cluster-backup-xlhgf-wbm2s 1/1 completed 0 23h
+mogdb-cluster-sts-f5zqj-0 2/2 Running 0 27h
+mogdb-cluster-sts-z6kz6-0 2/2 Running 0 27h
+mogdb-operator-controller-manager-86d4cfd876-gg986 1/1 Running 0 27h
+```
+
+您会发现一个关于 restore 的 pod 已经启动了,等待这个 pod 状态为 completed。这次一次性恢复就完成了!
+
+
+
+## 根据时间恢复
+
+您可能希望执行类似的恢复到发生某次梗改之前的状态,根据时间恢复可以帮助您做到这一点。
+
+根据时间恢复的配置和对象只有一些略微不通,只需要将 **spec.restore.dataSource.type** 的 指定为 **time**,并且将 **spec.restore.dataSource.target** 修改为类似 `2006-01-02T15:04:05.06` 时间格式的恢复时间点。
+
+> **注意**:您必须在恢复时间点之前有完成的备份。换句话说,您无法执行恢复到没有备份的时间!
+
+比如我们想要执行时间点恢复 2023-07-09 14:15:11-04之前的恢复,具体配置如下:
+
+```yaml
+restore:
+ restoreId: "002"
+ image: swr.cn-north-4.myhuaweicloud.com/mogdb-cloud/remote-client:3.0.0
+ dataSource:
+ clusterName: mogdb-cluster
+ type: "time"
+ target: "2023-07-09T14:15:11.04"
+ backupType: dumpall
+ storageProvider:
+ rcloneStorage:
+ name: s3-remote
+ directory: backup
+```
+
+
+
+## 克隆集群
+
+克隆集群与从备份中恢复过程相同,请参考恢复流程。
\ No newline at end of file
diff --git a/product/zh/docs-mogdb-stack/v3.0/tutorial/single-cluster/resize-a-mogdb-cluster.md b/product/zh/docs-mogdb-stack/v3.0/tutorial/single-cluster/resize-a-mogdb-cluster.md
new file mode 100644
index 0000000000000000000000000000000000000000..9838e471f8f6478c66c546260d74b8a8c1507e94
--- /dev/null
+++ b/product/zh/docs-mogdb-stack/v3.0/tutorial/single-cluster/resize-a-mogdb-cluster.md
@@ -0,0 +1,69 @@
+---
+title: 扩缩容
+summary: 扩缩容
+author: Wang Dong
+date: 2022-12-30
+---
+
+# 扩缩容 MogDB 集群
+
+在开始本章前,请确保您已正确依据[创建 MogDB 集群](create-a-mogdb-cluster.md)完成 MogDB 集群的安装。
+
+
+
+## 使用 manifest
+
+通过 manifest 执行扩缩容的步骤相同,此处合并讲解。
+
+### 1.修改 manifest
+
+确保 `.metadata.name` 与 `.metadata.namespace` 的内容与创建集群时保持一致后。修改 manifest 中 `.spec.replicas` 的数量到您期望的数量。
+
+```yaml
+apiVersion: mogdb.enmotech.io/v1
+kind: MogdbCluster
+...
+spec:
+ replicas: 3
+...
+```
+
+### 2.更新集群
+
+以下命令将对已存在的 mogdb 集群进行更新:
+
+```shell
+kubectl apply -f mogdb-cluster.yaml
+```
+
+期望输出:
+
+```shell
+mogdbcluster.mogdb.enmotech.io/mogdb-cluster configured
+```
+
+### 3.检查更新
+
+以下命令将检查 MogDB 节点是否正确运行:
+
+```shell
+kubectl get pod,svc -n mogdb-operator-system --selector="mogdb.enmotech.io/cluster=mogdb-cluster"
+```
+
+预期输出:
+
+```shell
+NAME READY STATUS RESTARTS AGE
+pod/mogdb-cluster-sts-jxtqn-0 3/3 Running 0 45m
+pod/mogdb-cluster-sts-nbg9l-0 3/3 Running 0 45m
+pod/mogdb-cluster-sts-fg24g-0 3/3 Running 0 71s
+
+NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+service/mogdb-cluster-svc-headless ClusterIP None 26000/TCP,9187/TCP 45m
+service/mogdb-cluster-svc-master NodePort 10.96.105.230 26000:30013/TCP 45m
+service/mogdb-cluster-svc-replicas NodePort 10.96.153.226 26000:30012/TCP 45m
+```
+
+其中 pod/mogdb-cluster-sts-fg24g-0 为新增节点。
+
+同理,修改的replicas数量小于当前节点数量将会执行缩容操作,停止一个从节点。
diff --git a/scripts/build_pdf.sh b/scripts/build_pdf.sh
index 4060a3d480db56824e03b6da82f03421e8e76849..55c28aa7b9c9e7e50127086bc98bb7477b82d564 100755
--- a/scripts/build_pdf.sh
+++ b/scripts/build_pdf.sh
@@ -192,7 +192,7 @@ declare -A mdbEnTitle=( \
["toc"]="MogDB-MDB-Reference" \
)
-stackDocsVersions=("v2.0")
+stackDocsVersions=("v3.0")
declare -A stackZnTitle=( \
["toc"]="MogDB-Stack-指南" \
diff --git a/src/utils/version_config.js b/src/utils/version_config.js
index 35b5346f8c4d99d31885dfe3f9d6e6cdb05383cb..d0a2a7828287772da22078fbd1e12d8794475e11 100644
--- a/src/utils/version_config.js
+++ b/src/utils/version_config.js
@@ -43,8 +43,13 @@ const allProductVersions = {
}
},
'mogdb-stack': {
- latestVersion: 'v2.0',
+ latestVersion: 'v3.0',
versions: {
+ 'v3.0': {
+ value: 'v3.0',
+ label: 'v3.0',
+ disabled: false
+ },
'v2.0': {
value: 'v2.0',
label: 'v2.0',