Helm 部署配置mongo+glusterfs分布式存储应用

Mongodb的集群搭建方式主要有三种,主从模式,Replica set模式,sharding模式, 三种模式各有优劣,适用于不同的场合,属Replica set应用最为广泛,主从模式现在用的较少,sharding模式最为完备,但配置维护较为复杂。

本次使用的方式是 Replica set模式

部署步骤

1、

Helm 部署配置mongo+glusterfs分布式存储应用_第1张图片

2、

先为mongodb创建一个新空间

kubectl create ns mongo-test

helm pull stable/mongodb -n mongo-test

下载会卡在pull 镜像这里

docker.io/bitnami/mongodb:4.2.4-debian-10-r0

我是快下班的时候安装的,等到第二天来就全部下载成功了。

3、

解压工程,用VS Code打开后如下图

Helm 部署配置mongo+glusterfs分布式存储应用_第2张图片

4、

需要解决三个问题

4.1、存储卷使用的是 glusterfs 而不是 nfs

        Helm 部署配置mongo+glusterfs分布式存储应用_第3张图片

需要改这个配置

然后再运行安装命令

在templates 的文件夹同级执行

helm install mongo . -f /values.yaml -n mongo-test

helm list -n mongo-test 

kubectl get all -n mongo-test 

Helm 部署配置mongo+glusterfs分布式存储应用_第4张图片

可以看到两个pvc已经创建成功。

打X 的是,下一个问题创建的对外访问服务。

4.2、提供对外访问的端口

新建 service.yaml 文件

apiVersion: v1
kind: Service
metadata:
  name: mongo-ha-service	#名称:随意
  labels:
    app: mongo			#部署的 redis-ha 名称
spec:
  ports:
  - name: mongo			#部署的 redis-ha 名称
    protocol: "TCP"			#TCP 协议
    port: 27017				
    nodePort: 30381		#此为外部连接k8s redis-ha 服务的端口
  selector:
    app: mongodb
  type: NodePort

kubectl apply -f service.yaml -n mongo-test

4.3、mongo访问的用户名密码信息怎么设置

Helm 部署配置mongo+glusterfs分布式存储应用_第5张图片

通过查看secrets.yaml文件,可以看出,root账号的密码,是在values.yaml中定义的

所以修改values.yaml中的配置

Helm 部署配置mongo+glusterfs分布式存储应用_第6张图片

以上4个问题都解决后,可以重新安装一次mongo

helm uninstall mongo

helm install mongo ...

然后Robo 3T 登陆,使用任一个master node的主机ip+对外端口号访问

Helm 部署配置mongo+glusterfs分布式存储应用_第7张图片

Helm 部署配置mongo+glusterfs分布式存储应用_第8张图片

即可成功登陆!

你可能感兴趣的:(docker,k8s,mongo)