文档中心MogDBMogDB StackUqbar

文档:v2.0

支持的版本:

创建 MogDB 集群

在开始本章前,请确保您已正确依据开始完成 MogDB Stack 的安装与配置。

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

我们建议使用 mgo 客户端方式。


使用 mgo 客户端

1.创建 MogDB 集群

以下命令将在 mgo 默认命名空间中创建具有默认配置的 MogDB 集群,更多信息请参考 mgo create cluster

mgo create cluster cluster1

期望输出:

created cluster: cluster1

此操作可能需要一些时间才能完成。


2.检查安装

以下命令将查询创建的集群的状态和信息,更多信息请参考 mgo show cluster

mgo show cluster cluster1

当集群创建完毕后,期望输出如下:

cluster : cluster1
 pod : cluster1-ib7zq (Running) on mogdb-k8s-001 (3/3) (primary)
 pod : cluster1-rtwdz (Running) on mogdb-k8s-002 (3/3) (standby)
 service : cluster1-svc-master - ClusterIP (10.1.149.4) - Ports (5432:30013/TCP)
 service : cluster1-svc-replicas - ClusterIP (10.1.175.46) - Ports (5432:30012/TCP)

3.创建集群过程

首先,mgo 客户端在自定义资源 mogdbcluster 中创建一个条目,其中包含创建集群所需的属性。 在上面的例子中,mogdb 集群利用了 MogDB Operator 配置中的许多默认值。例如,默认两个从节点。

我们将在本教程后面讨论有关 MogDB Operator 配置的更多信息。


使用 helm

1. 添加MogDB Stack仓库

helm repo add mogdb-stack https://enmotech.github.io/mogdb-stack-examples/helm/charts

期望输出:

"mogdb-stack" has been added to your repositories
helm search repo mogdb-stack

期望输出:

NAME                        CHART VERSION APP VERSION DESCRIPTION
mogdb-stack/mogdb-apiserver 2.0.0         2.0.0       A Helm chart for Kubernetes
mogdb-stack/mogdb-cluster   2.0.0         2.0.0       A Helm chart for Kubernetes
mogdb-stack/mogdb-monitor   2.0.0         2.0.0       A Helm chart for Kubernetes
mogdb-stack/mogdb-operator  2.0.0         2.0.0       A Helm chart for Kubernetes
mogdb-stack/mogha           2.0.0         2.0.0       A Helm chart for Kubernetes

2.部署 MogDB Cluster 集群

helm install mycluster mogdb-stack/mogdb-cluster --namespace mogdb-operator-system

期望输出:

mogdbcluster.mogdb.enmotech.io/cluster1 created

注意:

  • 关于 Helm 中详细的参数定义,请查看values相关配置;
  • 默认情况下使用您 kubernetes 集群中的local-path存储类,以及 3001230013 端口用于读写;
  • 默认情况下不开启高可用,若要开启高可用,请确保您已经注册高可用组件,并设置 enableHatrue
  • 如果需要ha功能,需要提前安装ha模块,详细请参看installation/helm章节;

3.检查安装

以下命令将检查 MogDB 节点是否正确运行:

kubectl get pod,svc -n mogdb-operator-system --selector="mogdb.enmotech.io/cluster=cluster1"

预期输出:

NAME                 READY   STATUS    RESTARTS   AGE
pod/cluster1-lhomu   2/2     Running   0          3m
pod/cluster1-tygxc   2/2     Running   0          3m17s

NAME                            TYPE       CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
service/cluster1-svc-master     NodePort   10.106.99.88   <none>        5432:30013/TCP   3m17s
service/cluster1-svc-replicas   NodePort   10.96.219.62   <none>        5432:30012/TCP   3m17s

等待所有Pod资源处于Running状态,意味着集群创建成功。

使用 Kustomize

前置条件

  • 安装Kustomize v3+

    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

    fork仓库之后,您可以通过类似如下的命令下载至本地:

    YOUR_GITHUB_UN="<your GitHub username>"
    git clone --depth 1 "git@github.com:${YOUR_GITHUB_UN}/mogdb-stack-examples.git"
    cd mogdb-stack-examples

    MogDB Operator安装项目在kustomize目录下。

1.创建 MogDB Cluster

kubectl apply -k kustomize/mogdb-cluster

期望输出:

mogdbcluster.mogdb.enmotech.io/cluster1 created

注意:

  • 默认情况下使用您 kubernetes 集群中的 local-path存储类,以及 3001230013 端口用于读写;
  • 默认情况下不开启高可用,若要开启高可用,请确保您已经注册高可用组件,并设置 enableHatrue
  • 如果需要ha功能,需要提前安装ha模块,详细请参看installation/helm章节;
  • 如果需要定制化,请查看kustomize目录下,有各种见场景的安装example;

2.检查安装

以下命令将检查 MogDB 节点是否正确运行:

kubectl get pod,svc -n mogdb-operator-system --selector="mogdb.enmotech.io/cluster=cluster1"

期望输出:

NAME                 READY   STATUS    RESTARTS   AGE
pod/cluster1-8gkok   2/2     Running   0          3m8s
pod/cluster1-bqv8m   2/2     Running   0          4m

NAME                            TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
service/cluster1-svc-master     NodePort   10.96.117.172   <none>        5432:30013/TCP   4m
service/cluster1-svc-replicas   NodePort   10.96.103.146   <none>        5432:30012/TCP   4m

等待所有Pod资源处于Running状态,意味着集群创建成功。

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