如何在 Kubernetes(k8s) 中配置和使用 GlusterFS 存储作为 PersistentVolume?
vmlearner01:
准备GlusterFS集群:确保GlusterFS集群已部署且卷(如gv0)创建完成。
安装依赖:在所有Kubernetes节点安装glusterfs-client:
apt-get install glusterfs-client # Debian/Ubuntu
yum install glusterfs-fuse # CentOS/RHEL
创建Endpoint/Service:定义GlusterFS节点IP(替换为实际IP):
apiVersion: v1
kind: Endpoints
metadata:
name: glusterfs-cluster
subsets:
- addresses:
- ip: 10.0.0.1
- ip: 10.0.0.2
ports:
- port: 49152 # GlusterFS默认端口
---
apiVersion: v1
kind: Service
metadata:
name: glusterfs-cluster
spec:
ports:
- port: 49152
创建PersistentVolume(静态配置):
apiVersion: v1
kind: PersistentVolume
metadata:
name: gluster-pv
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteMany
glusterfs:
endpoints: glusterfs-cluster
path: gv0 # GlusterFS卷名称
readOnly: false
persistentVolumeReclaimPolicy: Retain
创建PersistentVolumeClaim:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: gluster-pvc
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
挂载到Pod:
apiVersion: v1
kind: Pod
metadata:
name: app-pod
spec:
containers:
- name: app
image: nginx
volumeMounts:
- mountPath: /data
name: gluster-storage
volumes:
- name: gluster-storage
persistentVolumeClaim:
claimName: gluster-pvc
验证:进入Pod写入文件,检查GlusterFS卷中是否持久化数据。
515
2025-04-24 03:22:00