溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

gitlab使用minio實(shí)現(xiàn)分布式存儲(chǔ)

發(fā)布時(shí)間:2020-09-07 23:32:38 來源:網(wǎng)絡(luò) 閱讀:1694 作者:羊皮裘老頭 欄目:云計(jì)算

1、分布式優(yōu)勢

1.minio分布式介紹

分布式模式下的MinIO使您可以將多個(gè)驅(qū)動(dòng)器(甚至在不同的計(jì)算機(jī)上)合并到一個(gè)對象存儲(chǔ)服務(wù)器中。由于驅(qū)動(dòng)器分布在多個(gè)節(jié)點(diǎn)上,因此分布式MinIO可以承受多個(gè)節(jié)點(diǎn)故障,但仍可以確保完整的數(shù)據(jù)保護(hù)。

分布式模式下的MinIO可以幫助您通過單個(gè)對象存儲(chǔ)部署來設(shè)置高可用性存儲(chǔ)系統(tǒng)。借助分布式MinIO,無論存儲(chǔ)設(shè)備在網(wǎng)絡(luò)中的位置如何,您都可以最佳地使用存儲(chǔ)設(shè)備。

2.數(shù)據(jù)保護(hù)

分布式MinIO 使用擦除代碼提供針對多個(gè)節(jié)點(diǎn)/驅(qū)動(dòng)器故障和位腐爛的保護(hù)。由于分布式MinIO所需的最小磁盤為4(與擦除編碼所需的最小磁盤相同),因此在啟動(dòng)分布式MinIO時(shí),擦除代碼會(huì)自動(dòng)啟動(dòng)。

3.高可用性

如果托管磁盤的服務(wù)器脫機(jī),則獨(dú)立的MinIO服務(wù)器將關(guān)閉。相反,只要n / 2個(gè)或更多磁盤在線,具有n個(gè)磁盤的分布式MinIO設(shè)置將使您的數(shù)據(jù)安全。不過,您至少需要(n / 2 + 1)個(gè)法定磁盤來創(chuàng)建新對象。

例如,即使最多有8臺服務(wù)器處于脫機(jī)狀態(tài),一個(gè)16節(jié)點(diǎn)的分布式MinIO設(shè)置(每個(gè)節(jié)點(diǎn)具有16個(gè)磁盤)仍可繼續(xù)提供文件。但是,您至少需要在線9臺服務(wù)器才能創(chuàng)建新對象。

4.限度

與獨(dú)立模式下的MinIO一樣,分布式MinIO的每個(gè)租戶限制為最少2個(gè),最多32個(gè)服務(wù)器。這些服務(wù)器上的磁盤數(shù)量沒有限制。如果您需要多租戶設(shè)置,則可以輕松啟動(dòng)由協(xié)調(diào)工具(如Kubernetes,Docker Swarm等)管理的多個(gè)MinIO實(shí)例。

請注意,使用分布式MinIO,只要遵守限制,就可以處理節(jié)點(diǎn)和驅(qū)動(dòng)器的數(shù)量。例如,您可以有2個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)4個(gè)驅(qū)動(dòng)器,4個(gè)節(jié)點(diǎn)每個(gè)4個(gè)驅(qū)動(dòng)器,8個(gè)節(jié)點(diǎn)每個(gè)2個(gè)驅(qū)動(dòng)器,32個(gè)服務(wù)器每個(gè)64個(gè)驅(qū)動(dòng)器,依此類推。

5.一致性保證

MinIO遵循嚴(yán)格的讀后寫和列表后讀 /一致性模型的所有輸入輸出都在分布式和獨(dú)立模式操作。

2、使用Helm Chart部署MinIO

前提條件:

1.一個(gè)k8s集群

2.具備helm環(huán)境

1.部署minio

創(chuàng)建minio需要的pv

#vim??pv1.yaml
apiVersion:?v1
kind:?PersistentVolume
metadata:
??name:?minio-pv1
spec:
??capacity:
????storage:?10Gi
??volumeMode:?Filesystem
??accessModes:
??-??ReadWriteOnce
??persistentVolumeReclaimPolicy:?Retain
??hostPath:
????path:?/helm/minio/pv1

在此使用的是hostpath,在worker節(jié)點(diǎn)創(chuàng)建相應(yīng)的目錄。

gitlab使用minio實(shí)現(xiàn)分布式存儲(chǔ)

2.安裝minio

#先拉到本地在安裝
helm??pull??stable/minio
tar??-zxvf??minio-3.0.4.tgz
helm??install??minio??./minio

#或者直接安裝
helm??install??minio??stable/minio

gitlab使用minio實(shí)現(xiàn)分布式存儲(chǔ)

查看pod

gitlab使用minio實(shí)現(xiàn)分布式存儲(chǔ)

3.登錄訪問minio

默認(rèn)參數(shù):

gitlab使用minio實(shí)現(xiàn)分布式存儲(chǔ)

訪問web界面

gitlab使用minio實(shí)現(xiàn)分布式存儲(chǔ)

gitlab使用minio實(shí)現(xiàn)分布式存儲(chǔ)

access Key和secret Key都是默認(rèn)的,上圖配置中

gitlab使用minio實(shí)現(xiàn)分布式存儲(chǔ)

3、gitlab和minio進(jìn)行關(guān)聯(lián)

kubectl get deploy minio -oyaml??? 查看關(guān)聯(lián)Key

gitlab使用minio實(shí)現(xiàn)分布式存儲(chǔ)

在gitlab的yaml文件中添加

kubectl edit deploy gitlab-gitlab-ce

-?name:?MINIO_ACCESS_KEY
?valueFrom:
??secretKeyRef:
???key:?accesskey
???name:?minio
-?name:?MINIO_SECRET_KEY
?valueFrom:
??secretKeyRef:
???key:?secretkey
???name:?minio

gitlab使用minio實(shí)現(xiàn)分布式存儲(chǔ)

查看到狀態(tài)正常

gitlab使用minio實(shí)現(xiàn)分布式存儲(chǔ)

登錄gotlab創(chuàng)建一個(gè)文件

gitlab使用minio實(shí)現(xiàn)分布式存儲(chǔ)

刪除原來的pod

gitlab使用minio實(shí)現(xiàn)分布式存儲(chǔ)

gitlab的pod啟動(dòng)時(shí)間有點(diǎn)長,等啟動(dòng)完成訪問界面可以看到

gitlab使用minio實(shí)現(xiàn)分布式存儲(chǔ)

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI