Mongodb的集群搭建方式主要有三种,主从模式,Replica set模式,sharding模式, 三种模式各有优劣,适用于不同的场合,属Replica set应用最为广泛,主从模式现在用的较少,sharding模式最为完备,但配置维护较为复杂。
本次使用的方式是 Replica set模式
部署步骤
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打开后如下图
4、
需要解决三个问题
4.1、存储卷使用的是 glusterfs 而不是 nfs
需要改这个配置
然后再运行安装命令
在templates 的文件夹同级执行
helm install mongo . -f /values.yaml -n mongo-test
helm list -n mongo-test
kubectl get all -n mongo-test
可以看到两个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访问的用户名密码信息怎么设置
通过查看secrets.yaml文件,可以看出,root账号的密码,是在values.yaml中定义的
所以修改values.yaml中的配置
以上4个问题都解决后,可以重新安装一次mongo
helm uninstall mongo
helm install mongo ...
然后Robo 3T 登陆,使用任一个master node的主机ip+对外端口号访问
即可成功登陆!