Helm 部署配置mongo+glusterfs分佈式存儲應用

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+對外端口號訪問

即可成功登陸!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章