GlusterFS
是一個開源的分布式文件,具有強(qiáng)大的橫向擴(kuò)展能力,可支持?jǐn)?shù)PB存儲容量和數(shù)千客戶端,通過網(wǎng)絡(luò)互連成一個并行的網(wǎng)絡(luò)文件系統(tǒng)。具有擴(kuò)展性、高性能、高可用性等特點(diǎn)。
前提:必須要在實(shí)驗(yàn)環(huán)境中部署了Gluster FS集群,文中創(chuàng)建了名為:gv0的存儲卷
1.創(chuàng)建endpoint
,文件名為glusterfs_ep.yaml
$ vi glusterfs_ep.yaml
apiVersion: v1
kind: Endpoints
metadata:
name: glusterfs
namespace: default
subsets:
# 添加GlusterFS各個集群的IP地址
- addresses:
- ip: 10.0.0.41
- ip: 10.0.0.42
ports:
# 添加GlusterFS端口號
- port: 49152
protocol: TCP
執(zhí)行yaml
$ kubectl create -f glusterfs_ep.yaml
endpoints/glusterfs created
// 查看創(chuàng)建好的endpoints
[root@k8s-master01 ~]# kubectl get ep
NAME ENDPOINTS AGE
glusterfs 10.0.0.41:49152,10.0.0.42:49152 15s
2.為該endpoint創(chuàng)建svc
Endpoint是GlusterFS的集群節(jié)點(diǎn),那么需要訪問到這些節(jié)點(diǎn),就需要創(chuàng)建svc
$ vi glusterfs_svc.yaml
apiVersion: v1
kind: Service
metadata:
# 該名稱必須要和endpoint里的name一致
name: glusterfs
spec:
ports:
- port: 49152
protocol: TCP
targetPort: 49152
sessionAffinity: None
type: ClusterIP
執(zhí)行yaml
$ kubectl create -f glusterfs_svc.yaml
service/glusterfs created
$ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
glusterfs ClusterIP 10.1.104.145 <none> 49152/TCP 20s
3.為Glusterfs創(chuàng)建pv
$ vi glusterfs_pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: gluster
labels:
type: glusterfs
spec:
capacity:
# 指定該pv的容量
storage: 50Gi
accessModes:
- ReadWriteMany
glusterfs:
# 指定glusterfs的endpoint名稱
endpoints: "glusterfs"
# path名稱是在glusterfs里創(chuàng)建的卷
# 可登錄到glusterfs集群執(zhí)行"gluster volume list"命令來查看已創(chuàng)建的卷
path: "gv0"
readOnly: false
執(zhí)行yaml
$ kubectl create -f glusterfs_pv.yaml
persistentvolume/gluster created
$ kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
gluster 50Gi RWX Retain Available 10s
4.為Glusterfs創(chuàng)建pvc
$ vi glusterfs_pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
# 名稱必須和指定的pv一致
name: gluster
spec:
accessModes:
- ReadWriteMany
resources:
requests:
# 指定該pvc使用pv的容量空間
storage: 20Gi
執(zhí)行yaml
$ kubectl create -f glusterfs_pvc.yaml
persistentvolumeclaim/gluster created
$ kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
gluster Bound gluster 50Gi RWX 83s
5.創(chuàng)建nginx pod并掛載到cluster的pvc nginx_pod.yaml
$ vim nginx-demo.yaml
---
# Pod
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
app: web
env: test
spec:
containers:
- name: nginx
image: nginx:1.13
ports:
- containerPort: 80
volumeMounts:
- name: data-gv0
mountPath: /usr/share/nginx/html
volumes:
- name: data-gv0
persistentVolumeClaim:
# 綁定指定的pv
claimName: gluster
執(zhí)行yaml
$ kubectl create -f nginx-demo.yaml
pod/nginx created
[root@k8s-master01 ~]# kubectl get pods | grep "nginx"
nginx 1/1 Running 0 2m 10.244.1.222 k8s-node01 <none> <none>
在任意客戶端掛載/mnt
到glusterfs目錄
,然后創(chuàng)建一個index.html
文件
$ mount -t glusterfs k8s-store01:/gv0 /mnt/
$ cd /mnt && echo "this nginx store used gluterfs cluster" >index.html
在master節(jié)點(diǎn)上通過curl訪問pod
$ curl 10.244.1.220/index.html
this nginx store used gluterfs cluster
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
文章標(biāo)題:Kubernetes持久化存儲之GlusterFS-創(chuàng)新互聯(lián)
鏈接URL:http://www.rwnh.cn/article16/dghjdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站改版、定制網(wǎng)站、搜索引擎優(yōu)化、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)