- 关于MogDB Stack
- 快速上手
- 软件安装
- 使用手册
- 架构
- 参考
- 命令行
- mgo
- mgo create
- mgo create mgorole
- mgo create mgouser
- mgo create cluster
- mgo show
- mgo show k8s
- mgo show mgorole
- mgo show mgouser
- mgo show cluster
- mgo show restore
- mgo delete
- mgo delete mgorole
- mgo delete mgouser
- mgo delete cluster
- mgo delete backup
- mgo delete k8s
- mgo scale
- mgo scaledown
- mgo switch
- mgo update
- mgo update mgorole
- mgo update mgouser
- mgo update cluster
- mgo version
- mgo addk8s
- mgo localk8s
- mgo backup
- mgo backup detail
- mgo restore
- mgo minio
- mgo minio object
- mgo minio object ls
- mgo minio object stat
- mgo minio object getf
- 服务端
- 命令行
- FAQ
- 发布记录
创建 MogDB 集群
在开始本章前,请确保您已正确依据开始完成 MogDB 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 repositorieshelm 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 Kubernetes2.部署 MogDB Cluster 集群
helm install mycluster mogdb-stack/mogdb-cluster --namespace mogdb-operator-system期望输出:
mogdbcluster.mogdb.enmotech.io/cluster1 created注意:
- 关于 Helm 中详细的参数定义,请查看values相关配置;
- 默认情况下使用您 kubernetes 集群中的
local-path存储类,以及30012和30013端口用于读写; - 默认情况下不开启高可用,若要开启高可用,请确保您已经注册高可用组件,并设置
enableHa为true; - 如果需要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-examplesMogDB Operator安装项目在kustomize目录下。
1.创建 MogDB Cluster
kubectl apply -k kustomize/mogdb-cluster期望输出:
mogdbcluster.mogdb.enmotech.io/cluster1 created注意:
- 默认情况下使用您 kubernetes 集群中的
local-path存储类,以及30012和30013端口用于读写; - 默认情况下不开启高可用,若要开启高可用,请确保您已经注册高可用组件,并设置
enableHa为true; - 如果需要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状态,意味着集群创建成功。